[Lazarus] Calling DrawFocusRect() outside the Paint() event

Mattias Gaertner nc-gaertnma at netcologne.de
Mon Oct 10 13:21:41 CEST 2016


On Mon, 10 Oct 2016 12:50:26 +0200 (CEST)
Michael Van Canneyt <michael at freepascal.org> wrote:

> On Mon, 10 Oct 2016, Mattias Gaertner via Lazarus wrote:
> 
> > On Mon, 10 Oct 2016 12:05:41 +0200 (CEST)
> > Michael Van Canneyt via Lazarus <lazarus at lists.lazarus-ide.org> wrote:
> >  
> >> [...]  
> >> > If you want to optimize for mini changes like the focusrect you might
> >> > want to use a bitmap.   
> >> 
> >> Please explain ?  
> >
> > Draw to a bitmap and in OnPaint draw that. Similar to a TImage.
> > Then you can also use aggpas.  
> 
> I thought lazarus did double buffering by default, so this should be so automatically ?

Double buffering means, that there are two buffers, one for showing and
for painting. When painting is done they are "swapped".
This avoids flickering. No more, no less.
What happens with the second buffer between two paint events is up to the widgetset.
The buffer often does not contain your last painted bitmap.


Mattias


More information about the Lazarus mailing list