Class TBidiTextLayout

Unit

Declaration

type TBidiTextLayout = class(TObject)

Description

Computes, updates, and render text using Unicode bidirectional algorithm

Hierarchy

Overview

Fields

Protected FAnalysis: TUnicodeAnalysis;
Protected FColor: TBGRAPixel;
Protected FComputedBrokenLineCount: integer;
Protected FComputedPartCount: integer;
Protected FLineHeight: single;
Protected FParagraph: array of TParagraphInfo;
Protected FRenderer: TBGRACustomFontRenderer;
Protected FTexture: IBGRAScanner;

Methods

Public constructor Create(AFontRenderer: TBGRACustomFontRenderer; sUTF8: string); overload;
Public constructor Create(AFontRenderer: TBGRACustomFontRenderer; sUTF8: string; ARightToLeft: boolean); overload;
Public constructor Create(AFontRenderer: TBGRACustomFontRenderer; sUTF8: string; AFontBidiMode: TFontBidiMode); overload;
Public destructor Destroy; override;
Public function AddOverrideIfNecessary(var sUTF8: string; ARightToLeft: boolean): boolean;
Public function CopyText(APosition, ACount: integer): string;
Public function CopyTextBefore(APosition, ACount: integer): string;
Public function DeleteText(APosition, ACount: integer): integer;
Public function DeleteTextBefore(APosition, ACount: integer): integer;
Public function FindTextAbove(AFromPosition: integer): integer;
Public function FindTextBelow(AFromPosition: integer): integer;
Public function GetBrokenLineAt(ACharIndex: integer): integer;
Public function GetCaret(ACharIndex: integer): TBidiCaretPos;
Public function GetCharIndexAt(APosition: TPointF; ABetweenGlyphs: boolean = true): integer;
Public function GetParagraphAt(ACharIndex: Integer): integer; overload;
Public function GetParagraphAt(APosition: TPointF): integer; overload;
Public function GetTextEnveloppe(AStartIndex, AEndIndex: integer; APixelCenteredCoordinates: boolean = true; AMergeBoxes: boolean = true; AVerticalClip: boolean = false): ArrayOfTPointF;
Public function GetTextPart(APartIndex: integer; AAddOverrideIfNecessary: boolean): string;
Public function GetUntransformedCaret(ACharIndex: integer): TBidiCaretPos;
Public function GetUntransformedTextEnveloppe(AStartIndex, AEndIndex: integer; APixelCenteredCoordinates: boolean = true; AMergeBoxes: boolean = true; AVerticalClip: boolean = false): ArrayOfTPointF;
Public function IncludeNonSpacingChars(APosition, ACount: integer; AIncludeCombiningMarks: boolean = true): integer;
Public function IncludeNonSpacingCharsBefore(APosition, ACount: integer; AIncludeCombiningMarks: boolean = true): integer;
Public function InsertLineSeparator(APosition: integer): integer;
Public function InsertText(ATextUTF8: string; APosition: integer): integer;
Protected function ComputeBidiTree(AMaxWidth: single; startIndex, endIndex: integer; bidiLevel: byte): TBidiTree;
Protected function GetFontBaseline: single;
Protected function GetFontFullHeight: single;
Protected function GetFontOrientation: single;
Protected function GetPartEndCaret(APartIndex: integer): TBidiCaretPos;
Protected function GetPartStartCaret(APartIndex: integer): TBidiCaretPos;
Protected function GetSameLevelString(startIndex,endIndex: integer; out nonDiscardedCount: integer): string; overload;
Protected function GetSameLevelString(startIndex,endIndex: integer): string; overload;
Protected function GetUntransformedParagraphAt(APosition: TPointF): integer; overload;
Protected function GetUntransformedPartEndCaret(APartIndex: integer; APart: PPartInfo): TBidiCaretPos;
Protected function GetUntransformedPartEndCaret(APartIndex: integer): TBidiCaretPos;
Protected function GetUntransformedPartStartCaret(APartIndex: integer; APrevPart, APart: PPartInfo): TBidiCaretPos;
Protected function GetUntransformedPartStartCaret(APartIndex: integer): TBidiCaretPos;
Protected function TextFitInfoBidiOverride(sUTF8: string; AWidth: single; ARightToLeft: boolean): integer;
Protected function TextSizeBidiOverride(sUTF8: string; ARightToLeft: boolean): TPointF;
Protected function TextSizeBidiOverrideSplit(AStartIndex, AEndIndex: integer; ARightToLeft: boolean; ASplitIndex: integer): TPointF;
Public procedure ComputeLayoutIfNeeded;
Public procedure DrawBrokenLines(ADest: TBGRACustomBitmap; AFirstBroken, ALastBrokenPlus1: integer); overload;
Public procedure DrawBrokenLines(ADest: TBGRACustomBitmap; ATexture: IBGRAScanner; AFirstBroken, ALastBrokenPlus1: integer); overload;
Public procedure DrawBrokenLines(ADest: TBGRACustomBitmap; AColor: TBGRAPixel; AFirstBroken, ALastBrokenPlus1: integer); overload;
Public procedure DrawCaret(ADest: TBGRACustomBitmap; ACharIndex: integer; AMainColor, ASecondaryColor: TBGRAPixel);
Public procedure DrawParagraphs(ADest: TBGRACustomBitmap; AColor: TBGRAPixel; AFirstPara, ALastParaPlus1: integer); overload;
Public procedure DrawParagraphs(ADest: TBGRACustomBitmap; AFirstPara, ALastParaPlus1: integer); overload;
Public procedure DrawParagraphs(ADest: TBGRACustomBitmap; ATexture: IBGRAScanner; AFirstPara, ALastParaPlus1: integer); overload;
Public procedure DrawSelection(ADest: TBGRACustomBitmap; AStartIndex, AEndIndex: integer; AFillColor: TBGRAPixel; ABorderColor: TBGRAPixel; APenWidth: single); overload;
Public procedure DrawSelection(ADest: TBGRACustomBitmap; AStartIndex, AEndIndex: integer; AFillColor: TBGRAPixel); overload;
Public procedure DrawText(ADest: TBGRACustomBitmap); overload;
Public procedure DrawText(ADest: TBGRACustomBitmap; AColor: TBGRAPixel); overload;
Public procedure DrawText(ADest: TBGRACustomBitmap; ATexture: IBGRAScanner); overload;
Public procedure DrawTextParts(ADest: TBGRACustomBitmap; ATexture: IBGRAScanner; AFirstPart, ALastPartPlus1: integer); overload;
Public procedure DrawTextParts(ADest: TBGRACustomBitmap; AFirstPart, ALastPartPlus1: integer); overload;
Public procedure DrawTextParts(ADest: TBGRACustomBitmap; AColor: TBGRAPixel; AFirstPart, ALastPartPlus1: integer); overload;
Public procedure InvalidateLayout;
Public procedure PathBrokenLines(ADest: IBGRAPath; AFirstBroken, ALastBrokenPlus1: integer); overload;
Public procedure PathBrokenLines(ADest: IBGRAPath; AClipRect: TRect; AFirstBroken, ALastBrokenPlus1: integer); overload;
Public procedure PathParagraphs(ADest: IBGRAPath; AClipRect: TRect; AFirstPara, ALastParaPlus1: integer); overload;
Public procedure PathParagraphs(ADest: IBGRAPath; AFirstPara, ALastParaPlus1: integer); overload;
Public procedure PathText(ADest: IBGRAPath);
Public procedure PathText(ADest: IBGRAPath; AClipRect: TRect);
Public procedure PathTextParts(ADest: IBGRAPath; AFirstPart, ALastPartPlus1: integer); overload;
Public procedure PathTextParts(ADest: IBGRAPath; AClipRect: TRect; AFirstPart, ALastPartPlus1: integer); overload;
Public procedure SetLayout(ARect: TRectF);
Protected procedure AddPart(AStartIndex, AEndIndex: integer; ABidiLevel: byte; ARectF: TRectF; APosCorrection: TPointF; ABrokenLineIndex: integer; ABrokenLine: PBrokenLineInfo);
Protected procedure AddPartsFromTree(APos: TPointF; ATree: TBidiTree; fullHeight, baseLine: single; ABrokenLineIndex: integer; ABrokenLine: PBrokenLineInfo);
Protected procedure AnalysisChanged(ASender: TObject; AParagraphIndex: integer; ACharStart, ACharCount: integer);
Protected procedure BidiModeChanged(ASender: TObject);
Protected procedure CharDeleted(ASender: TObject; AParagraphIndex: integer; ACharStart, ACharCount: integer);
Protected procedure CharInserted(ASender: TObject; AParagraphIndex: integer; ACharStart, ACharCount: integer);
Protected procedure CheckTextLayout;
Protected procedure ComputeLayout; virtual;
Protected procedure Init(ATextUTF8: string; ABidiMode: TFontBidiMode); virtual;
Protected procedure InternalDrawText(ADest: TBGRACustomBitmap);
Protected procedure InternalDrawTextParts(ADest: TBGRACustomBitmap; AFirstPart, ALastPartPlus1: integer);
Protected procedure InternalInvalidateParagraphLayout(AParagraphIndex: integer);
Protected procedure InternalParagraphDeleted(AParagraphIndex: integer);
Protected procedure InternalPathText(ADest: IBGRAPath); overload;
Protected procedure InternalPathText(ADest: IBGRAPath; AClipRect: TRect); overload;
Protected procedure InternalPathTextParts(ADest: IBGRAPath; AFirstPart, ALastPartPlus1: integer); overload;
Protected procedure InternalPathTextParts(ADest: IBGRAPath; AClipRect: TRect; AFirstPart, ALastPartPlus1: integer); overload;
Protected procedure InternalRangeError;
Protected procedure InvalidateParagraphLayout(AParagraphIndex: integer);
Protected procedure NeedLayout;
Protected procedure OffsetParagraph(AParagraphIndex: integer; ADeltaY: single; ADeltaBroken, ADeltaPart: integer);
Protected procedure OffsetParagraphCharIndex(AParagraphIndex: integer; ADeltaChar: integer);
Protected procedure ParagraphDeleted(ASender: TObject; AParagraphIndex: integer);
Protected procedure ParagraphMergedWithNext(ASender: TObject; AParagraphIndex: integer);
Protected procedure ParagraphSplit(ASender: TObject; AParagraphIndex: integer; ACharIndex: integer);
Protected procedure TextOutBidiOverride(ADest: TBGRACustomBitmap; x, y: single; sUTF8: string; ARightToLeft: boolean);
Protected procedure TextPathBidiOverride(ADest: IBGRAPath; x, y: single; sUTF8: string; ARightToLeft: boolean);
Protected procedure TrimParagraphLayoutVertically(AParagraphIndex: integer);

