diff --git a/packages/fcl-image/src/fpcanvas.inc b/packages/fcl-image/src/fpcanvas.inc index 9586656dd1..4e23a0c89a 100644 --- a/packages/fcl-image/src/fpcanvas.inc +++ b/packages/fcl-image/src/fpcanvas.inc @@ -268,6 +268,13 @@ begin FPenPos:=AValue; end; +procedure TFPCustomCanvas.SetClipRegion(const AValue: TFPCustomRegion); +begin + if AValue = FClipRegion then exit; + FClipRegion.Free; + FClipRegion := AValue; +end; + function TFPCustomCanvas.DoAllowPen (APen : TFPCustomPen) : boolean; begin result := false; diff --git a/packages/fcl-image/src/fpcanvas.pp b/packages/fcl-image/src/fpcanvas.pp index b42ea02b05..a109f9ca21 100644 --- a/packages/fcl-image/src/fpcanvas.pp +++ b/packages/fcl-image/src/fpcanvas.pp @@ -284,6 +284,7 @@ type function GetClipping: boolean; virtual; procedure SetClipping(const AValue: boolean); virtual; procedure SetPenPos(const AValue: TPoint); virtual; + procedure SetClipRegion(const AValue: TFPCustomRegion); procedure DoLockCanvas; virtual; procedure DoUnlockCanvas; virtual; procedure DoTextOut (x,y:integer;text:string); virtual; abstract; @@ -384,7 +385,7 @@ type property Interpolation : TFPCustomInterpolation read FInterpolation write FInterpolation; property Colors [x,y:integer] : TFPColor read GetColor write SetColor; property ClipRect : TRect read GetClipRect write SetClipRect; - property ClipRegion : TFPCustomRegion read FClipRegion write FClipRegion; + property ClipRegion : TFPCustomRegion read FClipRegion write SetClipRegion; property Clipping : boolean read GetClipping write SetClipping; property PenPos : TPoint read FPenPos write SetPenPos; property Height : integer read GetHeight write SetHeight;