On Jan 31, 2008 9:54 PM, Matthias Kretz <<a href="mailto:kretz@kde.org">kretz@kde.org</a>> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="Wj3C7c">On Thursday 31 January 2008, Frerich Raabe wrote:<br>> Hi Matthias,<br>><br>> Matthias Kretz schrieb:<br>> > while playing with possible UI effects I think I found a rather useful<br>
> > one: Fade UI changes.<br>><br>> [..]<br>><br>> > The class is attached. Please comment on the naming, usefulness, dox and<br>> > whether we want to have it in kdeui for 4.1. (I want to use it in my<br>
> > Phonon KCM unless I can be convinced that there's a better UI hint than<br>> > this animation).<br>><br>> I didn't build your class but I just looked at the code a bit and wondered:<br>><br>
> Why do you grab a pixmap of the to-be-changed-widget in the constructor<br>> (and then install an event filter on the widget so that you get all<br>> paint events so you can update your pixmap)?<br>><br>> Isn't it possible to just grab a pixmap within start()? Hmm, you'd need<br>
> to show something until start() is called. Maybe you could hide()<br>> yourself, or make yourself transparent, or resize to 0x0 pixels or so?<br><br></div></div>I tried many things but so far this is the only way to reliably get a pixmap<br>
of the updated widget. Calling grabWidget in start() gives the old pixmap,<br>calling grabWidget the first time paintEvent is called also gives the old<br>pixmap.<br><br>I did not try to hide the animation widget as I don't want to have any<br>
flicker. The widget that gets grabbed may not draw its updated version on<br>screen until the animation is over.</blockquote><div><br>With Qt 4.4 you get no flickering on those hide()s. That's the alien widgets fun. =)<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>QPainter::setRedirected is pretty useless, too. It would be so easy to just<br>
redirect all paints of the original widget into the pixmap. But that doesn't<br>work at all.</blockquote><div><br> </div></div>Bye,<br>-Riccardo<br>-- <br>GPG key:<br>3D0F6376<br>When encrypting, please encrypt also for this subkey:<br>
9EBD7FE1<br>-----<br>Pace Peace Paix Paz Frieden Pax Pokój Friður Fred Béke 和平<br>Hasiti Lapé Hetep Malu Mир Wolakota Santiphap Irini Peoch<br>Shanti Vrede Baris Rój Mír Taika Rongo Sulh Mir Py'guapy 평화