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

Reply via email to