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 |