From d2eae5b3d003f104f1eb219a41a4a96340bff903 Mon Sep 17 00:00:00 2001 From: wp_xyz Date: Sat, 15 Apr 2023 22:37:55 +0200 Subject: [PATCH] aggpas: Fix clipping on AggLCLCanvas, issue #40210 --- components/aggpas/src/agg_fpimage.pas | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/components/aggpas/src/agg_fpimage.pas b/components/aggpas/src/agg_fpimage.pas index 7dfe2430ef..daf2a19db4 100644 --- a/components/aggpas/src/agg_fpimage.pas +++ b/components/aggpas/src/agg_fpimage.pas @@ -542,6 +542,8 @@ type procedure SetHeight(AValue: integer); override; procedure SetWidth(AValue: integer); override; procedure OnImageOperation(Img: TAggFPImage; Operation: TAggFPImgOperation); virtual; + procedure SetClipping(const AValue: Boolean); override; + procedure SetClipRect(const AValue: TRect); override; public constructor Create; destructor Destroy; override; @@ -3322,6 +3324,19 @@ begin end; +procedure TAggFPCanvas.SetClipping(const AValue: Boolean); +begin + inherited; + m_rasterizer.m_clipping := AValue; +end; + +procedure TAggFPCanvas.SetClipRect(const AValue: TRect); +begin + m_rasterizer.clip_box(AValue.Left, AValue.Top, AValue.Right, AValue.Bottom); + m_rasterizer.m_clipping := Clipping; +end; + + { TAggFPPen } procedure TAggFPPen.SetFPColor(const AValue: TFPColor);