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