Properties

Public property AvailableHeight: single read FAvailableHeight write SetAvailableHeight;
Public property AvailableWidth: single read FAvailableWidth write SetAvailableWidth;
Public property BrokenLineAffineBox[AIndex: integer]: TAffineBox read GetBrokenLineAffineBox;
Public property BrokenLineCount: integer read GetBrokenLineCount;
Public property BrokenLineEndCaret[AIndex: integer]: TBidiCaretPos read GetBrokenLineEndCaret;
Public property BrokenLineEndIndex[AIndex: integer]: integer read GetBrokenLineEndIndex;
Public property BrokenLineEndPart[AIndex: integer]: integer read GetBrokenLineEndPart;
Public property BrokenLineParagraphIndex[AIndex: integer]: integer read GetBrokenLineParagraphIndex;
Public property BrokenLineRectF[AIndex: integer]: TRectF read GetBrokenLineRectF;
Public property BrokenLineRightToLeft[AIndex: integer]: boolean read GetBrokenLineRightToLeft;
Public property BrokenLineStartCaret[AIndex: integer]: TBidiCaretPos read GetBrokenLineStartCaret;
Public property BrokenLineStartIndex[AIndex: integer]: integer read GetBrokenLineStartIndex;
Public property BrokenLineStartPart[AIndex: integer]: integer read GetBrokenLineStartPart;
Public property BrokenLineUnbrokenIndex[AIndex: integer]: integer read GetBrokenLineUnbrokenIndex;
Public property BrokenLineUsedWidth[AIndex: integer]: single read GetBrokenLineUsedWidth;
Public property CharCount: integer read GetCharCount;
Public property ClipMargin: integer read FClipMargin write FClipMargin;
Public property FontBidiMode: TFontBidiMode read GetFontBidiMode write SetFontBidiMode;
Public property FontRenderer: TBGRACustomFontRenderer read FRenderer write SetFontRenderer;
Protected property LayoutComputed: boolean read GetLayoutComputed;
Public property LineHeight: single read GetLineHeight;
Public property Matrix: TAffineMatrix read GetMatrix;
Public property MatrixInverse: TAffineMatrix read GetMatrixInverse;
Public property OnBrokenLinesChanged: TBrokenLinesChangedEvent read FOnBrokenLinesChanged write FOnBrokenLinesChanged;
Public property OnParagraphChanged: TParagraphEvent read FOnParagraphChanged write FOnParagraphChanged;
Public property OnParagraphDeleted : TParagraphEvent read FOnParagraphDeleted write FOnParagraphDeleted;
Public property OnParagraphMergedWithNext: TParagraphEvent read FOnParagraphMergedWithNext write FOnParagraphMergedWithNext;
Public property OnParagraphSplit: TParagraphLayoutSplitEvent read FOnParagraphSplit write FOnParagraphSplit;
Public property OnParagraphVerticalTrimChanged: TParagraphEvent read FOnParagraphVerticalTrimChanged write FOnParagraphVerticalTrimChanged;
Public property ParagraphAffineBox[AIndex: integer]: TAffineBox read GetParagraphAffineBox;
Public property ParagraphAlignment[AIndex: integer]: TBidiTextAlignment read GetParagraphAlignment write SetParagraphAlignment;
Public property ParagraphCount: integer read GetParagraphCount;
Public property ParagraphEndBrokenLine[AIndex: integer]: integer read GetParagraphEndBrokenLine;
Public property ParagraphEndIndex[AIndex: integer]: integer read GetParagraphEndIndex;
Public property ParagraphEndIndexBeforeParagraphSeparator[AIndex: integer]: integer read GetParagraphEndIndexBeforeParagraphSeparator;
Public property ParagraphEndPart[AIndex: integer]: integer read GetParagraphEndPart;
Public property ParagraphRectF[AIndex: integer]: TRectF read GetParagraphRectF;
Public property ParagraphRightToLeft[AIndex: integer]: boolean read GetParagraphRightToLeft;
Public property ParagraphSpacingAbove: single read FParagraphSpacingAbove write SetParagraphSpacingAbove;
Public property ParagraphSpacingBelow: single read FParagraphSpacingBelow write SetParagraphSpacingBelow;
Public property ParagraphStartBrokenLine[AIndex: integer]: integer read GetParagraphStartBrokenLine;
Public property ParagraphStartIndex[AIndex: integer]: integer read GetParagraphStartIndex;
Public property ParagraphStartPart[AIndex: integer]: integer read GetParagraphStartPart;
Public property PartAffineBox[AIndex: integer]: TAffineBox read GetPartAffineBox;
Public property PartBrokenLineIndex[AIndex: integer]: integer read GetPartBrokenLineIndex;
Public property PartCount: integer read GetPartCount;
Public property PartEndCaret[AIndex: integer]: TBidiCaretPos read GetPartEndCaret;
Public property PartEndIndex[AIndex: integer]: integer read GetPartEndIndex;
Public property PartRectF[AIndex: integer]: TRectF read GetPartRectF;
Public property PartRightToLeft[AIndex: integer]: boolean read GetPartRightToLeft;
Public property PartStartCaret[AIndex: integer]: TBidiCaretPos read GetPartStartCaret;
Public property PartStartIndex[AIndex: integer]: integer read GetPartStartIndex;
Public property TabSize: single read FTabSize write SetTabSize;
Public property TextUTF8: string read GetText;
Public property TopLeft: TPointF read FTopLeft write SetTopLeft;
Public property TotalTextHeight: single read GetTotalTextHeight;
Public property UnicodeChar[APosition0: integer]: LongWord read GetUnicodeChar;
Public property UsedWidth: single read GetUsedWidth;
Public property UTF8Char[APosition0: integer]: string4 read GetUTF8Char;
Public property WordBreakHandler: TWordBreakHandler read FWordBreakHandler write FWordBreakHandler;

