> Both approaches are mutually exclusive and require a separated code. Even a > general concept how a GUI library works is separated for both ways.
I don't agree. It's mostly the existing distinction between `peekEvent` vs `waitForEvent`. > It is usually done via canvas widget. So that widget is needed. And this mean > just abilities to drawing in the library. Yes, but there is a difference between "here is a canvas widget" and "every widget was built on top of this canvas and so should be yours".