Class TBGRAGradientScanner

Unit

Declaration

type TBGRAGradientScanner = class(TBGRACustomScanner)

Description

Scanner that renders a gradient

Hierarchy

Overview

Fields

Protected FAverageColor: TBGRAPixel;
Protected FAverageExpandedColor: TExpandedPixel;
Protected FDir1: TPointF;
Protected FDir2: TPointF;
Protected FFlipGradient: boolean;
Protected FFocalDirection: TPointF;
Protected FFocalDistance: single;
Protected FFocalNormal: TPointF;
Protected FFocalRadius: single;
Protected FGetGradientColor: TBGRAGradientGetColorAtFloatFunc;
Protected FGetGradientExpandedColor: TBGRAGradientGetExpandedColorAtFloatFunc;
Protected FGradient: TBGRACustomGradient;
Protected FGradientOwner: boolean;
Protected FGradientType: TGradientType;
Protected FHiddenTransform: TAffineMatrix;
Protected FHorizColor: TBGRAPixel;
Protected FHorizExpandedColor: TExpandedPixel;
Protected FIsAverage: boolean;
Protected FMatrix: TAffineMatrix;
Protected FOrigin: TPointF;
Protected FPosition: TPointF;
Protected FRadialDeltaSign: single;
Protected FRadialDenominator: single;
Protected FRadius: single;
Protected FRelativeFocal: TPointF;
Protected FRepeatHoriz: boolean;
Protected FScanAtFunc: TBGRAGradientScannerInternalScanAtFunc;
Protected FScanNextFunc: TBGRAGradientScannerInternalScanNextFunc;
Protected FSinus: Boolean;
Protected FTransform: TAffineMatrix;
Protected maxW1: single;
Protected maxW2: single;

Methods

Public constructor Create(c1, c2: TBGRAPixel; AGradientType: TGradientType; AOrigin, d1, d2: TPointF; gammaColorCorrection: boolean = True; Sinus: Boolean=False); overload;
Public constructor Create(c1, c2: TBGRAPixel; AGradientType: TGradientType; AOrigin, d1: TPointF; gammaColorCorrection: boolean = True; Sinus: Boolean=False); overload;
Public constructor Create(gradient: TBGRACustomGradient; AGradientType: TGradientType; AOrigin, d1, d2: TPointF; Sinus: Boolean=False; AGradientOwner: Boolean=False); overload;
Public constructor Create(gradient: TBGRACustomGradient; AGradientType: TGradientType; AOrigin, d1: TPointF; Sinus: Boolean=False; AGradientOwner: Boolean=False); overload;
Public constructor Create(AGradientType: TGradientType; AOrigin, d1, d2: TPointF); overload;
Public constructor Create(AGradientType: TGradientType; AOrigin, d1: TPointF); overload;
Public constructor Create(AOrigin: TPointF; ARadius: single; AFocal: TPointF; AFocalRadius: single); overload;
Public constructor Create(AOrigin, d1, d2, AFocal: TPointF; ARadiusRatio: single = 1; AFocalRadiusRatio: single = 0); overload;
Public constructor Create(gradient: TBGRACustomGradient; AOrigin: TPointF; ARadius: single; AFocal: TPointF; AFocalRadius: single; AGradientOwner: Boolean=False); overload;
Public destructor Destroy; override;
Public function IsScanPutPixelsDefined: boolean; override;
Public function ScanAt(X, Y: Single): TBGRAPixel; override;
Public function ScanAtExpanded(X, Y: Single): TExpandedPixel; override;
Public function ScanNextExpandedPixel: TExpandedPixel; override;
Public function ScanNextPixel: TBGRAPixel; override;
Protected function ComputeRadialFocal(const p: TPointF): single;
Protected function GetGradientColor(a: single): TBGRAPixel;
Protected function GetGradientColorFlipped(a: single): TBGRAPixel;
Protected function GetGradientColorSinus(a: single): TBGRAPixel;
Protected function GetGradientExpandedColor(a: single): TExpandedPixel;
Protected function GetGradientExpandedColorFlipped(a: single): TExpandedPixel;
Protected function GetGradientExpandedColorSinus(a: single): TExpandedPixel;
Protected function ScanAtAngular(const p: TPointF): single;
Protected function ScanAtDiamond(const p: TPointF): single;
Protected function ScanAtLinear(const p: TPointF): single;
Protected function ScanAtRadial(const p: TPointF): single;
Protected function ScanAtRadial2(const p: TPointF): single;
Protected function ScanAtRadialFocal(const p: TPointF): single;
Protected function ScanAtReflected(const p: TPointF): single;
Protected function ScanNextAngular: single;
Protected function ScanNextDiamond: single;
Protected function ScanNextExpandedInline: TExpandedPixel; inline;
Protected function ScanNextInline: TBGRAPixel; inline;
Protected function ScanNextLinear: single;
Protected function ScanNextRadial: single;
Protected function ScanNextRadial2: single;
Protected function ScanNextRadialFocal: single;
Protected function ScanNextReflected: single;
Public procedure ScanMoveTo(X, Y: Integer); override;
Public procedure ScanPutPixels(pdest: PBGRAPixel; count: integer; mode: TDrawMode); override;
Public procedure ScanSkipPixels(ACount: integer); override;
Public procedure SetGradient(AGradient: TBGRACustomGradient; AOwner: boolean); overload;
Public procedure SetGradient(c1,c2: TBGRAPixel; AGammaCorrection: boolean = true); overload;
Protected procedure Init(AGradientType: TGradientType; AOrigin, d1, d2: TPointF; ATransform: TAffineMatrix; Sinus: Boolean=False); overload;
Protected procedure Init(AOrigin: TPointF; ARadius: single; AFocal: TPointF; AFocalRadius: single; ATransform: TAffineMatrix; AHiddenTransform: TAffineMatrix); overload;
Protected procedure Init(AGradientType: TGradientType; AOrigin, d1: TPointF; ATransform: TAffineMatrix; Sinus: Boolean=False); overload;
Protected procedure InitGradient;
Protected procedure InitGradientType;
Protected procedure InitTransform;
Protected procedure SetFlipGradient(AValue: boolean);
Protected procedure SetSinus(AValue: boolean);
Protected procedure SetTransform(AValue: TAffineMatrix);
Protected procedure UpdateGetGradientColorFunctions;

