[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: Re: New class KWidgetBlendAnimation
From: Matthias Kretz <kretz () kde ! org>
Date: 2008-01-31 20:54:18
Message-ID: 200801312154.22683.kretz () kde ! org
[Download RAW message or body]
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
pixmap.
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) <><
http://Vir.homelinux.org/
MatthiasKretz@gmx.net, kretz@kde.org,
Matthias.Kretz@urz.uni-heidelberg.de
["signature.asc" (application/pgp-signature)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic