[Lazarus] Calling DrawFocusRect() outside the Paint() event
Michael Van Canneyt
michael at freepascal.org
Mon Oct 10 14:05:56 CEST 2016
On Mon, 10 Oct 2016, Mattias Gaertner via Lazarus wrote:
> 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.
I understand that.
But the effect is that inside the Paint() event you are actually drawing to a bitmap (buffer),
which is then swapped to the display once the paint method is done ?
So why would I want to introduce a third buffer, which is then copied to the
second, which is then copied to the actual display ?
I thought the idea was to be more efficient, not less ?
Michael.
More information about the Lazarus
mailing list