Description

Fields

Protected FAnalysis: TUnicodeAnalysis;

This item has no description.

Protected FColor: TBGRAPixel;

This item has no description.

Protected FComputedBrokenLineCount: integer;

This item has no description.

Protected FComputedPartCount: integer;

This item has no description.

Protected FLineHeight: single;

This item has no description.

Protected FParagraph: array of TParagraphInfo;

This item has no description.

Protected FRenderer: TBGRACustomFontRenderer;

This item has no description.

Protected FTexture: IBGRAScanner;

This item has no description.

Methods

Public constructor Create(AFontRenderer: TBGRACustomFontRenderer; sUTF8: string); overload;

This item has no description.

Public constructor Create(AFontRenderer: TBGRACustomFontRenderer; sUTF8: string; ARightToLeft: boolean); overload;

This item has no description.

Public constructor Create(AFontRenderer: TBGRACustomFontRenderer; sUTF8: string; AFontBidiMode: TFontBidiMode); overload;

This item has no description.

Public destructor Destroy; override;

This item has no description.

Public function AddOverrideIfNecessary(var sUTF8: string; ARightToLeft: boolean): boolean;

This item has no description.

Public function CopyText(APosition, ACount: integer): string;

This item has no description.

Public function CopyTextBefore(APosition, ACount: integer): string;

