New class KWidgetBlendAnimation
kretz at kde.org
Thu Jan 31 20:54:18 GMT 2008
On Thursday 31 January 2008, Frerich Raabe wrote:
> Hi Matthias,
> Matthias Kretz schrieb:
> > while playing with possible UI effects I think I found a rather useful
> > one: Fade UI changes.
> > The class is attached. Please comment on the naming, usefulness, dox and
> > whether we want to have it in kdeui for 4.1. (I want to use it in my
> > Phonon KCM unless I can be convinced that there's a better UI hint than
> > this animation).
> I didn't build your class but I just looked at the code a bit and wondered:
> Why do you grab a pixmap of the to-be-changed-widget in the constructor
> (and then install an event filter on the widget so that you get all
> paint events so you can update your pixmap)?
> Isn't it possible to just grab a pixmap within start()? Hmm, you'd need
> to show something until start() is called. Maybe you could hide()
> yourself, or make yourself transparent, or resize to 0x0 pixels or so?
I tried many things but so far this is the only way to reliably get a pixmap
of the updated widget. Calling grabWidget in start() gives the old pixmap,
calling grabWidget the first time paintEvent is called also gives the old
I did not try to hide the animation widget as I don't want to have any
flicker. The widget that gets grabbed may not draw its updated version on
screen until the animation is over.
QPainter::setRedirected is pretty useless, too. It would be so easy to just
redirect all paints of the original widget into the pixmap. But that doesn't
work at all.
Matthias Kretz (Germany) <><
MatthiasKretz at gmx.net, kretz at kde.org,
Matthias.Kretz at urz.uni-heidelberg.de
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 189 bytes
Desc: This is a digitally signed message part.
More information about the kde-core-devel