Class TCustomUniversalBitmap

Unit

Declaration

type TCustomUniversalBitmap = class(TFPCustomImage, IBGRAScanner)

Description

Base class for the universal bitmap (of any colorspace)

Hierarchy

Overview

Fields

Public Caption: string;
Protected FAntialiasingDrawMode: TDrawMode;
Protected FClipRect: TRect;
Protected FColorspace: TColorspaceAny;
Protected FConvertFromBGRA: TBridgedConversion;
Protected FConvertFromExpanded: TBridgedConversion;
Protected FConvertFromFPColor: TBridgedConversion;
Protected FConvertToBGRA: TBridgedConversion;
Protected FConvertToExpanded: TBridgedConversion;
Protected FConvertToFPColor: TBridgedConversion;
Protected FDataByte: PByte;
Protected FHeight: integer;
Public FillMode: TFillMode;
Protected FLineOrder: TRawImageLineOrder;
Protected FNbPixels: integer;
Protected FPenStroker: TBGRACustomPenStroker;
Protected FPixelSize: integer;
Protected FRefCount: integer;
Protected FReferenceWhite: PXYZReferenceWhite;
Protected FResolutionUnit: TResolutionUnit;
Protected FResolutionX: Single;
Protected FResolutionY: Single;
Protected FRowSize: PtrInt;
Protected FScanCurX: integer;
Protected FScanCurY: integer;
Protected FScanHeight: integer;
Protected FScanPtr: PByte;
Protected FScanWidth: integer;
Protected FWidth: integer;
Public ScanOffset: TPoint;

Methods

Public constructor Create; overload;
Public constructor Create(AWidth, AHeight: integer); overload; override;
Public constructor Create(AColorspace: TColorspaceAny; ALineOrder: TRawImageLineOrder); overload;
Public constructor Create(AColorspace: TColorspaceAny; AWidth, AHeight: integer; ALineOrder: TRawImageLineOrder); overload;
Public destructor Destroy; override;
Public function CheckClippedRectBounds(var x,y,x2,y2: integer): boolean;
Public function Duplicate(ACopyProperties: boolean=false): TCustomUniversalBitmap; virtual;
Public function FilterBlurMotion(const ABounds: TRect; distance: single; angle: single; oriented: boolean; ACopyProperties: Boolean=False): TCustomUniversalBitmap; overload; virtual;
Public function FilterBlurMotion(distance: single; angle: single; oriented: boolean; ACopyProperties: Boolean=False): TCustomUniversalBitmap; overload; virtual;
Public function FilterBlurRadial(radius: single; blurType: TRadialBlurType; ACopyProperties: Boolean=False): TCustomUniversalBitmap; overload; virtual;
Public function FilterBlurRadial(const ABounds: TRect; radius: single; blurType: TRadialBlurType; ACopyProperties: Boolean=False): TCustomUniversalBitmap; overload; virtual;
Public function FilterBlurRadial(const ABounds: TRect; radiusX, radiusY: single; blurType: TRadialBlurType; ACopyProperties: Boolean=False): TCustomUniversalBitmap; overload; virtual;
Public function FilterBlurRadial(radiusX, radiusY: single; blurType: TRadialBlurType; ACopyProperties: Boolean=False): TCustomUniversalBitmap; overload; virtual;
Public function FilterCustomBlur(const ABounds: TRect; mask: TCustomUniversalBitmap; ACopyProperties: Boolean=False): TCustomUniversalBitmap; overload; virtual;
Public function FilterCustomBlur(mask: TCustomUniversalBitmap; ACopyProperties: Boolean=False): TCustomUniversalBitmap; overload; virtual;
Public function GetImageBounds: TRect; overload; virtual;
Public function GetImageBounds(Channels: TChannels; ANothingValue: Byte = 0): TRect; overload;
Public function GetImageBounds(Channel: TChannel; ANothingValue: Byte = 0): TRect; overload;
Public function GetImageBoundsWithin(const ARect: TRect; Channels: TChannels; ANothingValue: Byte = 0): TRect; overload; virtual;
Public function GetImageBoundsWithin(const ARect: TRect; Channel: TChannel = cAlpha; ANothingValue: Byte = 0): TRect; overload; virtual;
Public function GetPart(const ARect: TRect; ACopyProperties: Boolean=False): TCustomUniversalBitmap; virtual;
Public function GetPixelAddress(x,y: integer): PByte; virtual;
Public function GetScanCustomColorspace: TColorspaceAny; virtual;
Public function GetUnique: TCustomUniversalBitmap; virtual;
Public function IntersectClip(const ARect: TRect): TRect;
Public function IsScanPutPixelsDefined: boolean; virtual;
Public function NewBitmap: TCustomUniversalBitmap; overload; virtual;
Public function NewBitmap(AWidth, AHeight: integer): TCustomUniversalBitmap; overload; virtual;
Public function NewBitmap(AWidth, AHeight: integer; AColor: Pointer): TCustomUniversalBitmap; overload; virtual;
Public function NewReference: TCustomUniversalBitmap; virtual;
Public function PtInClipRect(x, y: int32or64): boolean; inline;
Public function RotateCCW(ACopyProperties: Boolean=False): TCustomUniversalBitmap; virtual;
Public function RotateCW(ACopyProperties: Boolean=False): TCustomUniversalBitmap; virtual;
Public function RotateUD(ACopyProperties: Boolean=False): TCustomUniversalBitmap; virtual;
Public function ScanAt(X,Y: Single): TBGRAPixel; virtual;
Public function ScanAtExpanded(X, Y: Single): TExpandedPixel; virtual;
Public function ScanAtInteger(X,Y: integer): TBGRAPixel; virtual;
Public function ScanAtIntegerExpanded(X, Y: integer): TExpandedPixel; virtual;
Public function ScanAtIntegerMask(X,Y: integer): TByteMask; virtual;
Public function ScanAtMask(X,Y: Single): TByteMask; virtual;
Public function ScanNextExpandedPixel: TExpandedPixel; virtual;
Public function ScanNextPixel: TBGRAPixel; virtual;
Protected function CheckEmpty: boolean; virtual;
Protected function CheckHorizLineBounds(var x:int32or64; y: int32or64; var x2: int32or64): boolean; inline;
Protected function CheckIsZero: boolean; virtual;
Protected function CheckVertLineBounds(x: int32or64; var y, y2: int32or64): boolean; inline;
Protected class function DefaultColorspace: TColorspaceAny; virtual;
Protected function GetArrow: TBGRACustomArrow; virtual;
Protected function GetClipRect: TRect; virtual;
Protected function GetDataBytePtr: PByte; virtual;
Protected function GetHasSemiTransparentPixels: boolean; virtual;
Protected function GetHasTransparentPixels: boolean; virtual;
Protected function GetHeight: integer; virtual;
Protected function GetInternalColor(x, y: integer): TFPColor; override;
Protected function GetInternalPen: TBGRACustomPenStroker; virtual;
Protected function GetInternalPixel(x, y: integer): integer; override;
Protected function GetLinearAntialiasing: boolean; virtual;
Protected function GetLineCap: TPenEndCap; virtual;
Protected function GetLineOrder: TRawImageLineOrder; virtual;
Protected function GetNbPixels: integer; virtual;
Protected function GetPenStroker: TBGRACustomPenStroker; virtual;
Protected function GetRefCount: integer; virtual;
Protected function GetResolutionHeight: Single; virtual;
Protected function GetResolutionWidth: Single; virtual;
Protected function GetScanlineAt(X, Y: integer): PBGRAPixel; virtual;
Protected function GetScanLineByte(y: integer): PByte; virtual;
Protected function GetTextureGL: IUnknown; virtual;
Protected function GetWidth: integer; virtual;
Protected function InternalDuplicate(ACopyProperties: boolean=false): TCustomUniversalBitmap; virtual;
Protected function InternalNew: TCustomUniversalBitmap; virtual;
Protected function ProvidesScanline(ARect: TRect): boolean; virtual;
Protected function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
Protected function _AddRef: Integer; stdcall;
Protected function _Release: Integer; stdcall;
Public class procedure AlphaBrush(out ABrush: TUniversalBrush; AAlpha: Word); virtual;
Public procedure AlphaFill(alpha: byte); virtual;
Public procedure AlphaFillEllipseInRect(ARect: TRect; alpha: byte); virtual;
Public procedure AlphaFillPathAliased(APath: IBGRAPath; alpha: byte; APixelCenteredCoordinates: boolean = true); overload;
Public procedure AlphaFillPathAliased(APath: IBGRAPath; const AMatrix: TAffineMatrix; alpha: byte; APixelCenteredCoordinates: boolean = true); overload;
Public procedure AlphaFillPoly(const APoints: array of TPointF; alpha: byte; APixelCenteredCoordinates: boolean = true); virtual;
Public procedure AlphaFillRect(const ARect: TRect; alpha: byte); virtual;
Public procedure AlphaFillRect(ALeft, ATop, ARight, ABottom: integer; alpha: byte); virtual;
Public procedure AlphaFillRoundRect(X1, Y1, X2, Y2: integer; DX, DY: integer; alpha: byte); virtual;
Public procedure AlphaFillShape(AShape: TBGRACustomFillInfo; alpha: byte); virtual;
Public procedure AlphaHorizLine(x,y,x2: int32or64; alpha: byte); virtual;
Public procedure AlphaLine(x1, y1, x2, y2: integer; alpha: byte; DrawLastPixel: boolean); virtual;
Public procedure AlphaLineAntialias(x1, y1, x2, y2: integer; alpha: byte; DrawLastPixel: boolean); virtual;
Public procedure AlphaPixel(x, y: int32or64; alpha: byte); virtual;
Public procedure AlphaPixelF(x, y: single; alpha: byte); virtual;
Public procedure AlphaPolygonOutline(const points: array of TPoint; alpha: byte);
Public procedure AlphaPolygonOutlineAntialias(const points: array of TPoint; alpha: byte);
Public procedure AlphaPolyLine(const points: array of TPoint; alpha: byte; ADrawLastPixel: boolean);
Public procedure AlphaPolyLineAntialias(const points: array of TPoint; alpha: byte; ADrawLastPixel: boolean);
Public procedure AlphaVertLine(x, y, y2: int32or64; alpha: byte); virtual;
Public procedure ApplyGlobalOpacity(ARect: TRect; alpha: byte); overload; virtual;
Public procedure ApplyGlobalOpacity(alpha: byte); overload; virtual;
Public procedure ApplyMask(mask: TCustomUniversalBitmap; ARect: TRect; AMaskRectTopLeft: TPoint; AAlpha: Word = 65535); overload; virtual;
Public procedure ApplyMask(mask: TCustomUniversalBitmap; AAlpha: Word = 65535); overload;
Public procedure ApplyMask(mask: TCustomUniversalBitmap; ARect: TRect; AAlpha: Word = 65535); overload;
Public procedure Assign(Source: TPersistent; ACopyProperties: Boolean); virtual; overload;
Public procedure Assign(Source: TPersistent); override;
Public procedure ClearTransparentPixels; virtual;
Public procedure CopyPropertiesTo(ABitmap: TCustomUniversalBitmap); virtual;
Public procedure Deserialize(AStream: TStream); virtual;
Public procedure DrawCheckers(ARect: TRect; const ABrushEven,ABrushOdd: TUniversalBrush; AGridWidth: integer = 8; AGridHeight: integer = 8); overload; virtual;
Public procedure DrawLine(x1, y1, x2, y2: integer; const ABrush: TUniversalBrush; ADrawLastPixel: boolean; AAlpha: Word = 65535); overload; virtual;
Public procedure DrawLine(x1, y1, x2, y2: integer; ATexture: IBGRAScanner; AMode: TDrawMode; ADrawLastPixel: boolean; AAlpha: Word = 65535); overload; virtual;
Public procedure DrawLineAntialias(x1, y1, x2, y2: integer; const ABrush1, ABrush2: TUniversalBrush; ADashLen: integer; ADrawLastPixel: boolean; AAlpha: Word = 65535); overload; virtual;
Public procedure DrawLineAntialias(x1, y1, x2, y2: integer; ATexture: IBGRAScanner; AMode: TDrawMode; ADrawLastPixel: boolean; AAlpha: Word = 65535); overload; virtual;
Public procedure DrawLineAntialias(x1, y1, x2, y2: integer; const ABrush: TUniversalBrush; ADrawLastPixel: boolean; AAlpha: Word = 65535); overload; virtual;
Public procedure DrawLineAntialias(x1, y1, x2, y2: integer; const ABrush1, ABrush2: TUniversalBrush; ADashLen: integer; var ADashPos: integer; ADrawLastPixel: boolean; AAlpha: Word = 65535); overload; virtual;
Public procedure DrawLineAntialias(x1, y1, x2, y2: single; ATexture: IBGRAScanner; APenWidth: single); overload; virtual;
Public procedure DrawLineAntialias(x1, y1, x2, y2: single; const ABrush: TUniversalBrush; APenWidth: single); overload; virtual;
Public procedure DrawLineAntialias(x1, y1, x2, y2: single; ATexture: IBGRAScanner; APenWidth: single; AClosedCap: boolean); overload; virtual;
Public procedure DrawLineAntialias(x1, y1, x2, y2: single; const ABrush: TUniversalBrush; APenWidth: single; AClosedCap: boolean); overload; virtual;
Public procedure DrawPath(APath: IBGRAPath; const AMatrix: TAffineMatrix; const ABrush: TUniversalBrush; AWidth: single; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure DrawPath(APath: IBGRAPath; ATexture: IBGRAScanner; AWidth: single; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure DrawPath(APath: IBGRAPath; const ABrush: TUniversalBrush; AWidth: single; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure DrawPath(APath: IBGRAPath; const AMatrix: TAffineMatrix; ATexture: IBGRAScanner; AWidth: single; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure DrawPathAliased(APath: IBGRAPath; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true; AAlpha: Word = 65535); overload;
Public procedure DrawPathAliased(APath: IBGRAPath; const AMatrix: TAffineMatrix; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true; AAlpha: Word = 65535); overload;
Public procedure DrawPixel(x,y: Int32or64; const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;
Public procedure DrawPixel(x,y: Int32or64; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;
Public procedure DrawPixelF(x,y: single; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;
Public procedure DrawPixelF(x,y: single; const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;
Public procedure DrawPolygon(const points: array of TPoint; const ABrush: TUniversalBrush; AAlpha: Word = 65535);
Public procedure DrawPolygonAntialias(const APoints: array of TPointF; const ABrush: TUniversalBrush; APenWidth: single); overload; virtual;
Public procedure DrawPolygonAntialias(const points: array of TPoint; const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload;
Public procedure DrawPolygonAntialias(const points: array of TPoint; const ABrush1, ABrush2: TUniversalBrush; ADashLen: integer; AAlpha: Word = 65535); overload;
Public procedure DrawPolygonAntialias(const APoints: array of TPointF; ATexture: IBGRAScanner; APenWidth: single); overload; virtual;
Public procedure DrawPolyLine(const points: array of TPoint; const ABrush: TUniversalBrush; ADrawLastPixel: boolean; AAlpha: Word = 65535);
Public procedure DrawPolyLineAntialias(const APoints: array of TPointF; const ABrush: TUniversalBrush; APenWidth: single); overload; virtual;
Public procedure DrawPolyLineAntialias(const APoints: array of TPointF; ATexture: IBGRAScanner; APenWidth: single); overload; virtual;
Public procedure DrawPolyLineAntialias(const points: array of TPoint; const ABrush: TUniversalBrush; ADrawLastPixel: boolean; AAlpha: Word = 65535); overload;
Public procedure DrawPolyLineAntialias(const points: array of TPoint; const ABrush1, ABrush2: TUniversalBrush; ADashLen: integer; ADrawLastPixel: boolean; AAlpha: Word = 65535); overload;
Public procedure DrawPolyLineAntialias(const APoints: array of TPointF; ATexture: IBGRAScanner; APenWidth: single; AClosedCap: boolean); overload; virtual;
Public procedure DrawPolyLineAntialias(const APoints: array of TPointF; const ABrush: TUniversalBrush; APenWidth: single; AClosedCap: boolean); overload; virtual;
Public procedure DrawPolyLineAntialiasAutocycle(const APoints: array of TPointF; const ABrush: TUniversalBrush; APenWidth: single); overload; virtual;
Public procedure DrawPolyLineAntialiasAutocycle(const APoints: array of TPointF; ATexture: IBGRAScanner; APenWidth: single); overload; virtual;
Public procedure Ellipse(x, y, rx, ry: single; ATexture: IBGRAScanner; AWidth: single; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;
Public procedure Ellipse(x, y, rx, ry: single; const ABrush: TUniversalBrush; AWidth: single; AAlpha: Word = 65535); overload; virtual;
Public procedure Ellipse(const AOrigin, AXAxis, AYAxis: TPointF; ATexture: IBGRAScanner; AWidth: single; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;
Public procedure Ellipse(const AOrigin, AXAxis, AYAxis: TPointF; const ABrush: TUniversalBrush; AWidth: single; AAlpha: Word = 65535); overload; virtual;
Public procedure EllipseAntialias(x, y, rx, ry: single; ATexture: IBGRAScanner; AWidth: single); overload; virtual;
Public procedure EllipseAntialias(x, y, rx, ry: single; const ABrush: TUniversalBrush; AWidth: single); overload; virtual;
Public procedure EllipseAntialias(const AOrigin, AXAxis, AYAxis: TPointF; ATexture: IBGRAScanner; AWidth: single); overload; virtual;
Public procedure EllipseAntialias(const AOrigin, AXAxis, AYAxis: TPointF; const ABrush: TUniversalBrush; AWidth: single); overload; virtual;
Public procedure EllipseInRect(ARect: TRect; const ABorderBrush, AFillBrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;
Public procedure EllipseInRect(ARect: TRect; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;
Public procedure EllipseInRect(ARect: TRect; const ABorderBrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;
Public class procedure EraseBrush(out ABrush: TUniversalBrush; AAlpha: Word); virtual;
Public procedure EraseEllipseAntialias(x, y, rx, ry: single; AAlpha: Byte); overload; virtual;
Public procedure EraseEllipseAntialias(const AOrigin, AXAxis, AYAxis: TPointF; AAlpha: Byte); overload; virtual;
Public procedure EraseEllipseInRect(ARect: TRect; alpha: byte); virtual;
Public procedure EraseHorizLine(x,y,x2: int32or64; alpha: byte); virtual;
Public procedure EraseLine(x1, y1, x2, y2: integer; alpha: byte; DrawLastPixel: boolean); virtual;
Public procedure EraseLineAntialias(x1, y1, x2, y2: integer; alpha: byte; DrawLastPixel: boolean); virtual;
Public procedure EraseLineAntialias(x1, y1, x2, y2: single; AAlpha: Byte; APenWidth: single; AClosedCap: boolean); overload; virtual;
Public procedure EraseLineAntialias(x1, y1, x2, y2: single; AAlpha: Byte; APenWidth: single); overload; virtual;
Public procedure ErasePath(APath: IBGRAPath; const AMatrix: TAffineMatrix; AAlpha: byte; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure ErasePath(APath: IBGRAPath; AAlpha: Byte; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure ErasePathAliased(APath: IBGRAPath; const AMatrix: TAffineMatrix; alpha: byte; APixelCenteredCoordinates: boolean = true); overload;
Public procedure ErasePathAliased(APath: IBGRAPath; alpha: byte; APixelCenteredCoordinates: boolean = true); overload;
Public procedure ErasePixel(x, y: int32or64; alpha: byte); virtual;
Public procedure ErasePixelF(x, y: single; alpha: byte); virtual;
Public procedure ErasePoly(const APoints: array of TPointF; alpha: byte; APixelCenteredCoordinates: boolean = true); virtual;
Public procedure ErasePolyAntialias(const APoints: array of TPointF; AAlpha: Byte; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure ErasePolygonOutline(const points: array of TPoint; alpha: byte);
Public procedure ErasePolygonOutlineAntialias(const APoints: array of TPointF; AAlpha: byte; APenWidth: single); overload; virtual;
Public procedure ErasePolygonOutlineAntialias(const points: array of TPoint; alpha: byte);
Public procedure ErasePolyLine(const points: array of TPoint; alpha: byte; ADrawLastPixel: boolean);
Public procedure ErasePolyLineAntialias(const APoints: array of TPointF; AAlpha: byte; APenWidth: single; AClosedCap: boolean); overload; virtual;
Public procedure ErasePolyLineAntialias(const points: array of TPoint; alpha: byte; ADrawLastPixel: boolean);
Public procedure ErasePolyLineAntialias(const APoints: array of TPointF; AAlpha: byte; APenWidth: single); overload; virtual;
Public procedure ErasePolyLineAntialiasAutocycle(const APoints: array of TPointF; AAlpha: byte; APenWidth: single); overload; virtual;
Public procedure EraseRect(const ARect: TRect; alpha: byte); virtual;
Public procedure EraseRect(ALeft, ATop, ARight, ABottom: integer; alpha: byte); virtual;
Public procedure EraseRectAntialias(const ARectF: TRectF; AAlpha: Byte; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure EraseRectAntialias(x, y, x2, y2: single; AAlpha: Byte; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure EraseRoundRect(X1, Y1, X2, Y2: integer; DX, DY: integer; alpha: byte); virtual;
Public procedure EraseRoundRectAntialias(x, y, x2, y2, rx, ry: single; AAlpha: Byte; AOptions: TRoundRectangleOptions = []; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure EraseShape(AShape: TBGRACustomFillInfo; alpha: byte); virtual;
Public procedure EraseShapeAntialias(AShape: TBGRACustomFillInfo; AAlpha: Byte); overload; virtual;
Public procedure EraseVertLine(x, y, y2: int32or64; alpha: byte); virtual;
Public procedure Fill(ATexture: IBGRAScanner; AMode: TDrawMode); overload; virtual;
Public procedure Fill(const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;
Public procedure Fill(ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word); overload; virtual;
Public procedure FillEllipseAntialias(const AOrigin, AXAxis, AYAxis: TPointF; ATexture: IBGRAScanner); overload; virtual;
Public procedure FillEllipseAntialias(const AOrigin, AXAxis, AYAxis: TPointF; const ABrush: TUniversalBrush); overload; virtual;
Public procedure FillEllipseAntialias(x, y, rx, ry: single; ATexture: IBGRAScanner); overload; virtual;
Public procedure FillEllipseAntialias(x, y, rx, ry: single; const ABrush: TUniversalBrush); overload; virtual;
Public procedure FillEllipseInRect(ARect: TRect; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;
Public procedure FillEllipseInRect(ARect: TRect; const AFillBrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;
Public procedure FillMask(x,y: integer; AMask: TCustomUniversalBitmap; ATexture: IBGRAScanner; AMode: TDrawMode); overload; virtual;
Public procedure FillMask(x,y: integer; AMask: TCustomUniversalBitmap; ATexture: IBGRAScanner; AMode: TDrawMode; AScanOffset: TPoint); overload; virtual;
Public procedure FillMask(x,y: integer; AMask: TCustomUniversalBitmap; ATexture: IBGRAScanner); overload; virtual;
Public procedure FillMask(x,y: integer; AMask: TCustomUniversalBitmap; const ABrush: TUniversalBrush); overload; virtual;
Public procedure FillPath(APath: IBGRAPath; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure FillPath(APath: IBGRAPath; ATexture: IBGRAScanner; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure FillPath(APath: IBGRAPath; const AMatrix: TAffineMatrix; ATexture: IBGRAScanner; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure FillPath(APath: IBGRAPath; const AMatrix: TAffineMatrix; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure FillPathAliased(APath: IBGRAPath; ATexture: IBGRAScanner; AMode: TDrawMode; APixelCenteredCoordinates: boolean = true; AAlpha: Word = 65535); overload;
Public procedure FillPathAliased(APath: IBGRAPath; const AMatrix: TAffineMatrix; ATexture: IBGRAScanner; AMode: TDrawMode; APixelCenteredCoordinates: boolean = true; AAlpha: Word = 65535); overload;
Public procedure FillPathAliased(APath: IBGRAPath; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true; AAlpha: Word = 65535); overload;
Public procedure FillPathAliased(APath: IBGRAPath; const AMatrix: TAffineMatrix; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true; AAlpha: Word = 65535); overload;
Public procedure FillPoly(const APoints: array of TPointF; ATexture: IBGRAScanner; AMode: TDrawMode; APixelCenteredCoordinates: boolean = true; AAlpha: Word = 65535); overload; virtual;
Public procedure FillPoly(const APoints: array of TPointF; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true; AAlpha: Word = 65535); overload; virtual;
Public procedure FillPolyAntialias(const APoints: array of TPointF; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure FillPolyAntialias(const APoints: array of TPointF; ATexture: IBGRAScanner; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure FillRect(ALeft, ATop, ARight, ABottom: integer; const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;
Public procedure FillRect(const ARect: TRect; const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;
Public procedure FillRect(ALeft, ATop, ARight, ABottom: integer; ATexture: IBGRAScanner; AMode: TDrawMode; AScanOffset: TPoint; AAlpha: Word = 65535); overload; virtual;
Public procedure FillRect(const ARect: TRect; ATexture: IBGRAScanner; AMode: TDrawMode; AScanOffset: TPoint; AAlpha: Word = 65535); overload; virtual;
Public procedure FillRect(ALeft, ATop, ARight, ABottom: integer; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;
Public procedure FillRect(const ARect: TRect; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;
Public procedure FillRectAntialias(x, y, x2, y2: single; ATexture: IBGRAScanner; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure FillRectAntialias(x, y, x2, y2: single; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure FillRectAntialias(const ARectF: TRectF; ATexture: IBGRAScanner; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure FillRectAntialias(const ARectF: TRectF; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure FillRoundRect(X1, Y1, X2, Y2: integer; DX, DY: integer; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;
Public procedure FillRoundRect(X1, Y1, X2, Y2: integer; DX, DY: integer; const AFillBrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;
Public procedure FillRoundRectAntialias(x, y, x2, y2, rx, ry: single; ATexture: IBGRAScanner; AOptions: TRoundRectangleOptions = []; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure FillRoundRectAntialias(x, y, x2, y2, rx, ry: single; const ABrush: TUniversalBrush; AOptions: TRoundRectangleOptions = []; APixelCenteredCoordinates: boolean = true); overload; virtual;
Public procedure FillShape(AShape: TBGRACustomFillInfo; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); virtual;
Public procedure FillShape(AShape: TBGRACustomFillInfo; const ABrush: TUniversalBrush; AAlpha: Word = 65535); virtual;
Public procedure FillShapeAntialias(AShape: TBGRACustomFillInfo; const ABrush: TUniversalBrush); overload; virtual;
Public procedure FillShapeAntialias(AShape: TBGRACustomFillInfo; ATexture: IBGRAScanner); overload; virtual;
Public procedure FillTransparent; virtual;
Public procedure FreeReference;
Public procedure GetPixelCycleIndirect(x,y: int32or64; AColor: pointer); virtual;
Public procedure GetPixelIndirect(x,y: int32or64; AColor: pointer); virtual;
Public procedure HorizLine(x, y, x2: int32or64; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;
Public procedure HorizLine(x, y, x2: int32or64; const ABrush: TUniversalBrush; AAlpha: Word = 65535); virtual;
Public procedure HorizontalFlip; overload; virtual;
Public procedure HorizontalFlip(ARect: TRect); overload; virtual;
Public procedure InvalidateBitmap; virtual;
Public procedure LoadFromBitmapIfNeeded; virtual;
Public procedure LoadFromFile(const AFilename:String; AHandler:TFPCustomImageReader); overload; virtual;
Public procedure LoadFromFile(const AFilename:String; AHandler:TFPCustomImageReader; AOptions: TBGRALoadingOptions); overload; virtual;
Public procedure LoadFromFile(const AFilename: string; AOptions: TBGRALoadingOptions); overload; virtual;
Public procedure LoadFromFile(const AFilename: string); overload; virtual;
Public procedure LoadFromFileUTF8(const AFilenameUTF8: string; AOptions: TBGRALoadingOptions = []); overload; virtual;
Public procedure LoadFromFileUTF8(const AFilenameUTF8: string; AHandler: TFPCustomImageReader; AOptions: TBGRALoadingOptions = []); overload; virtual;
Public procedure LoadFromResource(AFilename: string; AHandler: TFPCustomImageReader); overload; virtual;
Public procedure LoadFromResource(AFilename: string; AHandler: TFPCustomImageReader; AOptions: TBGRALoadingOptions); overload; virtual;
Public procedure LoadFromResource(AFilename: string); overload; virtual;
Public procedure LoadFromResource(AFilename: string; AOptions: TBGRALoadingOptions); overload; virtual;
Public procedure LoadFromStream(AStream: TStream; AHandler: TFPCustomImageReader); overload; virtual;
Public procedure LoadFromStream(AStream: TStream; AOptions: TBGRALoadingOptions); overload; virtual;
Public procedure LoadFromStream(AStream: TStream); overload; virtual;
Public procedure LoadFromStream(AStream: TStream; AHandler: TFPCustomImageReader; AOptions: TBGRALoadingOptions); overload; virtual;
Public class procedure MaskBrush(out ABrush: TUniversalBrush; AScanner: IBGRAScanner; AOffsetX: integer = 0; AOffsetY: integer = 0); virtual;
Public procedure NoClip; virtual;
Public procedure PutImage(X, Y: integer; ASource: TCustomUniversalBitmap; AMode: TDrawMode; AOpacity: byte = 255); virtual;
Public procedure Rectangle(x, y, x2, y2: integer; const ABorderBrush, AFillBrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;
Public procedure Rectangle(const ARect: TRect; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;
Public procedure Rectangle(const ARect: TRect; const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;
Public procedure Rectangle(x, y, x2, y2: integer; const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;
Public procedure Rectangle(x, y, x2, y2: integer; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;
Public procedure Rectangle(const ARect: TRect; const ABorderBrush, AFillBrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;
Public procedure RectangleAntialias(x, y, x2, y2: single; ATexture: IBGRAScanner; AWidth: single); overload; virtual;
Public procedure RectangleAntialias(x, y, x2, y2: single; const ABrush: TUniversalBrush; AWidth: single); overload; virtual;
Public procedure RotateUDInplace; overload; virtual;
Public procedure RotateUDInplace(ARect: TRect); overload; virtual;
Public procedure RoundRect(X1, Y1, X2, Y2: integer; DX, DY: integer; const ABorderBrush, AFillBrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;
Public procedure RoundRect(X1, Y1, X2, Y2: integer; DX, DY: integer; const ABorderBrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;
Public procedure RoundRect(X1, Y1, X2, Y2: integer; DX, DY: integer; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;
Public procedure SaveToFile(const AFilename: string; AHandler:TFPCustomImageWriter); overload; virtual;
Public procedure SaveToFile(const AFilename: string); overload; virtual;
Public procedure SaveToFileUTF8(const AFilenameUTF8: string); overload; virtual;
Public procedure SaveToFileUTF8(const AFilenameUTF8: string; AHandler:TFPCustomImageWriter); overload; virtual;
Public procedure SaveToStreamAs(AStream: TStream; AFormat: TBGRAImageFormat); virtual;
Public procedure SaveToStreamAsPng(AStream: TStream); virtual;
Public procedure ScanMoveTo(X,Y: Integer); virtual;
Public class procedure ScannerBrush(out ABrush: TUniversalBrush; AScanner: IBGRAScanner; ADrawMode: TDrawMode = dmDrawWithTransparency; AOffsetX: integer = 0; AOffsetY: integer = 0); virtual;
Public procedure ScanNextCustomChunk(var ACount: integer; out APixels: Pointer); virtual;
Public procedure ScanNextMaskChunk(var ACount: integer; out AMask: PByteMask; out AStride: integer); virtual;
Public procedure ScanPutPixels(pdest: PBGRAPixel; count: integer; mode: TDrawMode); virtual;
Public procedure ScanSkipPixels(ACount: integer); virtual;
Public procedure Serialize(AStream: TStream); virtual;
Public class procedure SerializeEmpty(AStream: TStream); static;
Public procedure SetPixelIndirect(x,y: int32or64; AColor: pointer); virtual;
Public procedure SetSize(AWidth, AHeight: integer); override;
Public procedure SolidBrushBGRA(out ABrush: TUniversalBrush; AColor: TBGRAPixel; ADrawMode: TDrawMode = dmDrawWithTransparency); overload; virtual;
Public procedure SolidBrushBGRA(out ABrush: TUniversalBrush; ARed,AGreen,ABlue,AAlpha: Byte; ADrawMode: TDrawMode = dmDrawWithTransparency); overload; virtual;
Public procedure SolidBrushExpanded(out ABrush: TUniversalBrush; AColor: TExpandedPixel; ADrawMode: TDrawMode = dmDrawWithTransparency); overload; virtual;
Public procedure SolidBrushExpanded(out ABrush: TUniversalBrush; ARed,AGreen,ABlue,AAlpha: Word; ADrawMode: TDrawMode = dmDrawWithTransparency); overload; virtual;
Public procedure SolidBrushIndirect(out ABrush: TUniversalBrush; AColor: Pointer; ADrawMode: TDrawMode = dmDrawWithTransparency); virtual;
Public procedure VerticalFlip(ARect: TRect); overload; virtual;
Public procedure VerticalFlip; overload; virtual;
Public procedure VertLine(x, y, y2: int32or64; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;
Public procedure VertLine(x, y, y2: int32or64; const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;
Protected procedure AssignTransparentPixel(out ADest); virtual;
Protected procedure FreeData; virtual;
Protected procedure Init; virtual;
Protected procedure InternalCopyPixels(ASource,ADest: PByte; ASourceStride,ADestStride: PtrInt; ACount: integer); virtual;
Protected procedure InternalSetPixels(ASource,ADest: PByte; ADestStride: PtrInt; ACount: integer); virtual;
Protected procedure InternalSwapPixels(ABuf1,ABuf2: PByte; AStride1,AStride2: PtrInt; ACount: integer); virtual;
Protected procedure RaiseInvalidBrushColorspace; virtual;
Protected procedure RaiseMissingUniDrawer; virtual;
Protected procedure ReallocData; virtual;
Protected procedure SetAntialiasingDrawMode(AValue: TDrawMode); virtual;
Protected procedure SetClipRect(const AValue: TRect); virtual;
Protected procedure SetInternalColor(x, y: integer; const Value: TFPColor); override;
Protected procedure SetInternalPixel(x, y: integer; Value: integer); override;
Protected procedure SetLinearAntialiasing(AValue: boolean); virtual;
Protected procedure SetLineCap(AValue: TPenEndCap); virtual;
Protected procedure SetLineOrder(AValue: TRawImageLineOrder); virtual;
Protected procedure SetResolutionUnit(AResolutionUnit: TResolutionUnit);

Properties

Public property AntialiasingDrawMode: TDrawMode read FAntialiasingDrawMode write SetAntialiasingDrawMode;
Public property Arrow: TBGRACustomArrow read GetArrow;
Public property ClipRect: TRect read GetClipRect write SetClipRect;
Public property Colorspace: TColorspaceAny read FColorspace;
Public property DataByte: PByte Read GetDataBytePtr;
Public property Empty: boolean Read CheckEmpty;
Public property HasSemiTransparentPixels: boolean Read GetHasSemiTransparentPixels;
Public property HasTransparentPixels: boolean Read GetHasTransparentPixels;
Public property Height: integer Read GetHeight;
Public property IsZero: boolean Read CheckIsZero;
Public property LinearAntialiasing: boolean read GetLinearAntialiasing write SetLinearAntialiasing;
Public property LineCap: TPenEndCap read GetLineCap write SetLineCap;
Public property LineOrder: TRawImageLineOrder Read GetLineOrder write SetLineOrder;
Public property NbPixels: integer Read GetNbPixels;
Public property Pen: TBGRACustomPenStroker read GetPenStroker;
Public property RefCount: integer Read GetRefCount;
Public property ReferenceWhite: PXYZReferenceWhite read FReferenceWhite write FReferenceWhite;
Public property ResolutionHeight: Single read GetResolutionHeight;
Public property ResolutionUnit: TResolutionUnit read FResolutionUnit write SetResolutionUnit;
Public property ResolutionWidth: Single read GetResolutionWidth;
Public property ResolutionX: Single read FResolutionX write FResolutionX;
Public property ResolutionY: Single read FResolutionY write FResolutionY;
Public property RowSize: PtrInt read FRowSize;
Public property ScanLineByte[y: integer]: PByte Read GetScanLineByte;
Public property Width: integer Read GetWidth;

Description

Fields

Public Caption: string;

User defined caption. It does not appear on the image

Protected FAntialiasingDrawMode: TDrawMode;

Specifies if linear antialiasing must be used when drawing antialiased shapes

Protected FClipRect: TRect;

current scan coordinates

Protected FColorspace: TColorspaceAny;

This item has no description.

Protected FConvertFromBGRA: TBridgedConversion;

This item has no description.

Protected FConvertFromExpanded: TBridgedConversion;

This item has no description.

Protected FConvertFromFPColor: TBridgedConversion;

This item has no description.

Protected FConvertToBGRA: TBridgedConversion;

This item has no description.

Protected FConvertToExpanded: TBridgedConversion;

This item has no description.

Protected FConvertToFPColor: TBridgedConversion;

This item has no description.

Protected FDataByte: PByte;

This item has no description.

Protected FHeight: integer;

This item has no description.

Public FillMode: TFillMode;

Method to use when filling polygons (winding or alternate). See [[BGRABitmap Types imported from Graphics|BGRAGraphics]]

Protected FLineOrder: TRawImageLineOrder;

This item has no description.

Protected FNbPixels: integer;

This item has no description.

Protected FPenStroker: TBGRACustomPenStroker;

This item has no description.

Protected FPixelSize: integer;

This item has no description.

Protected FRefCount: integer;

This item has no description.

Protected FReferenceWhite: PXYZReferenceWhite;

This item has no description.

Protected FResolutionUnit: TResolutionUnit;

Resolution

Protected FResolutionX: Single;

This item has no description.

Protected FResolutionY: Single;

This item has no description.

Protected FRowSize: PtrInt;

This item has no description.

Protected FScanCurX: integer;

current scan address

Protected FScanCurY: integer;

current scan address

Protected FScanHeight: integer;

Scan

Protected FScanPtr: PByte;

possibility to reduce the zone being scanned

Protected FScanWidth: integer;

Scan

Protected FWidth: integer;

This item has no description.

Public ScanOffset: TPoint;

Offset to apply when the image is scanned

Methods

Public constructor Create; overload;

Creates an image of width and height equal to zero. In this case, ''DataByte'' = '''nil'''

Public constructor Create(AWidth, AHeight: integer); overload; override;

Creates a new bitmap, initialize properties and bitmap data

Public constructor Create(AColorspace: TColorspaceAny; ALineOrder: TRawImageLineOrder); overload;

This item has no description.

Public constructor Create(AColorspace: TColorspaceAny; AWidth, AHeight: integer; ALineOrder: TRawImageLineOrder); overload;

This item has no description.

Public destructor Destroy; override;

This item has no description.

Public function CheckClippedRectBounds(var x,y,x2,y2: integer): boolean;

Check if the bounds are within the clipping rectangle and adjust the coordinates to fit (similar to IntersectRect but may flip the coordinates)

Public function Duplicate(ACopyProperties: boolean=false): TCustomUniversalBitmap; virtual;

This item has no description.

Public function FilterBlurMotion(const ABounds: TRect; distance: single; angle: single; oriented: boolean; ACopyProperties: Boolean=False): TCustomUniversalBitmap; overload; virtual;

This item has no description.

Public function FilterBlurMotion(distance: single; angle: single; oriented: boolean; ACopyProperties: Boolean=False): TCustomUniversalBitmap; overload; virtual;

This item has no description.

Public function FilterBlurRadial(radius: single; blurType: TRadialBlurType; ACopyProperties: Boolean=False): TCustomUniversalBitmap; overload; virtual;

filters

Public function FilterBlurRadial(const ABounds: TRect; radius: single; blurType: TRadialBlurType; ACopyProperties: Boolean=False): TCustomUniversalBitmap; overload; virtual;

This item has no description.

Public function FilterBlurRadial(const ABounds: TRect; radiusX, radiusY: single; blurType: TRadialBlurType; ACopyProperties: Boolean=False): TCustomUniversalBitmap; overload; virtual;

This item has no description.

Public function FilterBlurRadial(radiusX, radiusY: single; blurType: TRadialBlurType; ACopyProperties: Boolean=False): TCustomUniversalBitmap; overload; virtual;

This item has no description.

Public function FilterCustomBlur(const ABounds: TRect; mask: TCustomUniversalBitmap; ACopyProperties: Boolean=False): TCustomUniversalBitmap; overload; virtual;

This item has no description.

Public function FilterCustomBlur(mask: TCustomUniversalBitmap; ACopyProperties: Boolean=False): TCustomUniversalBitmap; overload; virtual;

This item has no description.

Public function GetImageBounds: TRect; overload; virtual;

This item has no description.

Public function GetImageBounds(Channels: TChannels; ANothingValue: Byte = 0): TRect; overload;

This item has no description.

Public function GetImageBounds(Channel: TChannel; ANothingValue: Byte = 0): TRect; overload;

This item has no description.

Public function GetImageBoundsWithin(const ARect: TRect; Channels: TChannels; ANothingValue: Byte = 0): TRect; overload; virtual;

This item has no description.

Public function GetImageBoundsWithin(const ARect: TRect; Channel: TChannel = cAlpha; ANothingValue: Byte = 0): TRect; overload; virtual;

This item has no description.

Public function GetPart(const ARect: TRect; ACopyProperties: Boolean=False): TCustomUniversalBitmap; virtual;

Get a part of the image with repetition in both directions. It means that if the bounds are within the image, the result is just that part of the image, but if the bounds are bigger than the image, the image is tiled.

Public function GetPixelAddress(x,y: integer): PByte; virtual;

Returns the address of a pixel. /!\ Does not check if the coordinates are valid.

Public function GetScanCustomColorspace: TColorspaceAny; virtual;

This item has no description.

Public function GetUnique: TCustomUniversalBitmap; virtual;

Returns an object with a reference count equal to 1. Duplicate this bitmap if necessary

Public function IntersectClip(const ARect: TRect): TRect;

Reduce the clipping region further by intersection and returns the previous clipping rectangle

Public function IsScanPutPixelsDefined: boolean; virtual;

This item has no description. Showing description inherited from IBGRAScanner.IsScanPutPixelsDefined.

Returns True if the function ScanPutPixels is available. Otherwise you need to call ScanNextPixel and combine pixels for example with SetPixel

Public function NewBitmap: TCustomUniversalBitmap; overload; virtual;

This item has no description.

Public function NewBitmap(AWidth, AHeight: integer): TCustomUniversalBitmap; overload; virtual;

This item has no description.

Public function NewBitmap(AWidth, AHeight: integer; AColor: Pointer): TCustomUniversalBitmap; overload; virtual;

This item has no description.

Public function NewReference: TCustomUniversalBitmap; virtual;

Adds a reference (this reference count is not the same as the reference count of an interface, it changes only by explicit calls)

Public function PtInClipRect(x, y: int32or64): boolean; inline;

Checks if the specified point is in the clipping rectangle ''ClipRect''

Public function RotateCCW(ACopyProperties: Boolean=False): TCustomUniversalBitmap; virtual;

Return a new bitmap rotated in a counter clock wise direction.

Public function RotateCW(ACopyProperties: Boolean=False): TCustomUniversalBitmap; virtual;

Return a new bitmap rotated in a clock wise direction.

Public function RotateUD(ACopyProperties: Boolean=False): TCustomUniversalBitmap; virtual;

Return a new bitmap rotated 180° (upside down).

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

This item has no description. Showing description inherited from IBGRAScanner.ScanAt.

Scan at any location using floating point coordinates

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

This item has no description.

Public function ScanAtInteger(X,Y: integer): TBGRAPixel; virtual;

This item has no description. Showing description inherited from IBGRAScanner.ScanAtInteger.

Scan at any location using integer coordinates

Public function ScanAtIntegerExpanded(X, Y: integer): TExpandedPixel; virtual;

This item has no description.

Public function ScanAtIntegerMask(X,Y: integer): TByteMask; virtual;

This item has no description.

Public function ScanAtMask(X,Y: Single): TByteMask; virtual;

This item has no description.

Public function ScanNextExpandedPixel: TExpandedPixel; virtual;

This item has no description.

Public function ScanNextPixel: TBGRAPixel; virtual;

This item has no description. Showing description inherited from IBGRAScanner.ScanNextPixel.

Scan the pixel at the current location and increments X

Protected function CheckEmpty: boolean; virtual;

This item has no description.

Protected function CheckHorizLineBounds(var x:int32or64; y: int32or64; var x2: int32or64): boolean; inline;

This item has no description.

Protected function CheckIsZero: boolean; virtual;

This item has no description.

Protected function CheckVertLineBounds(x: int32or64; var y, y2: int32or64): boolean; inline;

This item has no description.

Protected class function DefaultColorspace: TColorspaceAny; virtual;

This item has no description.

Protected function GetArrow: TBGRACustomArrow; virtual;

==== Pen style ====

Protected function GetClipRect: TRect; virtual;

This item has no description.

Protected function GetDataBytePtr: PByte; virtual;

This item has no description.

Protected function GetHasSemiTransparentPixels: boolean; virtual;

This item has no description.

Protected function GetHasTransparentPixels: boolean; virtual;

This item has no description.

Protected function GetHeight: integer; virtual;

This item has no description.

Protected function GetInternalColor(x, y: integer): TFPColor; override;

This item has no description.

Protected function GetInternalPen: TBGRACustomPenStroker; virtual;

This item has no description.

Protected function GetInternalPixel(x, y: integer): integer; override;

This item has no description.

Protected function GetLinearAntialiasing: boolean; virtual;

This item has no description.

Protected function GetLineCap: TPenEndCap; virtual;

This item has no description.

Protected function GetLineOrder: TRawImageLineOrder; virtual;

This item has no description.

Protected function GetNbPixels: integer; virtual;

This item has no description.

Protected function GetPenStroker: TBGRACustomPenStroker; virtual;

This item has no description.

Protected function GetRefCount: integer; virtual;

This item has no description.

Protected function GetResolutionHeight: Single; virtual;

This item has no description.

Protected function GetResolutionWidth: Single; virtual;

This item has no description.

Protected function GetScanlineAt(X, Y: integer): PBGRAPixel; virtual;

This item has no description.

Protected function GetScanLineByte(y: integer): PByte; virtual;

This item has no description.

Protected function GetTextureGL: IUnknown; virtual;

This item has no description. Showing description inherited from IBGRAScanner.GetTextureGL.

Returns the corresponding OpenGL texture. The value is nil if no texture is associated. **

Protected function GetWidth: integer; virtual;

This item has no description.

Protected function InternalDuplicate(ACopyProperties: boolean=false): TCustomUniversalBitmap; virtual;

This item has no description.

Protected function InternalNew: TCustomUniversalBitmap; virtual;

This item has no description.

Protected function ProvidesScanline(ARect: TRect): boolean; virtual;

==== 'IBGRAScanner'' interface ====

Protected function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;

interface

Protected function _AddRef: Integer; stdcall;

This item has no description.

Protected function _Release: Integer; stdcall;

This item has no description.

Public class procedure AlphaBrush(out ABrush: TUniversalBrush; AAlpha: Word); virtual;

This item has no description.

Public procedure AlphaFill(alpha: byte); virtual;

This item has no description.

Public procedure AlphaFillEllipseInRect(ARect: TRect; alpha: byte); virtual;

This item has no description.

Public procedure AlphaFillPathAliased(APath: IBGRAPath; alpha: byte; APixelCenteredCoordinates: boolean = true); overload;

This item has no description.

Public procedure AlphaFillPathAliased(APath: IBGRAPath; const AMatrix: TAffineMatrix; alpha: byte; APixelCenteredCoordinates: boolean = true); overload;

This item has no description.

Public procedure AlphaFillPoly(const APoints: array of TPointF; alpha: byte; APixelCenteredCoordinates: boolean = true); virtual;

This item has no description.

Public procedure AlphaFillRect(const ARect: TRect; alpha: byte); virtual;

This item has no description.

Public procedure AlphaFillRect(ALeft, ATop, ARight, ABottom: integer; alpha: byte); virtual;

This item has no description.

Public procedure AlphaFillRoundRect(X1, Y1, X2, Y2: integer; DX, DY: integer; alpha: byte); virtual;

This item has no description.

Public procedure AlphaFillShape(AShape: TBGRACustomFillInfo; alpha: byte); virtual;

This item has no description.

Public procedure AlphaHorizLine(x,y,x2: int32or64; alpha: byte); virtual;

This item has no description.

Public procedure AlphaLine(x1, y1, x2, y2: integer; alpha: byte; DrawLastPixel: boolean); virtual;

This item has no description.

Public procedure AlphaLineAntialias(x1, y1, x2, y2: integer; alpha: byte; DrawLastPixel: boolean); virtual;

This item has no description.

Public procedure AlphaPixel(x, y: int32or64; alpha: byte); virtual;

Sets the alpha value at (''x'',''y''). If ''alpha'' = 0, the pixel is replaced by the transparent pixel

Public procedure AlphaPixelF(x, y: single; alpha: byte); virtual;

This item has no description.

Public procedure AlphaPolygonOutline(const points: array of TPoint; alpha: byte);

This item has no description.

Public procedure AlphaPolygonOutlineAntialias(const points: array of TPoint; alpha: byte);

This item has no description.

Public procedure AlphaPolyLine(const points: array of TPoint; alpha: byte; ADrawLastPixel: boolean);

This item has no description.

Public procedure AlphaPolyLineAntialias(const points: array of TPoint; alpha: byte; ADrawLastPixel: boolean);

This item has no description.

Public procedure AlphaVertLine(x, y, y2: int32or64; alpha: byte); virtual;

This item has no description.

Public procedure ApplyGlobalOpacity(ARect: TRect; alpha: byte); overload; virtual;

This item has no description.

Public procedure ApplyGlobalOpacity(alpha: byte); overload; virtual;

This item has no description.

Public procedure ApplyMask(mask: TCustomUniversalBitmap; ARect: TRect; AMaskRectTopLeft: TPoint; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure ApplyMask(mask: TCustomUniversalBitmap; AAlpha: Word = 65535); overload;

Masking

Public procedure ApplyMask(mask: TCustomUniversalBitmap; ARect: TRect; AAlpha: Word = 65535); overload;

This item has no description.

Public procedure Assign(Source: TPersistent; ACopyProperties: Boolean); virtual; overload;

This item has no description.

Public procedure Assign(Source: TPersistent); override;

This item has no description.

Public procedure ClearTransparentPixels; virtual;

Clear all channels of transparent pixels

Public procedure CopyPropertiesTo(ABitmap: TCustomUniversalBitmap); virtual;

This item has no description.

Public procedure Deserialize(AStream: TStream); virtual;

Reads the image in a stream that was previously serialized

Public procedure DrawCheckers(ARect: TRect; const ABrushEven,ABrushOdd: TUniversalBrush; AGridWidth: integer = 8; AGridHeight: integer = 8); overload; virtual;

This item has no description.

Public procedure DrawLine(x1, y1, x2, y2: integer; const ABrush: TUniversalBrush; ADrawLastPixel: boolean; AAlpha: Word = 65535); overload; virtual;

Draws an aliased line from (x1,y1) to (x2,y2) using Bresenham's algorithm. ''DrawLastPixel'' specifies if (x2,y2) must be drawn.

Public procedure DrawLine(x1, y1, x2, y2: integer; ATexture: IBGRAScanner; AMode: TDrawMode; ADrawLastPixel: boolean; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure DrawLineAntialias(x1, y1, x2, y2: integer; const ABrush1, ABrush2: TUniversalBrush; ADashLen: integer; ADrawLastPixel: boolean; AAlpha: Word = 65535); overload; virtual;

Draws an antialiased line with two brushes as dashes of length ''ADashLen''. ''ADashPos'' can be used to specify the start dash position and to retrieve the dash position at the end of the line, in order to draw a polyline with consistent dashes

Public procedure DrawLineAntialias(x1, y1, x2, y2: integer; ATexture: IBGRAScanner; AMode: TDrawMode; ADrawLastPixel: boolean; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure DrawLineAntialias(x1, y1, x2, y2: integer; const ABrush: TUniversalBrush; ADrawLastPixel: boolean; AAlpha: Word = 65535); overload; virtual;

Draws an antialiased line from (x1,y1) to (x2,y2) using an improved version of Bresenham's algorithm ''DrawLastPixel'' specifies if (x2,y2) must be drawn

Public procedure DrawLineAntialias(x1, y1, x2, y2: integer; const ABrush1, ABrush2: TUniversalBrush; ADashLen: integer; var ADashPos: integer; ADrawLastPixel: boolean; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure DrawLineAntialias(x1, y1, x2, y2: single; ATexture: IBGRAScanner; APenWidth: single); overload; virtual;

Draws a line from (x1,y1) to (x2,y2) using current pen style/cap/join. ''texture'' specifies the source color to use when filling the line

Public procedure DrawLineAntialias(x1, y1, x2, y2: single; const ABrush: TUniversalBrush; APenWidth: single); overload; virtual;

Draws a line from (x1,y1) to (x2,y2) using current pen style/cap/join

Public procedure DrawLineAntialias(x1, y1, x2, y2: single; ATexture: IBGRAScanner; APenWidth: single; AClosedCap: boolean); overload; virtual;

Same as above with ''texture'' specifying the source color to use when filling the line

Public procedure DrawLineAntialias(x1, y1, x2, y2: single; const ABrush: TUniversalBrush; APenWidth: single; AClosedCap: boolean); overload; virtual;

Draws a line from (x1,y1) to (x2,y2) using current pen style/cap/join. ''Closed'' specifies if the end of the line is roundly closed. If it is not closed, a space is left so that the next line can fit

Public procedure DrawPath(APath: IBGRAPath; const AMatrix: TAffineMatrix; const ABrush: TUniversalBrush; AWidth: single; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure DrawPath(APath: IBGRAPath; ATexture: IBGRAScanner; AWidth: single; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure DrawPath(APath: IBGRAPath; const ABrush: TUniversalBrush; AWidth: single; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure DrawPath(APath: IBGRAPath; const AMatrix: TAffineMatrix; ATexture: IBGRAScanner; AWidth: single; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure DrawPathAliased(APath: IBGRAPath; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true; AAlpha: Word = 65535); overload;

This item has no description.

Public procedure DrawPathAliased(APath: IBGRAPath; const AMatrix: TAffineMatrix; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true; AAlpha: Word = 65535); overload;

This item has no description.

Public procedure DrawPixel(x,y: Int32or64; const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure DrawPixel(x,y: Int32or64; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure DrawPixelF(x,y: single; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure DrawPixelF(x,y: single; const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure DrawPolygon(const points: array of TPoint; const ABrush: TUniversalBrush; AAlpha: Word = 65535);

This item has no description.

Public procedure DrawPolygonAntialias(const APoints: array of TPointF; const ABrush: TUniversalBrush; APenWidth: single); overload; virtual;

Draws a polygon using current pen style/cap/join. The polygon is always closed. You don't need to set the last point to be the same as the first point

Public procedure DrawPolygonAntialias(const points: array of TPoint; const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload;

This item has no description.

Public procedure DrawPolygonAntialias(const points: array of TPoint; const ABrush1, ABrush2: TUniversalBrush; ADashLen: integer; AAlpha: Word = 65535); overload;

This item has no description.

Public procedure DrawPolygonAntialias(const APoints: array of TPointF; ATexture: IBGRAScanner; APenWidth: single); overload; virtual;

This item has no description.

Public procedure DrawPolyLine(const points: array of TPoint; const ABrush: TUniversalBrush; ADrawLastPixel: boolean; AAlpha: Word = 65535);

This item has no description.

Public procedure DrawPolyLineAntialias(const APoints: array of TPointF; const ABrush: TUniversalBrush; APenWidth: single); overload; virtual;

Draws a polyline using current pen style/cap/join

Public procedure DrawPolyLineAntialias(const APoints: array of TPointF; ATexture: IBGRAScanner; APenWidth: single); overload; virtual;

Draws a polyline using current pen style/cap/join. ''texture'' specifies the source color to use when filling the line

Public procedure DrawPolyLineAntialias(const points: array of TPoint; const ABrush: TUniversalBrush; ADrawLastPixel: boolean; AAlpha: Word = 65535); overload;

This item has no description.

Public procedure DrawPolyLineAntialias(const points: array of TPoint; const ABrush1, ABrush2: TUniversalBrush; ADashLen: integer; ADrawLastPixel: boolean; AAlpha: Word = 65535); overload;

This item has no description.

Public procedure DrawPolyLineAntialias(const APoints: array of TPointF; ATexture: IBGRAScanner; APenWidth: single; AClosedCap: boolean); overload; virtual;

This item has no description.

Public procedure DrawPolyLineAntialias(const APoints: array of TPointF; const ABrush: TUniversalBrush; APenWidth: single; AClosedCap: boolean); overload; virtual;

Draws a polyline using current pen style/cap/join. ''Closed'' specifies if the end of the line is roundly closed. If it is not closed, a space is left so that the next line can fit

Public procedure DrawPolyLineAntialiasAutocycle(const APoints: array of TPointF; const ABrush: TUniversalBrush; APenWidth: single); overload; virtual;

Draws a polyline using current pen style/cap/join. The last point considered as a join with the first point if it has the same coordinate

Public procedure DrawPolyLineAntialiasAutocycle(const APoints: array of TPointF; ATexture: IBGRAScanner; APenWidth: single); overload; virtual;

Draws a polygon using current pen style/cap/join. Use a texture to fill the line. The polygon is always closed. You don't need to set the last point to be the same as the first point

Public procedure Ellipse(x, y, rx, ry: single; ATexture: IBGRAScanner; AWidth: single; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure Ellipse(x, y, rx, ry: single; const ABrush: TUniversalBrush; AWidth: single; AAlpha: Word = 65535); overload; virtual;

Draws an ellipse without antialising. ''rx'' is the horizontal radius and ''ry'' the vertical radius

Public procedure Ellipse(const AOrigin, AXAxis, AYAxis: TPointF; ATexture: IBGRAScanner; AWidth: single; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure Ellipse(const AOrigin, AXAxis, AYAxis: TPointF; const ABrush: TUniversalBrush; AWidth: single; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure EllipseAntialias(x, y, rx, ry: single; ATexture: IBGRAScanner; AWidth: single); overload; virtual;

This item has no description.

Public procedure EllipseAntialias(x, y, rx, ry: single; const ABrush: TUniversalBrush; AWidth: single); overload; virtual;

Draws an ellipse with antialising. ''rx'' is the horizontal radius and ''ry'' the vertical radius

Public procedure EllipseAntialias(const AOrigin, AXAxis, AYAxis: TPointF; ATexture: IBGRAScanner; AWidth: single); overload; virtual;

This item has no description.

Public procedure EllipseAntialias(const AOrigin, AXAxis, AYAxis: TPointF; const ABrush: TUniversalBrush; AWidth: single); overload; virtual;

This item has no description.

Public procedure EllipseInRect(ARect: TRect; const ABorderBrush, AFillBrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure EllipseInRect(ARect: TRect; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure EllipseInRect(ARect: TRect; const ABorderBrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public class procedure EraseBrush(out ABrush: TUniversalBrush; AAlpha: Word); virtual;

This item has no description.

Public procedure EraseEllipseAntialias(x, y, rx, ry: single; AAlpha: Byte); overload; virtual;

Erases the content of an ellipse which axes are parallel to X and Y axes

Public procedure EraseEllipseAntialias(const AOrigin, AXAxis, AYAxis: TPointF; AAlpha: Byte); overload; virtual;

Erases the content of an ellipse with any axes

Public procedure EraseEllipseInRect(ARect: TRect; alpha: byte); virtual;

This item has no description.

Public procedure EraseHorizLine(x,y,x2: int32or64; alpha: byte); virtual;

This item has no description.

Public procedure EraseLine(x1, y1, x2, y2: integer; alpha: byte; DrawLastPixel: boolean); virtual;

Erases the line from (x1,y1) to (x2,y2) using Bresenham's algorithm. ''alpha'' specifies how much to decrease. If ''alpha'' = 0, nothing is changed and if ''alpha'' = 255, all pixels become transparent. ''DrawListPixel'' specifies if (x2,y2) must be changed

Public procedure EraseLineAntialias(x1, y1, x2, y2: integer; alpha: byte; DrawLastPixel: boolean); virtual;

Erases the line from (x1,y1) to (x2,y2) width antialiasing. ''alpha'' specifies how much to decrease. If ''alpha'' = 0, nothing is changed and if ''alpha'' = 255, all pixels become transparent. ''DrawListPixel'' specifies if (x2,y2) must be changed

Public procedure EraseLineAntialias(x1, y1, x2, y2: single; AAlpha: Byte; APenWidth: single; AClosedCap: boolean); overload; virtual;

Erases a line from (x1,y1) to (x2,y2) using current pen style/cap/join. ''Closed'' specifies if the end of the line is roundly closed. If it is not closed, a space is left so that the next line can fit

Public procedure EraseLineAntialias(x1, y1, x2, y2: single; AAlpha: Byte; APenWidth: single); overload; virtual;

Erases a line from (x1,y1) to (x2,y2) using current pen style/cap/join

Public procedure ErasePath(APath: IBGRAPath; const AMatrix: TAffineMatrix; AAlpha: byte; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure ErasePath(APath: IBGRAPath; AAlpha: Byte; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure ErasePathAliased(APath: IBGRAPath; const AMatrix: TAffineMatrix; alpha: byte; APixelCenteredCoordinates: boolean = true); overload;

This item has no description.

Public procedure ErasePathAliased(APath: IBGRAPath; alpha: byte; APixelCenteredCoordinates: boolean = true); overload;

This item has no description.

Public procedure ErasePixel(x, y: int32or64; alpha: byte); virtual;

Erase the content of the pixel by reducing the value of the alpha channel. ''alpha'' specifies how much to decrease. If the resulting alpha reaches zero, the content is replaced by the transparent pixel

Public procedure ErasePixelF(x, y: single; alpha: byte); virtual;

This item has no description.

Public procedure ErasePoly(const APoints: array of TPointF; alpha: byte; APixelCenteredCoordinates: boolean = true); virtual;

This item has no description.

Public procedure ErasePolyAntialias(const APoints: array of TPointF; AAlpha: Byte; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure ErasePolygonOutline(const points: array of TPoint; alpha: byte);

This item has no description.

Public procedure ErasePolygonOutlineAntialias(const APoints: array of TPointF; AAlpha: byte; APenWidth: single); overload; virtual;

This item has no description.

Public procedure ErasePolygonOutlineAntialias(const points: array of TPoint; alpha: byte);

This item has no description.

Public procedure ErasePolyLine(const points: array of TPoint; alpha: byte; ADrawLastPixel: boolean);

This item has no description.

Public procedure ErasePolyLineAntialias(const APoints: array of TPointF; AAlpha: byte; APenWidth: single; AClosedCap: boolean); overload; virtual;

This item has no description.

Public procedure ErasePolyLineAntialias(const points: array of TPoint; alpha: byte; ADrawLastPixel: boolean);

This item has no description.

Public procedure ErasePolyLineAntialias(const APoints: array of TPointF; AAlpha: byte; APenWidth: single); overload; virtual;

Erases a polyline using current pen style/cap/join

Public procedure ErasePolyLineAntialiasAutocycle(const APoints: array of TPointF; AAlpha: byte; APenWidth: single); overload; virtual;

This item has no description.

Public procedure EraseRect(const ARect: TRect; alpha: byte); virtual;

This item has no description.

Public procedure EraseRect(ALeft, ATop, ARight, ABottom: integer; alpha: byte); virtual;

This item has no description.

Public procedure EraseRectAntialias(const ARectF: TRectF; AAlpha: Byte; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure EraseRectAntialias(x, y, x2, y2: single; AAlpha: Byte; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure EraseRoundRect(X1, Y1, X2, Y2: integer; DX, DY: integer; alpha: byte); virtual;

This item has no description.

Public procedure EraseRoundRectAntialias(x, y, x2, y2, rx, ry: single; AAlpha: Byte; AOptions: TRoundRectangleOptions = []; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure EraseShape(AShape: TBGRACustomFillInfo; alpha: byte); virtual;

This item has no description.

Public procedure EraseShapeAntialias(AShape: TBGRACustomFillInfo; AAlpha: Byte); overload; virtual;

This item has no description.

Public procedure EraseVertLine(x, y, y2: int32or64; alpha: byte); virtual;

This item has no description.

Public procedure Fill(ATexture: IBGRAScanner; AMode: TDrawMode); overload; virtual;

This item has no description.

Public procedure Fill(const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;

Fill the whole image regardless of clipping rect

Public procedure Fill(ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word); overload; virtual;

This item has no description.

Public procedure FillEllipseAntialias(const AOrigin, AXAxis, AYAxis: TPointF; ATexture: IBGRAScanner); overload; virtual;

This item has no description.

Public procedure FillEllipseAntialias(const AOrigin, AXAxis, AYAxis: TPointF; const ABrush: TUniversalBrush); overload; virtual;

Fills an ellipse with any axes

Public procedure FillEllipseAntialias(x, y, rx, ry: single; ATexture: IBGRAScanner); overload; virtual;

This item has no description.

Public procedure FillEllipseAntialias(x, y, rx, ry: single; const ABrush: TUniversalBrush); overload; virtual;

Fills an ellipse which axes are parallel to X and Y axes

Public procedure FillEllipseInRect(ARect: TRect; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure FillEllipseInRect(ARect: TRect; const AFillBrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure FillMask(x,y: integer; AMask: TCustomUniversalBitmap; ATexture: IBGRAScanner; AMode: TDrawMode); overload; virtual;

This item has no description.

Public procedure FillMask(x,y: integer; AMask: TCustomUniversalBitmap; ATexture: IBGRAScanner; AMode: TDrawMode; AScanOffset: TPoint); overload; virtual;

This item has no description.

Public procedure FillMask(x,y: integer; AMask: TCustomUniversalBitmap; ATexture: IBGRAScanner); overload; virtual;

This item has no description.

Public procedure FillMask(x,y: integer; AMask: TCustomUniversalBitmap; const ABrush: TUniversalBrush); overload; virtual;

This item has no description.

Public procedure FillPath(APath: IBGRAPath; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure FillPath(APath: IBGRAPath; ATexture: IBGRAScanner; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure FillPath(APath: IBGRAPath; const AMatrix: TAffineMatrix; ATexture: IBGRAScanner; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure FillPath(APath: IBGRAPath; const AMatrix: TAffineMatrix; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure FillPathAliased(APath: IBGRAPath; ATexture: IBGRAScanner; AMode: TDrawMode; APixelCenteredCoordinates: boolean = true; AAlpha: Word = 65535); overload;

This item has no description.

Public procedure FillPathAliased(APath: IBGRAPath; const AMatrix: TAffineMatrix; ATexture: IBGRAScanner; AMode: TDrawMode; APixelCenteredCoordinates: boolean = true; AAlpha: Word = 65535); overload;

This item has no description.

Public procedure FillPathAliased(APath: IBGRAPath; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true; AAlpha: Word = 65535); overload;

This item has no description.

Public procedure FillPathAliased(APath: IBGRAPath; const AMatrix: TAffineMatrix; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true; AAlpha: Word = 65535); overload;

This item has no description.

Public procedure FillPoly(const APoints: array of TPointF; ATexture: IBGRAScanner; AMode: TDrawMode; APixelCenteredCoordinates: boolean = true; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure FillPoly(const APoints: array of TPointF; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure FillPolyAntialias(const APoints: array of TPointF; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure FillPolyAntialias(const APoints: array of TPointF; ATexture: IBGRAScanner; APixelCenteredCoordinates: boolean = true); overload; virtual;

Fills a polygon with a texture and with antialiased borders.

Texture will be repeated if smaller than output area.

fillpolyantialias_texture

procedure TForm1.FormPaint(Sender: TObject);
var image: TBGRABitmap;
    tex: TBGRABitmap;
begin
  //black background
  image := TBGRABitmap.Create(ClientWidth,ClientHeight, BGRABlack );

  tex:= TBGRABitmap.Create('image.png'); //load a bitmap
  image.FillPolyAntialias( [PointF(110,10), PointF(250,10), PointF(350,160), PointF(10,160)], tex);
  tex.Free;

  image.Draw(Canvas,0,0,True); //draw on the screen
  image.free;
end;

Public procedure FillRect(ALeft, ATop, ARight, ABottom: integer; const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;

Fills completely a rectangle, without any border

Public procedure FillRect(const ARect: TRect; const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure FillRect(ALeft, ATop, ARight, ABottom: integer; ATexture: IBGRAScanner; AMode: TDrawMode; AScanOffset: TPoint; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure FillRect(const ARect: TRect; ATexture: IBGRAScanner; AMode: TDrawMode; AScanOffset: TPoint; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure FillRect(ALeft, ATop, ARight, ABottom: integer; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure FillRect(const ARect: TRect; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure FillRectAntialias(x, y, x2, y2: single; ATexture: IBGRAScanner; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure FillRectAntialias(x, y, x2, y2: single; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true); overload; virtual;

Fills a rectangle with antialiasing. Note that the pixel (x2,y2) is included contrary to integer coordinates. For example (-0.5,-0.5,0.5,0.5) with pixel-centered coords fills one pixel

Public procedure FillRectAntialias(const ARectF: TRectF; ATexture: IBGRAScanner; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure FillRectAntialias(const ARectF: TRectF; const ABrush: TUniversalBrush; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure FillRoundRect(X1, Y1, X2, Y2: integer; DX, DY: integer; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure FillRoundRect(X1, Y1, X2, Y2: integer; DX, DY: integer; const AFillBrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure FillRoundRectAntialias(x, y, x2, y2, rx, ry: single; ATexture: IBGRAScanner; AOptions: TRoundRectangleOptions = []; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure FillRoundRectAntialias(x, y, x2, y2, rx, ry: single; const ABrush: TUniversalBrush; AOptions: TRoundRectangleOptions = []; APixelCenteredCoordinates: boolean = true); overload; virtual;

This item has no description.

Public procedure FillShape(AShape: TBGRACustomFillInfo; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); virtual;

This item has no description.

Public procedure FillShape(AShape: TBGRACustomFillInfo; const ABrush: TUniversalBrush; AAlpha: Word = 65535); virtual;

This item has no description.

Public procedure FillShapeAntialias(AShape: TBGRACustomFillInfo; const ABrush: TUniversalBrush); overload; virtual;

==== Antialias fill ====

Public procedure FillShapeAntialias(AShape: TBGRACustomFillInfo; ATexture: IBGRAScanner); overload; virtual;

This item has no description.

Public procedure FillTransparent; virtual;

This item has no description.

Public procedure FreeReference;

Free a reference. When the resulting reference count gets to zero, the image is freed. The initial reference count is equal to 1

Public procedure GetPixelCycleIndirect(x,y: int32or64; AColor: pointer); virtual;

This item has no description.

Public procedure GetPixelIndirect(x,y: int32or64; AColor: pointer); virtual;

This item has no description.

Public procedure HorizLine(x, y, x2: int32or64; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;

Draws an horizontal line at line ''y'' and at columns ''x'' to ''x2'' included, using specified scanner and the specified ''AMode''

Public procedure HorizLine(x, y, x2: int32or64; const ABrush: TUniversalBrush; AAlpha: Word = 65535); virtual;

This item has no description.

Public procedure HorizontalFlip; overload; virtual;

This item has no description.

Public procedure HorizontalFlip(ARect: TRect); overload; virtual;

This item has no description.

Public procedure InvalidateBitmap; virtual;

This item has no description.

Public procedure LoadFromBitmapIfNeeded; virtual;

call if you modify with Scanline

Public procedure LoadFromFile(const AFilename:String; AHandler:TFPCustomImageReader); overload; virtual;

Load image from a file with the specified image reader. ''filename'' is an ANSI string

Public procedure LoadFromFile(const AFilename:String; AHandler:TFPCustomImageReader; AOptions: TBGRALoadingOptions); overload; virtual;

This item has no description.

Public procedure LoadFromFile(const AFilename: string; AOptions: TBGRALoadingOptions); overload; virtual;

This item has no description.

Public procedure LoadFromFile(const AFilename: string); overload; virtual;

Load image from a file. ''filename'' is an ANSI string

Public procedure LoadFromFileUTF8(const AFilenameUTF8: string; AOptions: TBGRALoadingOptions = []); overload; virtual;

Load image from a file. ''filename'' is an UTF8 string

Public procedure LoadFromFileUTF8(const AFilenameUTF8: string; AHandler: TFPCustomImageReader; AOptions: TBGRALoadingOptions = []); overload; virtual;

Load image from a file with the specified image reader. ''filename'' is an UTF8 string

Public procedure LoadFromResource(AFilename: string; AHandler: TFPCustomImageReader); overload; virtual;

Load image from an embedded Lazarus resource. The specified image reader is used

Public procedure LoadFromResource(AFilename: string; AHandler: TFPCustomImageReader; AOptions: TBGRALoadingOptions); overload; virtual;

This item has no description.

Public procedure LoadFromResource(AFilename: string); overload; virtual;

Load image from an embedded Lazarus resource. Format is detected automatically

Public procedure LoadFromResource(AFilename: string; AOptions: TBGRALoadingOptions); overload; virtual;

This item has no description.

Public procedure LoadFromStream(AStream: TStream; AHandler: TFPCustomImageReader); overload; virtual;

Load image from a stream. The specified image reader is used

Public procedure LoadFromStream(AStream: TStream; AOptions: TBGRALoadingOptions); overload; virtual;

This item has no description.

Public procedure LoadFromStream(AStream: TStream); overload; virtual;

Load image from a stream. Format is detected automatically

Public procedure LoadFromStream(AStream: TStream; AHandler: TFPCustomImageReader; AOptions: TBGRALoadingOptions); overload; virtual;

This item has no description.

Public class procedure MaskBrush(out ABrush: TUniversalBrush; AScanner: IBGRAScanner; AOffsetX: integer = 0; AOffsetY: integer = 0); virtual;

This item has no description.

Public procedure NoClip; virtual;

Stop clipping (clipping rectangle becomes the whole image)

Public procedure PutImage(X, Y: integer; ASource: TCustomUniversalBitmap; AMode: TDrawMode; AOpacity: byte = 255); virtual;

This item has no description.

Public procedure Rectangle(x, y, x2, y2: integer; const ABorderBrush, AFillBrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;

Draw a filled rectangle with a border

Public procedure Rectangle(const ARect: TRect; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure Rectangle(const ARect: TRect; const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure Rectangle(x, y, x2, y2: integer; const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;

Draw the border of a rectangle

Public procedure Rectangle(x, y, x2, y2: integer; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure Rectangle(const ARect: TRect; const ABorderBrush, AFillBrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure RectangleAntialias(x, y, x2, y2: single; ATexture: IBGRAScanner; AWidth: single); overload; virtual;

This item has no description.

Public procedure RectangleAntialias(x, y, x2, y2: single; const ABrush: TUniversalBrush; AWidth: single); overload; virtual;

This item has no description.

Public procedure RotateUDInplace; overload; virtual;

This item has no description.

Public procedure RotateUDInplace(ARect: TRect); overload; virtual;

This item has no description.

Public procedure RoundRect(X1, Y1, X2, Y2: integer; DX, DY: integer; const ABorderBrush, AFillBrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure RoundRect(X1, Y1, X2, Y2: integer; DX, DY: integer; const ABorderBrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure RoundRect(X1, Y1, X2, Y2: integer; DX, DY: integer; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure SaveToFile(const AFilename: string; AHandler:TFPCustomImageWriter); overload; virtual;

Save image to a file with the specified image writer. ''filename'' is an ANSI string

Public procedure SaveToFile(const AFilename: string); overload; virtual;

Save image to a file. The format is guessed from the file extension. ''filename'' is an ANSI string

Public procedure SaveToFileUTF8(const AFilenameUTF8: string); overload; virtual;

Save image to a file. The format is guessed from the file extension. ''filename'' is an ANSI string

Public procedure SaveToFileUTF8(const AFilenameUTF8: string; AHandler:TFPCustomImageWriter); overload; virtual;

Save image to a file with the specified image writer. ''filename'' is an UTF8 string

Public procedure SaveToStreamAs(AStream: TStream; AFormat: TBGRAImageFormat); virtual;

Save image to a stream in the specified image format

Public procedure SaveToStreamAsPng(AStream: TStream); virtual;

Save image to a stream in PNG format

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

This item has no description. Showing description inherited from IBGRAScanner.ScanMoveTo.

Move to the position (X, Y) for the next call to ScanNextPixel

Public class procedure ScannerBrush(out ABrush: TUniversalBrush; AScanner: IBGRAScanner; ADrawMode: TDrawMode = dmDrawWithTransparency; AOffsetX: integer = 0; AOffsetY: integer = 0); virtual;

This item has no description.

Public procedure ScanNextCustomChunk(var ACount: integer; out APixels: Pointer); virtual;

This item has no description.

Public procedure ScanNextMaskChunk(var ACount: integer; out AMask: PByteMask; out AStride: integer); virtual;

This item has no description.

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

This item has no description. Showing description inherited from IBGRAScanner.ScanPutPixels.

Copy a row of pixels from X to X + count - 1 to a specified destination pdest. mode indicates how to combine with existing data

Public procedure ScanSkipPixels(ACount: integer); virtual;

This item has no description.

Public procedure Serialize(AStream: TStream); virtual;

Stores the image in the stream without compression nor header

Public class procedure SerializeEmpty(AStream: TStream); static;

Stores an empty image (of size zero)

Public procedure SetPixelIndirect(x,y: int32or64; AColor: pointer); virtual;

This item has no description.

Public procedure SetSize(AWidth, AHeight: integer); override;

Sets the dimension of an existing bitmap /!\ Data can be random

Public procedure SolidBrushBGRA(out ABrush: TUniversalBrush; AColor: TBGRAPixel; ADrawMode: TDrawMode = dmDrawWithTransparency); overload; virtual;

This item has no description.

Public procedure SolidBrushBGRA(out ABrush: TUniversalBrush; ARed,AGreen,ABlue,AAlpha: Byte; ADrawMode: TDrawMode = dmDrawWithTransparency); overload; virtual;

This item has no description.

Public procedure SolidBrushExpanded(out ABrush: TUniversalBrush; AColor: TExpandedPixel; ADrawMode: TDrawMode = dmDrawWithTransparency); overload; virtual;

This item has no description.

Public procedure SolidBrushExpanded(out ABrush: TUniversalBrush; ARed,AGreen,ABlue,AAlpha: Word; ADrawMode: TDrawMode = dmDrawWithTransparency); overload; virtual;

This item has no description.

Public procedure SolidBrushIndirect(out ABrush: TUniversalBrush; AColor: Pointer; ADrawMode: TDrawMode = dmDrawWithTransparency); virtual;

This item has no description.

Public procedure VerticalFlip(ARect: TRect); overload; virtual;

This item has no description.

Public procedure VerticalFlip; overload; virtual;

This item has no description.

Public procedure VertLine(x, y, y2: int32or64; ATexture: IBGRAScanner; AMode: TDrawMode; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Public procedure VertLine(x, y, y2: int32or64; const ABrush: TUniversalBrush; AAlpha: Word = 65535); overload; virtual;

This item has no description.

Protected procedure AssignTransparentPixel(out ADest); virtual;

This item has no description.

Protected procedure FreeData; virtual;

This item has no description.

Protected procedure Init; virtual;

ReadWriteConfig: TBGRAReadWriteConfig;

Protected procedure InternalCopyPixels(ASource,ADest: PByte; ASourceStride,ADestStride: PtrInt; ACount: integer); virtual;

This item has no description.

Protected procedure InternalSetPixels(ASource,ADest: PByte; ADestStride: PtrInt; ACount: integer); virtual;

This item has no description.

Protected procedure InternalSwapPixels(ABuf1,ABuf2: PByte; AStride1,AStride2: PtrInt; ACount: integer); virtual;

This item has no description.

Protected procedure RaiseInvalidBrushColorspace; virtual;

This item has no description.

Protected procedure RaiseMissingUniDrawer; virtual;

This item has no description.

Protected procedure ReallocData; virtual;

This item has no description.

Protected procedure SetAntialiasingDrawMode(AValue: TDrawMode); virtual;

This item has no description.

Protected procedure SetClipRect(const AValue: TRect); virtual;

This item has no description.

Protected procedure SetInternalColor(x, y: integer; const Value: TFPColor); override;

TFPCustomImage

Protected procedure SetInternalPixel(x, y: integer; Value: integer); override;

This item has no description.

Protected procedure SetLinearAntialiasing(AValue: boolean); virtual;

This item has no description.

Protected procedure SetLineCap(AValue: TPenEndCap); virtual;

This item has no description.

Protected procedure SetLineOrder(AValue: TRawImageLineOrder); virtual;

This item has no description.

Protected procedure SetResolutionUnit(AResolutionUnit: TResolutionUnit);

This item has no description.

Properties

Public property AntialiasingDrawMode: TDrawMode read FAntialiasingDrawMode write SetAntialiasingDrawMode;

This item has no description.

Public property Arrow: TBGRACustomArrow read GetArrow;

Properties of arrow ends

Public property ClipRect: TRect read GetClipRect write SetClipRect;

Clipping rectangle for all drawing functions

Public property Colorspace: TColorspaceAny read FColorspace;

This item has no description.

Public property DataByte: PByte Read GetDataBytePtr;

Provides a pointer to the first pixel in memory. Depending on the ''LineOrder'' property, this can be the top-left pixel or the bottom-left pixel. There is no padding between scanlines. See [[BGRABitmap tutorial 4]]

Public property Empty: boolean Read CheckEmpty;

Returns True if the bitmap only contains transparent pixels or has a size of zero

Public property HasSemiTransparentPixels: boolean Read GetHasSemiTransparentPixels;

Returns True if there are semitransparent pixels and so if the image would be stored with an alpha channel of at least 8 bit

Public property HasTransparentPixels: boolean Read GetHasTransparentPixels;

Returns True if there are transparent and so if the image would be stored at least with an alpha channel of 1 bit

Public property Height: integer Read GetHeight;

Height of the image in pixels

Public property IsZero: boolean Read CheckIsZero;

Returns True if the bitmap is filled with zero values or has a size of zero

Public property LinearAntialiasing: boolean read GetLinearAntialiasing write SetLinearAntialiasing;

This item has no description.

Public property LineCap: TPenEndCap read GetLineCap write SetLineCap;

How to draw the ends of a line (applies to arrow as well)

Public property LineOrder: TRawImageLineOrder Read GetLineOrder write SetLineOrder;

Indicates the order in which lines are stored in memory. If it is equal to ''riloTopToBottom'', the first line is the top line. If it is equal to ''riloBottomToTop'', the first line is the bottom line. See [[BGRABitmap Miscellaneous types|miscellaneous types]]

Public property NbPixels: integer Read GetNbPixels;

Total number of pixels. It is always true that ''NbPixels'' = ''Width'' * ''Height''

Public property Pen: TBGRACustomPenStroker read GetPenStroker;

You can use this class set pen style and generate strokes polygonal representations

Public property RefCount: integer Read GetRefCount;

Number of references to this image. It is increased by the function ''NewReference'' and decreased by the function ''FreeReference''

Public property ReferenceWhite: PXYZReferenceWhite read FReferenceWhite write FReferenceWhite;

Current reference white used for color conversion

Public property ResolutionHeight: Single read GetResolutionHeight;

This item has no description.

Public property ResolutionUnit: TResolutionUnit read FResolutionUnit write SetResolutionUnit;

Resolution

Public property ResolutionWidth: Single read GetResolutionWidth;

This item has no description.

Public property ResolutionX: Single read FResolutionX write FResolutionX;

This item has no description.

Public property ResolutionY: Single read FResolutionY write FResolutionY;

This item has no description.

Public property RowSize: PtrInt read FRowSize;

Size in bytes of a row of pixels

Public property ScanLineByte[y: integer]: PByte Read GetScanLineByte;

Returns the address of the left-most pixel of any line. The parameter y ranges from 0 to Height-1

Public property Width: integer Read GetWidth;

Width of the image in pixels