[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