This item has no description.

Public function DeleteText(APosition, ACount: integer): integer;

This item has no description.

Public function DeleteTextBefore(APosition, ACount: integer): integer;

This item has no description.

Public function FindTextAbove(AFromPosition: integer): integer;

This item has no description.

Public function FindTextBelow(AFromPosition: integer): integer;

This item has no description.

Public function GetBrokenLineAt(ACharIndex: integer): integer;

This item has no description.

Public function GetCaret(ACharIndex: integer): TBidiCaretPos;

This item has no description.

Public function GetCharIndexAt(APosition: TPointF; ABetweenGlyphs: boolean = true): integer;

This item has no description.

Public function GetParagraphAt(ACharIndex: Integer): integer; overload;

This item has no description.

Public function GetParagraphAt(APosition: TPointF): integer; overload;

This item has no description.

Public function GetTextEnveloppe(AStartIndex, AEndIndex: integer; APixelCenteredCoordinates: boolean = true; AMergeBoxes: boolean = true; AVerticalClip: boolean = false): ArrayOfTPointF;

This item has no description.

Public function GetTextPart(APartIndex: integer; AAddOverrideIfNecessary: boolean): string;

This item has no description.

Public function GetUntransformedCaret(ACharIndex: integer): TBidiCaretPos;

This item has no description.

