James Chandler Jr wrote:
Hi Giuliano

The Carbon Lazarus works great with invalidate and the OnPaint events, as far as I've been able to tell. Mac double-buffering on the screen well-guarantees no flicker. And it is true that invalidate can be called multiple times before the event loop gets around to calling OnPaint.

But there is an expense with the double-buffering and 'delayed flush'-- Sometimes this circuitous route involving many messages, can cause 'slightly slow' screen updates. If an OnPaint does a lot of drawing and calculating (which sometimes can't be done in advance), the new screen draw appears very quick and clean onscreen, but there is some latency where nothing happens on the screen, before this quick clean change suddenly appears.


You can invalidate only the area that needs update using LCLIntf.InvalidateRect. Then you can get the update rect using the TLMPaint message. With this you can speed the drawing but will require a more sophisticated algorithm to define what to draw.

Luiz

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

Reply via email to