Petr Kristan schrieb:

In the beginning of Grid paint is Canvas.GetClipRect called to obtain area
which wee must redraw. This function directly calls WidgetSet.GetClipBox.
I find out difference betwen Win32 and gtk2 bahaviour of this func.

In gtk2 TGtk2WidgetSet.GetClipBox returns previously Invalidated area
(through DC.PaintRectangle = PS.rcPaint retrieved in BeginPaint)

But in win32 directly calls Windows.GetClipBox, but this func returns
whole grid area. Do not takes account on invalidated area retrieved in
BeginPaint.

It may be a bug in the Win32 widgetset, invalidating the entire control area instead of only the affected cell, *or* some special handling of invalidated areas by Windows. I remember that Windows used to extend the UpdateRect to include *all* invalidated parts of the DC. This can lead to a big update area, when a single bit at the top left and at the bottom right of the DC was invalidated. This may have changed in the meantime, though.

DoDi


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to