mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-28 07:42:33 +02:00
cairocanvas: less hints
git-svn-id: trunk@40880 -
This commit is contained in:
parent
52abe423f0
commit
e44460c6b1
@ -54,7 +54,7 @@ type
|
||||
cr: Pcairo_t;
|
||||
ScaleX, ScaleY, FontScale: Double;
|
||||
procedure DoLineTo(X1,Y1: Integer); override;
|
||||
procedure CreateCairoHandle(BaseHandle: HDC); virtual;
|
||||
procedure CreateCairoHandle({%H-}BaseHandle: HDC); virtual;
|
||||
procedure DestroyCairoHandle; virtual;
|
||||
procedure SetHandle(NewHandle: HDC); override;
|
||||
procedure BeginDoc; override;
|
||||
@ -77,7 +77,7 @@ type
|
||||
procedure FillRect(const ARect: TRect); override;
|
||||
procedure Rectangle(X1,Y1,X2,Y2: Integer); override;
|
||||
procedure Polyline(Points: PPoint; NumPts: Integer); override;
|
||||
procedure Polygon(Points: PPoint; NumPts: Integer; Winding: boolean = False); override;
|
||||
procedure Polygon(Points: PPoint; NumPts: Integer; {%H-}Winding: boolean = False); override;
|
||||
procedure FrameRect(const ARect: TRect); override;
|
||||
procedure Frame(const ARect: TRect); override;
|
||||
procedure RoundRect(X1, Y1, X2, Y2: Integer; RX, RY: Integer); override;
|
||||
@ -817,17 +817,19 @@ begin
|
||||
Changed;
|
||||
end;
|
||||
|
||||
{$ifdef breaklines}
|
||||
type
|
||||
TLine = class
|
||||
Start, EndL: Integer;
|
||||
Width: Double;
|
||||
end;
|
||||
{$endif}
|
||||
|
||||
procedure TCairoPrinterCanvas.TextRect(ARect: TRect; X1, Y1: integer; const Text: string; const Style: TTextStyle);
|
||||
var
|
||||
te: cairo_text_extents_t;
|
||||
s: string;
|
||||
{$ifdef breaklines}
|
||||
te: cairo_text_extents_t;
|
||||
Lines: TList;
|
||||
CurLine: TLine;
|
||||
len: integer;
|
||||
@ -866,13 +868,11 @@ var
|
||||
{$endif}
|
||||
|
||||
var
|
||||
fe: cairo_font_extents_t;
|
||||
fd: TFontData;
|
||||
s1, ch: string;
|
||||
i, j: integer;
|
||||
s1: string;
|
||||
i: integer;
|
||||
BoxLeft, BoxTop, BoxWidth, BoxHeight: Double;
|
||||
StartLeft, StartTop: Double;
|
||||
BreakBoxWidth: Double;
|
||||
x, y: Double;
|
||||
r,b: double;
|
||||
{$ifdef pangocairo}
|
||||
@ -880,7 +880,12 @@ var
|
||||
ink,logical: TPangoRectangle;
|
||||
{$endif}
|
||||
|
||||
{$ifndef breaklines}
|
||||
{$ifdef breaklines}
|
||||
fe: cairo_font_extents_t;
|
||||
BreakBoxWidth: Double;
|
||||
j: integer;
|
||||
ch: string;
|
||||
{$else}
|
||||
Lines: TStringList;
|
||||
{$endif}
|
||||
begin
|
||||
@ -897,10 +902,12 @@ begin
|
||||
StartTop := SY(Y1);
|
||||
//DebugLn('Box= l=%f t=%f',[BoxLeft,BoxTop]);
|
||||
//DebugLn(' x=%f y=%f',[StartLeft,StartTop]);
|
||||
{$ifdef breaklines}
|
||||
if Style.Alignment = taLeftJustify then
|
||||
BreakBoxWidth := SX(ARect.Right - X1)
|
||||
else
|
||||
BreakBoxWidth := BoxWidth;
|
||||
{$endif}
|
||||
|
||||
if Style.Clipping then begin
|
||||
r := BoxWidth+Pen.Width;
|
||||
|
@ -235,14 +235,14 @@ begin
|
||||
|
||||
Include(fStatus, csDoc);
|
||||
|
||||
TDocAccess(fCairoCanvas).XDPI:=fXDPI;
|
||||
TDocAccess(fCairoCanvas).YDPI:=fYDPI;
|
||||
TDocAccess(fCairoCanvas).BeginDoc;
|
||||
{%H-}TDocAccess(fCairoCanvas).XDPI:=fXDPI;
|
||||
{%H-}TDocAccess(fCairoCanvas).YDPI:=fYDPI;
|
||||
{%H-}TDocAccess(fCairoCanvas).BeginDoc;
|
||||
end;
|
||||
|
||||
procedure TCairoFilePrinter.EndDoc;
|
||||
begin
|
||||
TDocAccess(fCairoCanvas).EndDoc;
|
||||
{%H-}TDocAccess(fCairoCanvas).EndDoc;
|
||||
Exclude(fStatus, csDoc);
|
||||
fCairoCanvas.Free;
|
||||
fCairoCanvas:=nil;
|
||||
@ -250,7 +250,7 @@ end;
|
||||
|
||||
procedure TCairoFilePrinter.NewPage;
|
||||
begin
|
||||
TDocAccess(fCairoCanvas).NewPage;
|
||||
{%H-}TDocAccess(fCairoCanvas).NewPage;
|
||||
end;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user