Properties

Public property FlipGradient: boolean read FFlipGradient write SetFlipGradient;
Public property Gradient: TBGRACustomGradient read FGradient;
Public property Sinus: boolean Read FSinus write SetSinus;
Public property Transform: TAffineMatrix read FTransform write SetTransform;

Description

Fields

Protected FAverageColor: TBGRAPixel;

This item has no description.

Protected FAverageExpandedColor: TExpandedPixel;

This item has no description.

Protected FDir1: TPointF;

This item has no description.

Protected FDir2: TPointF;

This item has no description.

Protected FFlipGradient: boolean;

This item has no description.

Protected FFocalDirection: TPointF;

This item has no description.

Protected FFocalDistance: single;

This item has no description.

Protected FFocalNormal: TPointF;

This item has no description.

Protected FFocalRadius: single;

This item has no description.

Protected FGetGradientColor: TBGRAGradientGetColorAtFloatFunc;

This item has no description.

Protected FGetGradientExpandedColor: TBGRAGradientGetExpandedColorAtFloatFunc;

This item has no description.

Protected FGradient: TBGRACustomGradient;

This item has no description.

Protected FGradientOwner: boolean;

This item has no description.

Protected FGradientType: TGradientType;

This item has no description.

Protected FHiddenTransform: TAffineMatrix;

This item has no description.

Protected FHorizColor: TBGRAPixel;

This item has no description.

Protected FHorizExpandedColor: TExpandedPixel;

This item has no description.

Protected FIsAverage: boolean;

This item has no description.

Protected FMatrix: TAffineMatrix;

This item has no description.

Protected FOrigin: TPointF;

This item has no description.

Protected FPosition: TPointF;

This item has no description.

Protected FRadialDeltaSign: single;

This item has no description.

Protected FRadialDenominator: single;

This item has no description.

Protected FRadius: single;

This item has no description.

Protected FRelativeFocal: TPointF;

This item has no description.

Protected FRepeatHoriz: boolean;

This item has no description.

Protected FScanAtFunc: TBGRAGradientScannerInternalScanAtFunc;

This item has no description.

Protected FScanNextFunc: TBGRAGradientScannerInternalScanNextFunc;

This item has no description.

Protected FSinus: Boolean;

This item has no description.

Protected FTransform: TAffineMatrix;

This item has no description.

Protected maxW1: single;

This item has no description.

Protected maxW2: single;

This item has no description.

Methods

Public constructor Create(c1, c2: TBGRAPixel; AGradientType: TGradientType; AOrigin, d1, d2: TPointF; gammaColorCorrection: boolean = True; Sinus: Boolean=False); overload;

This item has no description.

Public constructor Create(c1, c2: TBGRAPixel; AGradientType: TGradientType; AOrigin, d1: TPointF; gammaColorCorrection: boolean = True; Sinus: Boolean=False); overload;

This item has no description.

Public constructor Create(gradient: TBGRACustomGradient; AGradientType: TGradientType; AOrigin, d1, d2: TPointF; Sinus: Boolean=False; AGradientOwner: Boolean=False); overload;

This item has no description.

Public constructor Create(gradient: TBGRACustomGradient; AGradientType: TGradientType; AOrigin, d1: TPointF; Sinus: Boolean=False; AGradientOwner: Boolean=False); overload;

This item has no description.

Public constructor Create(AGradientType: TGradientType; AOrigin, d1, d2: TPointF); overload;

This item has no description.

