Step 4 - Implement Paint and PointInObject Methods
Go Up to Creating a FireMonkey Primitive Control
This is the final step to complete this primitive component. Define the following additional members (members previously created are not listed here):
type
TRegularPolygon = class(TShape)
protected
procedure Paint; override;
public
function PointInObject(X, Y: Single): Boolean; override;
end;
As in the previous steps, use CTRL+SHIFT+C
to create placeholders for these methods. Implement these methods as follows:
procedure TRegularPolygon.Paint;
begin
CreatePath;
Canvas.FillPath(FPath, AbsoluteOpacity);
Canvas.DrawPath(FPath, AbsoluteOpacity);
end;
function TRegularPolygon.PointInObject(X, Y: Single): Boolean;
begin
CreatePath;
Result := Canvas.PtInPath(AbsoluteToLocal(PointF(X, Y)), FPath);
end;
Now the TRegularPolygon component is implemented. In the Project Manager, right-click the TRegularPolygon.bpl package and select Build from the context menu. Then select Install to install the developed component package and to register the designed component:
Now you can see the new behavior of the TRegularPolygon component in the Form Designer.