Public function GetUntransformedTextEnveloppe(AStartIndex, AEndIndex: integer; APixelCenteredCoordinates: boolean = true; AMergeBoxes: boolean = true; AVerticalClip: boolean = false): ArrayOfTPointF;

This item has no description.

Public function IncludeNonSpacingChars(APosition, ACount: integer; AIncludeCombiningMarks: boolean = true): integer;

This item has no description.

Public function IncludeNonSpacingCharsBefore(APosition, ACount: integer; AIncludeCombiningMarks: boolean = true): integer;

This item has no description.

Public function InsertLineSeparator(APosition: integer): integer;

This item has no description.

Public function InsertText(ATextUTF8: string; APosition: integer): integer;

This item has no description.

Protected function ComputeBidiTree(AMaxWidth: single; startIndex, endIndex: integer; bidiLevel: byte): TBidiTree;

This item has no description.

Protected function GetFontBaseline: single;

This item has no description.

Protected function GetFontFullHeight: single;

This item has no description.

Protected function GetFontOrientation: single;

This item has no description.

Protected function GetPartEndCaret(APartIndex: integer): TBidiCaretPos;

This item has no description.

Protected function GetPartStartCaret(APartIndex: integer): TBidiCaretPos;

This item has no description.

Protected function GetSameLevelString(startIndex,endIndex: integer; out nonDiscardedCount: integer): string; overload;

This item has no description.

Protected function GetSameLevelString(startIndex,endIndex: integer): string; overload;

This item has no description.

Protected function GetUntransformedParagraphAt(APosition: TPointF): integer; overload;

This item has no description.

Protected function GetUntransformedPartEndCaret(APartIndex: integer; APart: PPartInfo): TBidiCaretPos;

This item has no description.

Protected function GetUntransformedPartEndCaret(APartIndex: integer): TBidiCaretPos;

This item has no description.

Protected function GetUntransformedPartStartCaret(APartIndex: integer; APrevPart, APart: PPartInfo): TBidiCaretPos;

This item has no description.

Protected function GetUntransformedPartStartCaret(APartIndex: integer): TBidiCaretPos;

This item has no description.

Protected function TextFitInfoBidiOverride(sUTF8: string; AWidth: single; ARightToLeft: boolean): integer;

This item has no description.

Protected function TextSizeBidiOverride(sUTF8: string; ARightToLeft: boolean): TPointF;

This item has no description.

Protected function TextSizeBidiOverrideSplit(AStartIndex, AEndIndex: integer; ARightToLeft: boolean; ASplitIndex: integer): TPointF;

This item has no description.

Public procedure ComputeLayoutIfNeeded;

This item has no description.

Public procedure DrawBrokenLines(ADest: TBGRACustomBitmap; AFirstBroken, ALastBrokenPlus1: integer); overload;

This item has no description.

Public procedure DrawBrokenLines(ADest: TBGRACustomBitmap; ATexture: IBGRAScanner; AFirstBroken, ALastBrokenPlus1: integer); overload;

This item has no description.

Public procedure DrawBrokenLines(ADest: TBGRACustomBitmap; AColor: TBGRAPixel; AFirstBroken, ALastBrokenPlus1: integer); overload;

This item has no description.

