From b2f0c3f0510e8943a4a5669c4df5a66dbdac74da Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Sun, 25 Jun 2023 22:16:45 +0000 Subject: [PATCH] NiceChart: Fix gtk2/gtk3 crashing in demo project at rotated font. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8855 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/nicechart/source/NiceChart.pas | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/components/nicechart/source/NiceChart.pas b/components/nicechart/source/NiceChart.pas index 6a26f6a7c..07462f372 100644 --- a/components/nicechart/source/NiceChart.pas +++ b/components/nicechart/source/NiceChart.pas @@ -829,13 +829,20 @@ begin end; procedure RotTextOut(ACanvas: TCanvas; x, y, Angle: Integer; Txt: String); +{$IFNDEF FPC} var RotFont, OldFont: Integer; FBold, FItalic, FUnderline, FStrikeOut: integer; +{$ENDIF} begin if (Txt = '') then Exit; SetBkMode(ACanvas.Handle, TRANSPARENT); + {$IFDEF FPC} + ACanvas.Font.Orientation := Angle * 10; + ACanvas.TextOut(x, y, Txt); + ACanvas.Font.Orientation := 0; + {$ELSE} if (fsItalic in ACanvas.Font.Style) then FItalic := 1 else FItalic := 0; @@ -855,6 +862,7 @@ begin TextOut(ACanvas.Handle, x, y, PChar(Txt), Length(Txt)); SelectObject(ACanvas.Handle, OldFont); DeleteObject(RotFont); + {$ENDIF} end; procedure TNiceChart.InternalPaint(ACanvas: TCanvas);