import { XTextbase } from './XTextbase'; import type { TClassProperties, TOriginX, TOriginY } from '../../typedefs'; import { WidgetRectNotesInterface } from './type/widget.entity.rectnote'; export declare const rectNotesDefaultValues: Partial>; /** * Textbox class, based on IText, allows the user to resize the text rectangle * and wraps lines automatically. Textboxes have their Y scaling locked, the * user can only change width. Height is adjusted automatically based on the * wrapping of lines. */ export declare class XRectNotes extends XTextbase implements WidgetRectNotesInterface { /**selectable * Minimum width of textbox, in pixels. * @type Number * @default */ minWidth: number; static type: string; static objType: string; locked: boolean; cornerStyle: any; verticalAlign: string; originX: TOriginX; originY: TOriginY; width: number; cornerStrokeColor: string; cornerColor: string; transparentCorners: boolean; zIndex: number; height: number; maxHeight: number; id: string; boardId: string; /** * Minimum calculated width of a textbox, in pixels. * fixed to 2 so that an empty textbox cannot go to 0 * and is still selectable without text. * @type Number * @default */ dynamicMinWidth: number; /** * Use this boolean property in order to split strings that have no white space concept. * this is a cheap way to help with chinese/japanese * @type Boolean * @since 2.6.0 */ splitByGrapheme: boolean; static textLayoutProperties: string[]; static ownDefaults: Record; static getDefaults(): { controls: { mr: import("../../..").Control; ml: import("../../..").Control; }; }; constructor(text: string, options?: Partial>); /** * Unlike superclass's version of this function, Textbox does not update * its width. * @private * @override */ initDimensions(): number | undefined; getObject(): Record; /** * Returns true if object has a style property or has it on a specified line * @param {Number} lineIndex * @return {Boolean} */ styleHas(property: any, lineIndex: number): boolean; /** * probably broken need a fix * Returns the real style line that correspond to the wrapped lineIndex line * Used just to verify if the line does exist or not. * @param {Number} lineIndex * @returns {Boolean} if the line exists or not * @private */ _getLineStyle(lineIndex: number): boolean; /** * Set the line style to an empty object so that is initialized * @param {Number} lineIndex * @param {Object} style * @private */ _setLineStyle(lineIndex: number): void; wordSplit(value: string): string[]; /** * Detect if the text line is ended with an hard break * text and itext do not have wrapping, return false * @param {Number} lineIndex text to split * @return {Boolean} */ isEndOfWrapping(lineIndex: number): boolean; /** * Detect if a line has a linebreak and so we need to account for it when moving * and counting style. * @return Number */ missingNewlineOffset(lineIndex: number): 1 | 0; /** * Gets lines of text to render in the Textbox. This function calculates * text wrapping on the fly every time it is called. * @param {String} text text to split * @returns {Array} Array of lines in the Textbox. * @override */ _splitTextIntoLines(text: string): import("../Text/Text").TextLinesInfo; getMinWidth(): number; getCenteredTop(rectHeight: number): number; _render(ctx: CanvasRenderingContext2D): void; _renderBackground(ctx: CanvasRenderingContext2D): void; _getTopOffset(): number; _getTotalLineHeights(): number; _getTotalLineHeight(): number; _renderText(ctx: CanvasRenderingContext2D): void; drawRoundRectPath(cxt: CanvasRenderingContext2D, width: number, height: number, radius: number): void; } //# sourceMappingURL=XRectNotes.d.ts.map