Public procedure DrawCaret(ADest: TBGRACustomBitmap; ACharIndex: integer; AMainColor, ASecondaryColor: TBGRAPixel);

This item has no description.

Public procedure DrawParagraphs(ADest: TBGRACustomBitmap; AColor: TBGRAPixel; AFirstPara, ALastParaPlus1: integer); overload;

This item has no description.

Public procedure DrawParagraphs(ADest: TBGRACustomBitmap; AFirstPara, ALastParaPlus1: integer); overload;

This item has no description.

Public procedure DrawParagraphs(ADest: TBGRACustomBitmap; ATexture: IBGRAScanner; AFirstPara, ALastParaPlus1: integer); overload;

This item has no description.

Public procedure DrawSelection(ADest: TBGRACustomBitmap; AStartIndex, AEndIndex: integer; AFillColor: TBGRAPixel; ABorderColor: TBGRAPixel; APenWidth: single); overload;

This item has no description.

Public procedure DrawSelection(ADest: TBGRACustomBitmap; AStartIndex, AEndIndex: integer; AFillColor: TBGRAPixel); overload;

This item has no description.

Public procedure DrawText(ADest: TBGRACustomBitmap); overload;

This item has no description.

Public procedure DrawText(ADest: TBGRACustomBitmap; AColor: TBGRAPixel); overload;

This item has no description.

Public procedure DrawText(ADest: TBGRACustomBitmap; ATexture: IBGRAScanner); overload;

This item has no description.

Public procedure DrawTextParts(ADest: TBGRACustomBitmap; ATexture: IBGRAScanner; AFirstPart, ALastPartPlus1: integer); overload;

This item has no description.

Public procedure DrawTextParts(ADest: TBGRACustomBitmap; AFirstPart, ALastPartPlus1: integer); overload;

This item has no description.

Public procedure DrawTextParts(ADest: TBGRACustomBitmap; AColor: TBGRAPixel; AFirstPart, ALastPartPlus1: integer); overload;

This item has no description.

Public procedure InvalidateLayout;

This item has no description.

Public procedure PathBrokenLines(ADest: IBGRAPath; AFirstBroken, ALastBrokenPlus1: integer); overload;

This item has no description.

Public procedure PathBrokenLines(ADest: IBGRAPath; AClipRect: TRect; AFirstBroken, ALastBrokenPlus1: integer); overload;

This item has no description.

Public procedure PathParagraphs(ADest: IBGRAPath; AClipRect: TRect; AFirstPara, ALastParaPlus1: integer); overload;

This item has no description.

Public procedure PathParagraphs(ADest: IBGRAPath; AFirstPara, ALastParaPlus1: integer); overload;

This item has no description.

Public procedure PathText(ADest: IBGRAPath);

This item has no description.

Public procedure PathText(ADest: IBGRAPath; AClipRect: TRect);

This item has no description.

Public procedure PathTextParts(ADest: IBGRAPath; AFirstPart, ALastPartPlus1: integer); overload;

This item has no description.

Public procedure PathTextParts(ADest: IBGRAPath; AClipRect: TRect; AFirstPart, ALastPartPlus1: integer); overload;

This item has no description.

Public procedure SetLayout(ARect: TRectF);

This item has no description.

Protected procedure AddPart(AStartIndex, AEndIndex: integer; ABidiLevel: byte; ARectF: TRectF; APosCorrection: TPointF; ABrokenLineIndex: integer; ABrokenLine: PBrokenLineInfo);

This item has no description.

Protected procedure AddPartsFromTree(APos: TPointF; ATree: TBidiTree; fullHeight, baseLine: single; ABrokenLineIndex: integer; ABrokenLine: PBrokenLineInfo);

This item has no description.

Protected procedure AnalysisChanged(ASender: TObject; AParagraphIndex: integer; ACharStart, ACharCount: integer);

This item has no description.

Protected procedure BidiModeChanged(ASender: TObject);

unicode analysis events

Protected procedure CharDeleted(ASender: TObject; AParagraphIndex: integer; ACharStart, ACharCount: integer);

This item has no description.

Protected procedure CharInserted(ASender: TObject; AParagraphIndex: integer; ACharStart, ACharCount: integer);

This item has no description.

Protected procedure CheckTextLayout;

This item has no description.

Protected procedure ComputeLayout; virtual;

This item has no description.

Protected procedure Init(ATextUTF8: string; ABidiMode: TFontBidiMode); virtual;

This item has no description.

Protected procedure InternalDrawText(ADest: TBGRACustomBitmap);

This item has no description.

