Class TBGRACustomFillInfo
Unit
Declaration
type TBGRACustomFillInfo = class(TObject)
Description
Abstract class defining any shape that can be filled
Hierarchy
- TObject
- TBGRACustomFillInfo
Overview
Methods
![]() |
function CreateIntersectionArray: ArrayOfTIntersectionInfo; virtual; abstract; |
![]() |
function CreateIntersectionInfo: TIntersectionInfo; virtual; abstract; |
![]() |
function GetBounds: TRect; virtual; abstract; |
![]() |
function GetSliceIndex: integer; virtual; abstract; |
![]() |
function IsPointInside(x,y: single; windingMode: boolean): boolean; virtual; abstract; |
![]() |
function SegmentsCurved: boolean; virtual; abstract; |
![]() |
procedure ComputeAndSort(cury: single; var inter: ArrayOfTIntersectionInfo; out nbInter: integer; windingMode: boolean); virtual; abstract; |
![]() |
procedure FreeIntersectionArray(var inter: ArrayOfTIntersectionInfo); virtual; abstract; |
Description
Methods
![]() |
function CreateIntersectionArray: ArrayOfTIntersectionInfo; virtual; abstract; |
|
Create an array that will contain computed intersections. To augment that array, use CreateIntersectionInfo for new items | |
![]() |
function CreateIntersectionInfo: TIntersectionInfo; virtual; abstract; |
|
Create a structure to define one single intersection | |
![]() |
function GetBounds: TRect; virtual; abstract; |
|
Returns integer bounds for the shape | |
![]() |
function GetSliceIndex: integer; virtual; abstract; |
|
Returns the index of the current slice (horizontal stripe) | |
![]() |
function IsPointInside(x,y: single; windingMode: boolean): boolean; virtual; abstract; |
|
Check if the point is inside the shape | |
![]() |
function SegmentsCurved: boolean; virtual; abstract; |
|
Returns true if one segment number can represent a curve and thus cannot be considered exactly straight | |
![]() |
procedure ComputeAndSort(cury: single; var inter: ArrayOfTIntersectionInfo; out nbInter: integer; windingMode: boolean); virtual; abstract; |
|
Fill an array inter with actual intersections with the shape at the y coordinate cury. nbInter receives the number of computed intersections. windingMode specifies if the winding method must be used to determine what is inside of the shape | |
![]() |
procedure FreeIntersectionArray(var inter: ArrayOfTIntersectionInfo); virtual; abstract; |
|
Free an array of intersections | |
