Same thing further down in TCarbonDeviceContext.GetTextExtentPoint. If BeginTextRender fails due to a blank string, it should probably set Size.cx and Size.cy to 0, which would probably make sense to calling code (that is, the width of the string is 0). I notified Tomas of the issue with passing a blank string to BeginTextRender last week but he's been on holiday.
Thanks. -Phil -----Original Message----- From: Paul Ishenin [mailto:[EMAIL PROTECTED] Sent: Thursday, July 12, 2007 5:53 AM To: [email protected] Subject: Re: [lazarus] Carbon native IDE Felipe Monteiro de Carvalho пишет: > Hi, > > I just tested the Lazarus IDE with carbon, and it loads and looks > reasonable: > > http://magnifier.sourceforge.net/photos/Fullscreen_1.png > > =) > > It cannot be used, because SynEdit doesn't work (lot's of bugs: no > Caret, when moves around the text the new text is painted over the old > text, no scrollbars, etc, etc). > > But, nevertheless, it's a great progress already =) After experience with patching same issues in qt I have an idea. Felipe, can you correct TCarbonDeviceContext.ExtTextOut a bit and retest? Look at code. if not BeginTextRender(Str, Count, TextLayout) then Exit; SynEdit uses ExtTextOut to fill background. To do this SynEdit passes Empty Str argument and Count = 0. As result BeginTextRender return False and no bg filling will happen. So if (Options and ETO_OPAQUE) <> 0 then backgound should be filled inspite of BeginTextRendere = False. Best regards, Paul Ishenin. _________________________________________________________________ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _________________________________________________________________ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