Protected procedure InternalDrawTextParts(ADest: TBGRACustomBitmap; AFirstPart, ALastPartPlus1: integer);

This item has no description.

Protected procedure InternalInvalidateParagraphLayout(AParagraphIndex: integer);

This item has no description.

Protected procedure InternalParagraphDeleted(AParagraphIndex: integer);

This item has no description.

Protected procedure InternalPathText(ADest: IBGRAPath); overload;

This item has no description.

Protected procedure InternalPathText(ADest: IBGRAPath; AClipRect: TRect); overload;

This item has no description.

Protected procedure InternalPathTextParts(ADest: IBGRAPath; AFirstPart, ALastPartPlus1: integer); overload;

This item has no description.

Protected procedure InternalPathTextParts(ADest: IBGRAPath; AClipRect: TRect; AFirstPart, ALastPartPlus1: integer); overload;

This item has no description.

Protected procedure InternalRangeError;

This item has no description.

Protected procedure InvalidateParagraphLayout(AParagraphIndex: integer);

This item has no description.

Protected procedure NeedLayout;

This item has no description.

Protected procedure OffsetParagraph(AParagraphIndex: integer; ADeltaY: single; ADeltaBroken, ADeltaPart: integer);

This item has no description.

Protected procedure OffsetParagraphCharIndex(AParagraphIndex: integer; ADeltaChar: integer);

This item has no description.

Protected procedure ParagraphDeleted(ASender: TObject; AParagraphIndex: integer);

This item has no description.

Protected procedure ParagraphMergedWithNext(ASender: TObject; AParagraphIndex: integer);

This item has no description.

Protected procedure ParagraphSplit(ASender: TObject; AParagraphIndex: integer; ACharIndex: integer);

This item has no description.

Protected procedure TextOutBidiOverride(ADest: TBGRACustomBitmap; x, y: single; sUTF8: string; ARightToLeft: boolean);

This item has no description.

Protected procedure TextPathBidiOverride(ADest: IBGRAPath; x, y: single; sUTF8: string; ARightToLeft: boolean);

This item has no description.

Protected procedure TrimParagraphLayoutVertically(AParagraphIndex: integer);

This item has no description.

Properties

Public property AvailableHeight: single read FAvailableHeight write SetAvailableHeight;

This item has no description.

Public property AvailableWidth: single read FAvailableWidth write SetAvailableWidth;

This item has no description.

Public property BrokenLineAffineBox[AIndex: integer]: TAffineBox read GetBrokenLineAffineBox;

This item has no description.

Public property BrokenLineCount: integer read GetBrokenLineCount;

This item has no description.

Public property BrokenLineEndCaret[AIndex: integer]: TBidiCaretPos read GetBrokenLineEndCaret;

This item has no description.

Public property BrokenLineEndIndex[AIndex: integer]: integer read GetBrokenLineEndIndex;

This item has no description.

Public property BrokenLineEndPart[AIndex: integer]: integer read GetBrokenLineEndPart;

This item has no description.

Public property BrokenLineParagraphIndex[AIndex: integer]: integer read GetBrokenLineParagraphIndex;

This item has no description.

Public property BrokenLineRectF[AIndex: integer]: TRectF read GetBrokenLineRectF;

This item has no description.

Public property BrokenLineRightToLeft[AIndex: integer]: boolean read GetBrokenLineRightToLeft;

This item has no description.

Public property BrokenLineStartCaret[AIndex: integer]: TBidiCaretPos read GetBrokenLineStartCaret;

This item has no description.

Public property BrokenLineStartIndex[AIndex: integer]: integer read GetBrokenLineStartIndex;

This item has no description.

Public property BrokenLineStartPart[AIndex: integer]: integer read GetBrokenLineStartPart;

This item has no description.

Public property BrokenLineUnbrokenIndex[AIndex: integer]: integer read GetBrokenLineUnbrokenIndex;

This item has no description.

Public property BrokenLineUsedWidth[AIndex: integer]: single read GetBrokenLineUsedWidth;

This item has no description.

Public property CharCount: integer read GetCharCount;

This item has no description.

Public property ClipMargin: integer read FClipMargin write FClipMargin;

This item has no description.

Public property FontBidiMode: TFontBidiMode read GetFontBidiMode write SetFontBidiMode;

This item has no description.

Public property FontRenderer: TBGRACustomFontRenderer read FRenderer write SetFontRenderer;

how many pixels can the text go outside of its box

Protected property LayoutComputed: boolean read GetLayoutComputed;

This item has no description.

Public property LineHeight: single read GetLineHeight;

This item has no description.