Public constructor Create(AGradientType: TGradientType; AOrigin, d1: TPointF); overload;

This item has no description.

Public constructor Create(AOrigin: TPointF; ARadius: single; AFocal: TPointF; AFocalRadius: single); overload;

This item has no description.

Public constructor Create(AOrigin, d1, d2, AFocal: TPointF; ARadiusRatio: single = 1; AFocalRadiusRatio: single = 0); overload;

This item has no description.

Public constructor Create(gradient: TBGRACustomGradient; AOrigin: TPointF; ARadius: single; AFocal: TPointF; AFocalRadius: single; AGradientOwner: Boolean=False); overload;

This item has no description.

Public destructor Destroy; override;

This item has no description.

Public function IsScanPutPixelsDefined: boolean; override;

This item has no description.

Public function ScanAt(X, Y: Single): TBGRAPixel; override;

This item has no description.

Public function ScanAtExpanded(X, Y: Single): TExpandedPixel; override;

This item has no description.

Public function ScanNextExpandedPixel: TExpandedPixel; override;

This item has no description.

Public function ScanNextPixel: TBGRAPixel; override;

This item has no description.

Protected function ComputeRadialFocal(const p: TPointF): single;

This item has no description.

Protected function GetGradientColor(a: single): TBGRAPixel;

This item has no description.

Protected function GetGradientColorFlipped(a: single): TBGRAPixel;

This item has no description.

Protected function GetGradientColorSinus(a: single): TBGRAPixel;

This item has no description.

Protected function GetGradientExpandedColor(a: single): TExpandedPixel;

This item has no description.

Protected function GetGradientExpandedColorFlipped(a: single): TExpandedPixel;

This item has no description.

Protected function GetGradientExpandedColorSinus(a: single): TExpandedPixel;

This item has no description.

Protected function ScanAtAngular(const p: TPointF): single;

This item has no description.

Protected function ScanAtDiamond(const p: TPointF): single;

This item has no description.

Protected function ScanAtLinear(const p: TPointF): single;

This item has no description.

Protected function ScanAtRadial(const p: TPointF): single;

This item has no description.

Protected function ScanAtRadial2(const p: TPointF): single;

This item has no description.

Protected function ScanAtRadialFocal(const p: TPointF): single;

This item has no description.

Protected function ScanAtReflected(const p: TPointF): single;

This item has no description.

Protected function ScanNextAngular: single;

This item has no description.

Protected function ScanNextDiamond: single;

This item has no description.

Protected function ScanNextExpandedInline: TExpandedPixel; inline;

This item has no description.

Protected function ScanNextInline: TBGRAPixel; inline;

This item has no description.

Protected function ScanNextLinear: single;

This item has no description.

Protected function ScanNextRadial: single;

This item has no description.

Protected function ScanNextRadial2: single;

This item has no description.

Protected function ScanNextRadialFocal: single;

This item has no description.

Protected function ScanNextReflected: single;

This item has no description.

Public procedure ScanMoveTo(X, Y: Integer); override;

This item has no description.

Public procedure ScanPutPixels(pdest: PBGRAPixel; count: integer; mode: TDrawMode); override;

This item has no description.

Public procedure ScanSkipPixels(ACount: integer); override;

This item has no description.

Public procedure SetGradient(AGradient: TBGRACustomGradient; AOwner: boolean); overload;

This item has no description.

Public procedure SetGradient(c1,c2: TBGRAPixel; AGammaCorrection: boolean = true); overload;

This item has no description.

Protected procedure Init(AGradientType: TGradientType; AOrigin, d1, d2: TPointF; ATransform: TAffineMatrix; Sinus: Boolean=False); overload;

This item has no description.

Protected procedure Init(AOrigin: TPointF; ARadius: single; AFocal: TPointF; AFocalRadius: single; ATransform: TAffineMatrix; AHiddenTransform: TAffineMatrix); overload;

This item has no description.

Protected procedure Init(AGradientType: TGradientType; AOrigin, d1: TPointF; ATransform: TAffineMatrix; Sinus: Boolean=False); overload;

This item has no description.

Protected procedure InitGradient;

This item has no description.

Protected procedure InitGradientType;

This item has no description.

Protected procedure InitTransform;

This item has no description.

Protected procedure SetFlipGradient(AValue: boolean);

This item has no description.

Protected procedure SetSinus(AValue: boolean);

This item has no description.

Protected procedure SetTransform(AValue: TAffineMatrix);

This item has no description.

Protected procedure UpdateGetGradientColorFunctions;

This item has no description.

Properties

Public property FlipGradient: boolean read FFlipGradient write SetFlipGradient;

This item has no description.

Public property Gradient: TBGRACustomGradient read FGradient;

This item has no description.

Public property Sinus: boolean Read FSinus write SetSinus;

This item has no description.

Public property Transform: TAffineMatrix read FTransform write SetTransform;

This item has no description.