[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-cygwin
Subject:    Re: [PATCH]Mouse-over effects don't work properly in QToolBox
From:       Holger Schroeder <holger-kde () holgis ! net>
Date:       2004-12-17 0:45:52
Message-ID: 200412170145.52197.holger-kde () holgis ! net
[Download RAW message or body]

Hi,

perhaps you can try to look into the history of the file. iirc there were some 
problems with double buffering in the past, and to see anything at all, 
double buffering was disabled under Q_WS_WIN.

while being at it, it could be useful to do a full diff between the cvs 
sources and the official trolltech qt 3.3.x sources. perhaps it will show 
some more differences in the "official" files.

hth, Holger

On Friday 17 December 2004 01:34, REGAT-BARREL Aurelien wrote:
> Hi,
> I spent lots of time tracing execution with the debuger, and I didn't find
> a place in *win.cpp code which seems to be responsible. The point of my
> interest is now qbutton.cpp, in paintEvent function (line 880) : /*!
>     Handles paint events for buttons. Small and typically complex
>     buttons are painted double-buffered to reduce flicker. The
>     actually drawing is done in the virtual functions drawButton() and
>     drawButtonLabel().
>     \sa drawButton(), drawButtonLabel()
> */
> void QButton::paintEvent( QPaintEvent *)
> {
> #ifdef Q_WS_WIN
>     QPainter p( this );
>     drawButton (&p);
> #else
>     QSharedDoubleBuffer buffer( this );
>     drawButton( buffer.painter() );
> #endif
> }
>
> I tried to change the #ifdef in order to use the double buffering as the
> comments suggest, and... it works! In fact, clearing the QPainter is
> missing, the following code works too:
>
> #ifdef Q_WS_WIN
>     QPainter p( this );
>     p.eraseRect( this->rect() );    <- added
>     drawButton (&p);
> #else
>
> So I looked in qbutton.cpp from qt-x11-free-3.3.3 and found this:
>
> void QButton::paintEvent( QPaintEvent *)
> {
>     QSharedDoubleBuffer buffer( this );
>     drawButton( buffer.painter() );
> }
>
> So I am wondering where does this #ifdef Q_WS_WIN comes from ? What do you
> think about using the double buffer which is what is used in last Qt X11
> release ?
>
> Regards.
>
>
> Aurelien REGAT-BARREL
>
>
>
>
>
> ---------------------------------
>  Découvrez le nouveau Yahoo! Mail : 250 Mo d'espace de stockage pour vos
> mails ! Créez votre Yahoo! Mail

_______________________________________________
kde-cygwin mailing list
kde-cygwin@kde.org
https://mail.kde.org/mailman/listinfo/kde-cygwin

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic