Unit BGRALayers

📄 Source code

Description

Layered image, each layer being a TBGRABitmap or rendered from an original. It can handle SVG format, gradients and blend modes.

Uses

Overview

Structures

Name Description
Class TBGRACustomLayeredBitmap Abstract class for storing a layered bitmap
Class TBGRALayeredBitmap Base implementation for a layered bitmap
Record TBGRALayerInfo Information about one layer
Record TBGRALayerOriginalEntry Entry for one original in a list of originals

Functions and Procedures

function BGRALayerOriginalEntry(AInstance: TBGRALayerCustomOriginal): TBGRALayerOriginalEntry;
function BGRALayerOriginalEntry(AGuid: TGuid): TBGRALayerOriginalEntry;
procedure OnLayeredBitmapLoaded;
procedure OnLayeredBitmapLoadFromStreamStart;
procedure OnLayeredBitmapLoadProgress(APercentage: integer);
procedure OnLayeredBitmapLoadStart(AFilenameUTF8: string);
procedure OnLayeredBitmapSaved;
procedure OnLayeredBitmapSaveProgress(APercentage: integer);
procedure OnLayeredBitmapSaveStart(AFilenameUTF8: string);
procedure OnLayeredBitmapSaveToStreamStart;
procedure RegisterLayeredBitmapReader(AExtensionUTF8: string; AReader: TBGRACustomLayeredBitmapClass);
procedure RegisterLayeredBitmapWriter(AExtensionUTF8: string; AWriter: TBGRALayeredBitmapClass);
procedure RegisterLoadingHandler(AStart: TOnLayeredBitmapLoadStartProc; AProgress: TOnLayeredBitmapLoadProgressProc; ADone: TOnLayeredBitmapLoadedProc);
procedure RegisterSavingHandler(AStart: TOnLayeredBitmapSaveStartProc; AProgress: TOnLayeredBitmapSaveProgressProc; ADone: TOnLayeredBitmapSavedProc);
function TryCreateLayeredBitmapReader(AExtensionUTF8: string): TBGRACustomLayeredBitmap;
function TryCreateLayeredBitmapWriter(AExtensionUTF8: string): TBGRALayeredBitmap;
procedure UnregisterLoadingHandler(AStart: TOnLayeredBitmapLoadStartProc; AProgress: TOnLayeredBitmapLoadProgressProc; ADone: TOnLayeredBitmapLoadedProc);
procedure UnregisterSavingHandler(AStart: TOnLayeredBitmapSaveStartProc; AProgress: TOnLayeredBitmapSaveProgressProc; ADone: TOnLayeredBitmapSavedProc);

Types

TAffineMatrix = BGRABitmapTypes.TAffineMatrix;
TBGRACustomLayeredBitmapClass = class of TBGRACustomLayeredBitmap;
TBGRALayeredBitmapCheckStreamProc = function(AStream: TStream): boolean;
TBGRALayeredBitmapClass = class of TBGRALayeredBitmap;
TBGRALayeredBitmapLoadFromStreamProc = procedure(AStream: TStream; ALayers: TBGRACustomLayeredBitmap);
TBGRALayeredBitmapSaveToStreamProc = procedure(AStream: TStream; ALayers: TBGRACustomLayeredBitmap);
TBGRALayerOriginalList = specialize TFPGList<TBGRALayerOriginalEntry>;
TEmbeddedOriginalChangeEvent = procedure (ASender: TObject; AOriginal: TBGRALayerCustomOriginal; var ADiff: TBGRAOriginalDiff) of object;
TEmbeddedOriginalEditingChangeEvent = procedure (ASender: TObject; AOriginal: TBGRALayerCustomOriginal) of object;
TEmbeddedOriginalLoadErrorEvent = procedure (ASender: TObject; AError: string; var ARaise: boolean) of object;
TLayeredActionProgressEvent = procedure(ASender: TObject; AProgressPercent: integer) of object;
TOnLayeredBitmapLoadedProc = procedure() of object;
TOnLayeredBitmapLoadProgressProc = procedure(APercentage: integer) of object;
TOnLayeredBitmapLoadStartProc = procedure(AFilenameUTF8: string) of object;
TOnLayeredBitmapSavedProc = procedure() of object;
TOnLayeredBitmapSaveProgressProc = procedure(APercentage: integer) of object;
TOnLayeredBitmapSaveStartProc = procedure(AFilenameUTF8: string) of object;
TOriginalRenderStatus = (...);

Constants

RenderTempSubDirectory = 'temp';

Variables

LayeredBitmapCheckStreamProc: TBGRALayeredBitmapCheckStreamProc;
LayeredBitmapLoadFromStreamProc: TBGRALayeredBitmapLoadFromStreamProc;
LayeredBitmapSaveToStreamProc: TBGRALayeredBitmapSaveToStreamProc;

Description

Functions and Procedures

function BGRALayerOriginalEntry(AInstance: TBGRALayerCustomOriginal): TBGRALayerOriginalEntry;

This item has no description.

function BGRALayerOriginalEntry(AGuid: TGuid): TBGRALayerOriginalEntry;

This item has no description.

procedure OnLayeredBitmapLoaded;

This item has no description.

procedure OnLayeredBitmapLoadFromStreamStart;

This item has no description.

procedure OnLayeredBitmapLoadProgress(APercentage: integer);

This item has no description.

procedure OnLayeredBitmapLoadStart(AFilenameUTF8: string);

This item has no description.

procedure OnLayeredBitmapSaved;

This item has no description.

procedure OnLayeredBitmapSaveProgress(APercentage: integer);

This item has no description.

procedure OnLayeredBitmapSaveStart(AFilenameUTF8: string);

This item has no description.

procedure OnLayeredBitmapSaveToStreamStart;

This item has no description.

procedure RegisterLayeredBitmapReader(AExtensionUTF8: string; AReader: TBGRACustomLayeredBitmapClass);

This item has no description.

procedure RegisterLayeredBitmapWriter(AExtensionUTF8: string; AWriter: TBGRALayeredBitmapClass);

This item has no description.

procedure RegisterLoadingHandler(AStart: TOnLayeredBitmapLoadStartProc; AProgress: TOnLayeredBitmapLoadProgressProc; ADone: TOnLayeredBitmapLoadedProc);

This item has no description.

procedure RegisterSavingHandler(AStart: TOnLayeredBitmapSaveStartProc; AProgress: TOnLayeredBitmapSaveProgressProc; ADone: TOnLayeredBitmapSavedProc);

This item has no description.

function TryCreateLayeredBitmapReader(AExtensionUTF8: string): TBGRACustomLayeredBitmap;

This item has no description.

function TryCreateLayeredBitmapWriter(AExtensionUTF8: string): TBGRALayeredBitmap;

This item has no description.

procedure UnregisterLoadingHandler(AStart: TOnLayeredBitmapLoadStartProc; AProgress: TOnLayeredBitmapLoadProgressProc; ADone: TOnLayeredBitmapLoadedProc);

This item has no description.

procedure UnregisterSavingHandler(AStart: TOnLayeredBitmapSaveStartProc; AProgress: TOnLayeredBitmapSaveProgressProc; ADone: TOnLayeredBitmapSavedProc);

This item has no description.

Types

TAffineMatrix = BGRABitmapTypes.TAffineMatrix;

An affine matrix contains three 2D vectors: the image of x, the image of y and the translation

TBGRACustomLayeredBitmapClass = class of TBGRACustomLayeredBitmap;

This item has no description.

TBGRALayeredBitmapCheckStreamProc = function(AStream: TStream): boolean;

This item has no description.

TBGRALayeredBitmapClass = class of TBGRALayeredBitmap;

This item has no description.

TBGRALayeredBitmapLoadFromStreamProc = procedure(AStream: TStream; ALayers: TBGRACustomLayeredBitmap);

This item has no description.

TBGRALayeredBitmapSaveToStreamProc = procedure(AStream: TStream; ALayers: TBGRACustomLayeredBitmap);

This item has no description.

TBGRALayerOriginalList = specialize TFPGList<TBGRALayerOriginalEntry>;

This item has no description.

TEmbeddedOriginalChangeEvent = procedure (ASender: TObject; AOriginal: TBGRALayerCustomOriginal; var ADiff: TBGRAOriginalDiff) of object;

This item has no description.

TEmbeddedOriginalEditingChangeEvent = procedure (ASender: TObject; AOriginal: TBGRALayerCustomOriginal) of object;

This item has no description.

TEmbeddedOriginalLoadErrorEvent = procedure (ASender: TObject; AError: string; var ARaise: boolean) of object;

This item has no description.

TLayeredActionProgressEvent = procedure(ASender: TObject; AProgressPercent: integer) of object;

This item has no description.

TOnLayeredBitmapLoadedProc = procedure() of object;

This item has no description.

TOnLayeredBitmapLoadProgressProc = procedure(APercentage: integer) of object;

This item has no description.

TOnLayeredBitmapLoadStartProc = procedure(AFilenameUTF8: string) of object;

This item has no description.

TOnLayeredBitmapSavedProc = procedure() of object;

This item has no description.

TOnLayeredBitmapSaveProgressProc = procedure(APercentage: integer) of object;

This item has no description.

TOnLayeredBitmapSaveStartProc = procedure(AFilenameUTF8: string) of object;

This item has no description.

TOriginalRenderStatus = (...);

This item has no description.

Values
  • orsNone
  • orsDraft
  • orsPartialDraft
  • orsProof
  • orsPartialProof

Constants

RenderTempSubDirectory = 'temp';

This item has no description.

Variables

LayeredBitmapCheckStreamProc: TBGRALayeredBitmapCheckStreamProc;

This item has no description.

LayeredBitmapLoadFromStreamProc: TBGRALayeredBitmapLoadFromStreamProc;

This item has no description.

LayeredBitmapSaveToStreamProc: TBGRALayeredBitmapSaveToStreamProc;

This item has no description.