> > I'm implementing a QPA plugin (now with 5.3 snapshot) and there's something
> > I do not understand: When I use native widgets, every widget creates a
> > QPlatformWindow, but only a toplevel window creates a
> > QPlatformBackingStore, which is the class which delivers the paintDevice
> > implementation.
> > 
> > Question: when a QWidget now creates a QPainter on it, how does my QPA
> > plugin know onto which QWindow it is currently acting, when there's only
> > one paintDevice/one backing store ?

Native child windows will work, yes. There is no difference from the 
backingstore's point of view. There is one backingstore (and so one instance of 
your QPlatformBackingStore implementation) per top-level and for each child 
window, native or non-native, painting happens in the same manner.

As for the painting step, QPA has almost nothing to do with it: you merely 
provide a QPaintDevice, the rest is up to the widgets. The QPA plugin has no 
knowledge or interest in what's happening in there. The interesting part is the 
flush that happens afterwards, and in flush() you will of course know which 
QWindow is being flushed.

Cheers,
Laszlo

_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to