Public property Matrix: TAffineMatrix read GetMatrix;

This item has no description.

Public property MatrixInverse: TAffineMatrix read GetMatrixInverse;

This item has no description.

Public property OnBrokenLinesChanged: TBrokenLinesChangedEvent read FOnBrokenLinesChanged write FOnBrokenLinesChanged;

This item has no description.

Public property OnParagraphChanged: TParagraphEvent read FOnParagraphChanged write FOnParagraphChanged;

This item has no description.

Public property OnParagraphDeleted : TParagraphEvent read FOnParagraphDeleted write FOnParagraphDeleted;

This item has no description.

Public property OnParagraphMergedWithNext: TParagraphEvent read FOnParagraphMergedWithNext write FOnParagraphMergedWithNext;

This item has no description.

Public property OnParagraphSplit: TParagraphLayoutSplitEvent read FOnParagraphSplit write FOnParagraphSplit;

This item has no description.

Public property OnParagraphVerticalTrimChanged: TParagraphEvent read FOnParagraphVerticalTrimChanged write FOnParagraphVerticalTrimChanged;

This item has no description.

Public property ParagraphAffineBox[AIndex: integer]: TAffineBox read GetParagraphAffineBox;

This item has no description.

Public property ParagraphAlignment[AIndex: integer]: TBidiTextAlignment read GetParagraphAlignment write SetParagraphAlignment;

This item has no description.

Public property ParagraphCount: integer read GetParagraphCount;

This item has no description.

Public property ParagraphEndBrokenLine[AIndex: integer]: integer read GetParagraphEndBrokenLine;

This item has no description.

Public property ParagraphEndIndex[AIndex: integer]: integer read GetParagraphEndIndex;

This item has no description.

Public property ParagraphEndIndexBeforeParagraphSeparator[AIndex: integer]: integer read GetParagraphEndIndexBeforeParagraphSeparator;

This item has no description.

Public property ParagraphEndPart[AIndex: integer]: integer read GetParagraphEndPart;

This item has no description.

Public property ParagraphRectF[AIndex: integer]: TRectF read GetParagraphRectF;

This item has no description.

Public property ParagraphRightToLeft[AIndex: integer]: boolean read GetParagraphRightToLeft;

This item has no description.

Public property ParagraphSpacingAbove: single read FParagraphSpacingAbove write SetParagraphSpacingAbove;

This item has no description.

Public property ParagraphSpacingBelow: single read FParagraphSpacingBelow write SetParagraphSpacingBelow;

This item has no description.

Public property ParagraphStartBrokenLine[AIndex: integer]: integer read GetParagraphStartBrokenLine;

This item has no description.

Public property ParagraphStartIndex[AIndex: integer]: integer read GetParagraphStartIndex;

This item has no description.

Public property ParagraphStartPart[AIndex: integer]: integer read GetParagraphStartPart;

This item has no description.

Public property PartAffineBox[AIndex: integer]: TAffineBox read GetPartAffineBox;

This item has no description.

Public property PartBrokenLineIndex[AIndex: integer]: integer read GetPartBrokenLineIndex;

This item has no description.

Public property PartCount: integer read GetPartCount;

This item has no description.

Public property PartEndCaret[AIndex: integer]: TBidiCaretPos read GetPartEndCaret;

This item has no description.

Public property PartEndIndex[AIndex: integer]: integer read GetPartEndIndex;

This item has no description.

Public property PartRectF[AIndex: integer]: TRectF read GetPartRectF;

This item has no description.

Public property PartRightToLeft[AIndex: integer]: boolean read GetPartRightToLeft;

This item has no description.

Public property PartStartCaret[AIndex: integer]: TBidiCaretPos read GetPartStartCaret;

This item has no description.

Public property PartStartIndex[AIndex: integer]: integer read GetPartStartIndex;

This item has no description.

Public property TabSize: single read FTabSize write SetTabSize;

This item has no description.

Public property TextUTF8: string read GetText;

This item has no description.

Public property TopLeft: TPointF read FTopLeft write SetTopLeft;

This item has no description.

Public property TotalTextHeight: single read GetTotalTextHeight;

This item has no description.

Public property UnicodeChar[APosition0: integer]: LongWord read GetUnicodeChar;

This item has no description.

Public property UsedWidth: single read GetUsedWidth;

This item has no description.

Public property UTF8Char[APosition0: integer]: string4 read GetUTF8Char;

This item has no description.

Public property WordBreakHandler: TWordBreakHandler read FWordBreakHandler write FWordBreakHandler;

This item has no description.