textextent test: Fixes rendering for widgetsets which correctly apply the Brush under TextOut

git-svn-id: trunk@33564 -
This commit is contained in:
sekelsenmat 2011-11-16 12:52:23 +00:00
parent 027d11ac6a
commit 1e32edd4db
2 changed files with 40 additions and 1 deletions

View File

@ -41,10 +41,13 @@ var
lSize: TSize;
i: Integer;
begin
for i := 0 to 23 do lPartialWidths[i] := 0;
// Basic initialization
Image.Canvas.Font.Size := 12;
Image.Canvas.Pen.Color := clWhite;
Image.Canvas.Brush.Color := clWhite;
Image.Canvas.Brush.Style := bsSolid;
Image.Canvas.Rectangle(0, 0, Image.Width, Image.Height);
// TextFitInfo test 1 (calls GetTextExtentExPoint with partial widths = nil)
@ -52,7 +55,9 @@ begin
lRes := Image.Canvas.TextFitInfo(lStr, 80);
Image.Canvas.TextOut(20, 20, Format('TextFitInfo Test 1. Returned %d should be aprox. 7 to 10', [lRes]));
Image.Canvas.Brush.Color := clBlue;
Image.Canvas.Brush.Style := bsSolid;
Image.Canvas.Rectangle(20, 35, 100, 50);
Image.Canvas.Brush.Style := bsClear;
Image.Canvas.TextOut(20, 35, lStr);
// GetTextExtentExPoint test 1 with partial widths and MaxCount
@ -60,11 +65,14 @@ begin
LCLIntf.GetTextExtentExPoint(Image.Canvas.Handle, PChar(lStr),
Length(lStr), 50, @lMaxCount, @lPartialWidths[0], lSize);
lRes := Image.Canvas.TextFitInfo(lStr, 50);
Image.Canvas.Brush.Style := bsClear;
Image.Canvas.TextOut(20, 60, Format('GetTextExtentExPoint Test 1. Returned MaxCount=%d should be aprox. 4 to 6', [lMaxCount]));
Image.Canvas.Brush.Color := clBlue;
for i := 0 to 6 do
begin
Image.Canvas.Brush.Style := bsSolid;
Image.Canvas.Rectangle(20, 75 + i * 15, 20+lPartialWidths[i], 90 + i * 15);
Image.Canvas.Brush.Style := bsClear;
Image.Canvas.TextOut(20, 75 + i *15, lStr);
end;
end;

View File

@ -15,8 +15,36 @@
<VersionInfo>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1">
<BuildModes Count="2">
<Item1 Name="Default" Default="True"/>
<Item2 Name="Qt">
<MacroValues Count="1">
<Macro1 Name="LCLWidgetType" Value="qt"/>
</MacroValues>
<CompilerOptions>
<Version Value="11"/>
<Target>
<Filename Value="textextent"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerMessages>
<UseMsgFile Value="True"/>
</CompilerMessages>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
</Item2>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
@ -65,6 +93,9 @@
</Options>
</Linking>
<Other>
<CompilerMessages>
<UseMsgFile Value="True"/>
</CompilerMessages>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>