@syncfusion/ej2-documenteditor
Version:
Feature-rich document editor control with built-in support for context menu, options pane and dialogs.
148 lines (147 loc) • 5.68 kB
TypeScript
import { Page, LineWidget, TextElementBox, TabElementBox, CommentCharacterElementBox } from './page';
import { BaselineAlignment, Underline } from '../../index';
import { DocumentHelper } from './viewer';
import { Point } from '../editor/editor-helper';
import { SpellChecker } from '../spell-check/spell-checker';
import { DocumentCanvasElement, DocumentCanvasRenderingContext2D } from './document-canvas';
import { Dictionary } from '../../base/dictionary';
/**
* @private
*/
export declare class Renderer {
/**
* @private
*/
commentMarkDictionary: Dictionary<HTMLElement, CommentCharacterElementBox[]>;
isPrinting: boolean;
isExporting: boolean;
private pageLeft;
private pageTop;
private documentHelper;
private pageIndex;
private pageCanvasIn;
private isFieldCode;
private isRenderHeader;
private leftPosition;
private topPosition;
private height;
private exportPageCanvas;
private fieldStacks;
readonly pageCanvas: HTMLCanvasElement | DocumentCanvasElement;
readonly spellChecker: SpellChecker;
private readonly selectionCanvas;
private readonly pageContext;
private readonly selectionContext;
constructor(documentHelper: DocumentHelper);
private readonly viewer;
renderWidgets(page: Page, left: number, top: number, width: number, height: number): void;
private setPageSize;
private renderHFWidgets;
private renderHeaderSeparator;
private getFooterHeight;
private getHeaderFooterType;
renderDashLine(context: CanvasRenderingContext2D | DocumentCanvasRenderingContext2D, x: number, y: number, width: number, fillStyle: string, isSmallDash: boolean): void;
renderSolidLine(context: CanvasRenderingContext2D | DocumentCanvasRenderingContext2D, x: number, y: number, width: number, fillStyle: string): void;
private renderHeaderFooterMark;
private renderHeaderFooterMarkText;
private render;
private renderFloatingItems;
private isOverLappedShapeWidget;
private renderShapeElementBox;
private renderPathElement;
private renderWidget;
private getConnectorPathData;
private getCurvedPathData;
private constructPath;
private calculateCoord;
private drawPath;
private renderPath;
private m;
private r;
private a;
private updatePath;
private calculatePathBounds;
private setStyle;
private renderLockRegionBorder;
private renderHeader;
private updateTableHeaderRows;
private renderParagraphWidget;
private renderParagraphBorder;
/**
* Renders the border around a TextElementBox.
* @param elementBox - The TextElementBox for which the border is rendered.
* @param left - The left position of the TextElementBox.
* @param top - The top position of the TextElementBox.
* @param color - The color of the border.
* @param borderStyle - The style of the border (e.g., 'Single', 'Double').
* @param borderWidth - The width of the border.
* @param baselineAlignment - The baseline alignment of the TextElementBox.
* @param revisionInfo - Revision information (optional).
*/
private renderImgBorder;
private getContainerWidth;
private getTopMargin;
private getBottomMargin;
private renderfootNoteWidget;
private renderTableWidget;
private renderTableRowWidget;
private renderTableCellWidget;
private checkHeaderFooterLineWidget;
private renderContentControlBorder;
private renderEditRegionHighlight;
private renderSearchHighlight;
private validateRemoveSearchHighlighters;
private renderSelectionHighlight;
private renderSelectionHighlightOnTable;
private renderLine;
private getPageBreakText;
private isBookmarkEndAtStart;
private isRenderable;
private combineHexColors;
private renderBookmark;
private retriveCharacterformat;
private toSkipFieldCode;
getUnderlineYPosition(lineWidget: LineWidget): number;
private renderListTextElementBox;
private getDefaultFontColor;
private renderTextElementBox;
private tabMark;
private replaceSpace;
private inverseCharacter;
private getBackgroundColorHeirachy;
private handleChangeDetectedElements;
handleUnorderedElements(currentText: string, elementBox: TextElementBox, underlineY: number, iteration: number, markIndex: number, isLastItem?: boolean, combinedElements?: TextElementBox[]): void;
renderWavyLine(elementBox: TextElementBox, left: number, top: number, underlineY: number, color: string, underline: Underline, baselineAlignment: BaselineAlignment, backgroundColor?: string): void;
drawWavy(from: Point, to: Point, frequency: number, amplitude: number, step: number, color: string, height: number, backColor: string, negative?: number): void;
/**
* @private
*/
getTabLeader(elementBox: TabElementBox): string;
private getTabLeaderString;
private clipRect;
private getTrimmedWidth;
private renderUnderline;
private renderStrikeThrough;
private renderImageElementBox;
private renderTableOutline;
private renderTableCellOutline;
private renderCellBackground;
private renderBackgroundColor;
private drawTextureStyle;
private getForeColor;
private getColorValue;
private renderSingleBorder;
getScaledValue(value: number, type?: number): number;
private checkRevisionType;
private getRevisionColor;
private getRevisionType;
private getFormfieldInLine;
private getShape;
private shapes;
/**
* Destroys the internal objects which is maintained.
*
* @returns {void}
*/
destroy(): void;
}