devexpress-richedit
Version:
DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.
70 lines (69 loc) • 3.17 kB
TypeScript
import { Rectangle } from '@devexpress/utils/lib/geometry/rectangle';
import { ICloneable, ISupportCopyFrom } from '@devexpress/utils/lib/types';
import { IPictureRenderer } from '../../../canvas/picture-renderer';
import { BoxWrap } from '../../../layout-formatter/box/box-wrap';
import { MeasureInfo } from '../../../measurer/measure-info';
import { IMeasurer } from '../../../measurer/measurer';
import { CharacterProperties } from '../../../model/character/character-properties';
import { LayoutCharacterPropertiesColorInfo } from '../../../model/character/layout-character-properties-color-info';
import { LayoutRow } from '../layout-row';
export declare enum LayoutBoxType {
Text = 0,
Space = 1,
Dash = 2,
TabSpace = 3,
LineBreak = 4,
PageBreak = 5,
ColumnBreak = 6,
SectionMark = 7,
ParagraphMark = 8,
Picture = 9,
NumberingList = 10,
FieldCodeStart = 11,
FieldCodeEnd = 12,
FieldResultEnd = 13,
LayoutDependent = 14,
NonBreakingSpace = 15,
AnchorPicture = 16,
AnchorTextBox = 17
}
export declare class LayoutRenderCharacterProperties {
initProps: CharacterProperties;
colorInfo: LayoutCharacterPropertiesColorInfo;
constructor(initProps: CharacterProperties, colorInfo: LayoutCharacterPropertiesColorInfo);
}
export declare abstract class LayoutBox extends Rectangle implements ICloneable<LayoutBox>, ISupportCopyFrom<LayoutBox> {
characterProperties: CharacterProperties;
colorInfo: LayoutCharacterPropertiesColorInfo;
rowOffset: number;
hyperlinkTip: string;
fieldLevel: number;
constructor(characterProperties: CharacterProperties, colorInfo: LayoutCharacterPropertiesColorInfo);
abstract clone(): LayoutBox;
abstract pushInfoForMeasure(info: MeasureInfo[], showHiddenSymbols: boolean): any;
abstract popInfoForMeasure(info: MeasureInfo[], showHiddenSymbols: boolean): any;
abstract getType(): LayoutBoxType;
abstract isWhitespace(): boolean;
abstract isLineBreak(): boolean;
get isDashBox(): boolean;
get isSectionBreakBox(): boolean;
abstract renderGetContent(renderer: IPictureRenderer): string | HTMLElement;
equals(obj: LayoutBox): boolean;
copyFrom(obj: LayoutBox): void;
static initializeWithMeasurer(wrappers: BoxWrap[], measurer: IMeasurer, showHiddenSymbols: boolean): void;
getEndPosition(): number;
getTop(row: LayoutRow): number;
getAscent(): number;
getDescent(): number;
isVisibleForRowAlign(): boolean;
isVisible(): boolean;
getCharOffsetXInPixels(_measurer: IMeasurer, charOffset: number): number;
getLength(): number;
calculateCharOffsetByPointX(_measurer: IMeasurer, pointX: number): number;
splitByWidth(_measurer: IMeasurer, maxWidth: number, leaveAtLeastOneChar: boolean): LayoutBox;
getCharIndex(_char: string): number;
splitBoxByPosition(_measurer: IMeasurer, _offsetAtStartBox: number): LayoutBox;
renderNoStrikeoutAndNoUnderlineIfBoxInEndRow(): boolean;
renderIsWordBox(): boolean;
renderGetCharacterProperties(): LayoutRenderCharacterProperties;
}