Hi,

I am just making a wild guess, so  if it sounds absurd, please ignore. :-)

How about creating a dummy invisible button, and use that one as a buffer
for all the other buttons. So, everytime you need to update a button, rather
make the dummy what you want, then somehow copy the canvas of the dummy into
the canvas of the actual button. I think if this would work it will
eliminate flicker and shouldn't be too much overhead.

Charl

On 5/29/07, A.J. Venter <[EMAIL PROTECTED]> wrote:

> DoubleBuffered is a hint for the interface.
> The gtk2 intf always paints double buffered for each gdkwindow.
> That means paint events are double buffered, other painting not. The
> gtk1 intf has almost no doublebuffering. I'm not sure about
> the other interfaces.
Aaah okay, that makes sense.
>
> I only did a small test: The gtk intf only paints once per Invalidate
> and there I see no flicker at all. That's because the bitbtn glyph
> handle is a memory handle and not an image on the screen. Maybe the
> win32 intf is creating a screen handle? That would explain the
> flickering.
This is a GTK1 app.
The catch is that if I don't call invalidate, the buttons go entirely
blank instead of merely being grayed out, this includes the captions.
If I DO call invalidate, I end up with a whole LOT of repaints all the
time - which is... well ugly to say the least.

I am still not sure how best to approach this. Shouldn't the buttons
remain in their last state, repainted when "damaged" until such time
as they are changed ? I'm not even moving anything here just painting
some info onto SOME of the buttons and updating those periodically
while setting the others disabled until such time as they are in use.

And it's the DISABLED buttons which are giving me grief, the enabled
once have a very slight flicker but it's actually almost nothing
(again I don't know why that would be).
--
A.J. Venter
CEO - OutKast Solutions C.C.
http://www.outkastsolutions.co.za
Cell: +27 83 455 9978
Fax: +27 21 413 2800
Office: +27 21 591 6766

_________________________________________________________________
     To unsubscribe: mail [EMAIL PROTECTED] with
                "unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives




--
"I love deadlines. I especially love the whooshing sound they make as they
fly by." - Douglas Adams

Reply via email to