devexpress-richedit
Version:
DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.
42 lines (41 loc) • 1.81 kB
TypeScript
import { DocumentLayout } from '../layout/document-layout';
import { SubDocument } from '../model/sub-document';
import { ISelectionBase } from '../selection/selection-base';
import { LayoutWordBoundsGroupSeparator } from './layout-word-bounds-group-separator';
export declare enum WordGroupMask {
NoOne = 0,
Space = 1,
LeftSingleQuote = 2,
RightSingleQuote = 4,
LeftDoubleQuote = 8,
RightDoubleQuote = 16,
DoubleQuote = 32,
PunctuationMark = 64,
DiffersFromAll = 128,
Others = 256
}
export interface IWordBoundsIterator {
startResultPosition: number;
groupMask: WordGroupMask;
isSet(): boolean;
getNextSymbolGroup(): boolean;
currSymbolStartPosition(): number;
}
export declare abstract class LayoutWordBounds {
protected groupSeparator: LayoutWordBoundsGroupSeparator;
protected iterator: IWordBoundsIterator;
protected prevSymbolStartPos: number;
constructor(groupSeparator: LayoutWordBoundsGroupSeparator);
static getLayoutWordStartBound(layout: DocumentLayout, subDocument: SubDocument, selection: ISelectionBase, startPosition: number): number;
static getLayoutWordEndBound(layout: DocumentLayout, subDocument: SubDocument, selection: ISelectionBase, startPosition: number, isJoinSpacesOnEndWord: boolean): number;
getBound(iterator: IWordBoundsIterator): number;
protected abstract getFinalPosition(byGroupDiffers: boolean): number;
}
export declare class LayoutEndWordBound extends LayoutWordBounds {
constructor(isJoinSpacesOnEndWord: boolean);
protected getFinalPosition(byGroupDiffers: boolean): number;
}
export declare class LayoutStartWordBound extends LayoutWordBounds {
constructor();
protected getFinalPosition(_byGroupDiffers: boolean): number;
}