devexpress-richedit
Version:
DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.
51 lines (50 loc) • 3.71 kB
TypeScript
import { ICloneable, ISupportCopyFrom } from '@devexpress/utils/lib/types';
import { FormatterManager } from '../layout-formatter/managers/formatter-manager';
import { DocumentLayout } from '../layout/document-layout';
import { DocumentLayoutDetailsLevel } from '../layout/document-layout-details-level';
import { LayoutPosition, LayoutRowPosition } from '../layout/layout-position';
import { SubDocument } from '../model/sub-document';
export declare class LayoutPositionCreatorConflictFlags implements ISupportCopyFrom<LayoutPositionCreatorConflictFlags>, ICloneable<LayoutPositionCreatorConflictFlags> {
left: boolean;
middle: boolean;
right: boolean;
simple: boolean;
setDefault(defaultVal: boolean): LayoutPositionCreatorConflictFlags;
setCustom(left: boolean, middle: boolean, right: boolean, simple: boolean): LayoutPositionCreatorConflictFlags;
allIsTrue(): boolean;
atLeastOneIsTrue(): boolean;
atLeastOneIsFalse(): boolean;
copyFrom(obj: LayoutPositionCreatorConflictFlags): LayoutPositionCreatorConflictFlags;
clone(): LayoutPositionCreatorConflictFlags;
}
export declare class LayoutPositionCreator {
protected layout: DocumentLayout;
protected subDocument: SubDocument;
result: LayoutPosition;
startPosition: number;
protected endRowConflictFlags: LayoutPositionCreatorConflictFlags;
protected middleRowConflictFlags: LayoutPositionCreatorConflictFlags;
protected position: number;
protected detailsLevel: DocumentLayoutDetailsLevel;
constructor(documentLayout: DocumentLayout, subDocument: SubDocument, logPosition: number, detailsLevel: DocumentLayoutDetailsLevel);
create(endRowConflictFlags: LayoutPositionCreatorConflictFlags, middleRowConflictFlags: LayoutPositionCreatorConflictFlags): LayoutPosition;
static createLightLayoutPosition(documentLayout: DocumentLayout, subDocument: SubDocument, logPosition: number, pageIndex: number, detailsLevel: DocumentLayoutDetailsLevel, endOfLine: boolean, closerToTheRightEdgeHiddenBox: boolean): LayoutRowPosition;
updateRowInfo(): void;
updateBoxInfo(): void;
protected static conflictResolver<T>(position: number, conflictFlags: LayoutPositionCreatorConflictFlags, objects: T[], object: T, objectIndex: number, getObjectStartPos: (obj: T) => number, getObjectEndPos: (obj: T) => number): [T, number];
}
export declare class LayoutPositionMainSubDocumentCreator extends LayoutPositionCreator {
isUseMoreHardAlgorithm: boolean;
constructor(documentLayout: DocumentLayout, subDocument: SubDocument, logPosition: number, detailsLevel: DocumentLayoutDetailsLevel, isUseMoreHardAlgorithm?: boolean);
create(endRowConflictFlags: LayoutPositionCreatorConflictFlags, middleRowConflictFlags: LayoutPositionCreatorConflictFlags): LayoutPosition;
static ensureLayoutPosition(formatterController: FormatterManager, subDocument: SubDocument, logPosition: number, detailsLevel: DocumentLayoutDetailsLevel, endRowConflictFlags: LayoutPositionCreatorConflictFlags, middleRowConflictFlags: LayoutPositionCreatorConflictFlags): LayoutPosition;
private updatePageInfoInterval;
private getPageResolvedFlag;
private updatePageInfo;
private updatePageAreaInfo;
private updateColumnInfo;
}
export declare class LayoutPositionOtherSubDocumentCreator extends LayoutPositionCreator {
constructor(documentLayout: DocumentLayout, subDocument: SubDocument, logPosition: number, pageIndex: number, detailsLevel: DocumentLayoutDetailsLevel);
create(endRowConflictFlags: LayoutPositionCreatorConflictFlags, middleRowConflictFlags: LayoutPositionCreatorConflictFlags): LayoutPosition;
}