devexpress-richedit
Version:
DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.
56 lines (55 loc) • 2.52 kB
TypeScript
import { FixedInterval } from '@devexpress/utils/lib/intervals/fixed';
import { LayoutBox } from '../../layout/main-structures/layout-boxes/layout-box';
import { LayoutRow } from '../../layout/main-structures/layout-row';
import { SubDocumentNumberingListCountersManager } from '../../model/numbering-lists/piece-table-numbering-list-counters-manager';
import { Paragraph } from '../../model/paragraph/paragraph';
import { ParagraphProperties } from '../../model/paragraph/paragraph-properties';
import { SubDocument } from '../../model/sub-document';
import { BoxIterator } from '../box/box-iterator';
import { BoxWrap, BoxWrapInfo } from '../box/box-wrap';
import { FormatterManager } from '../managers/formatter-manager';
import { RowFormatterResult } from './result';
import { RowSizesManager } from './size-engine/row-sizes-manager';
import { RowBaseFormatterState } from './states';
import { RowTabInfo } from './tab-info';
import { IRowSpacingBeforeApplier } from './utils/row-spacing-before-applier';
import { WordHolderInfo } from './word-holder';
export declare enum TextRowFormatterState {
None = 0,
Base = 1,
EndedWithPageBreak = 2,
EndedWithParagraphMark = 3
}
export declare class RowFormatter {
private static addBoxFunctionMap;
private stateMap;
iterator: BoxIterator;
currentState: RowBaseFormatterState;
private rowFormatting;
currWrapInfo: BoxWrapInfo;
currBox: LayoutBox;
rowSizesManager: RowSizesManager;
tabInfo: RowTabInfo;
wordHolder: WordHolderInfo;
paragraphHorizontalBounds: FixedInterval;
manager: FormatterManager;
numberingListCountersManager: SubDocumentNumberingListCountersManager;
result: RowFormatterResult;
private startPos;
constructor(formatterManager: FormatterManager, subDocumentId: number);
get subDocument(): SubDocument;
get row(): LayoutRow;
get paragraph(): Paragraph;
get paragraphProps(): ParagraphProperties;
getNextBoxWrapInfo(): BoxWrap;
setPosition(position: number, forceResetBoxInfos: boolean, checkStartTable: boolean): void;
getPosition(): number;
documentStart(): void;
formatRow(minY: number, paragraphHorizontalBounds: FixedInterval, rowSpacingBeforeApplier: IRowSpacingBeforeApplier): void;
private innerFormatRow;
finishRow(): void;
setState(state: TextRowFormatterState): void;
addAnchorObject(): void;
private initResult;
setBoxInfo(getNextWrap: boolean): void;
}