export declare type TextStyleAlign = 'left' | 'center' | 'right' | 'justify'; export declare type TextStyleFill = string | string[] | number | number[] | CanvasGradient | CanvasPattern; export declare type TextStyleFontStyle = 'normal' | 'italic' | 'oblique'; export declare type TextStyleFontVariant = 'normal' | 'small-caps'; export declare type TextStyleFontWeight = 'normal' | 'bold' | 'bolder' | 'lighter' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900'; export declare type TextStyleLineJoin = 'miter' | 'round' | 'bevel'; export declare type TextStyleTextBaseline = 'alphabetic' | 'top' | 'hanging' | 'middle' | 'ideographic' | 'bottom'; export declare type TextStyleWhiteSpace = 'normal' | 'pre' | 'pre-line'; export declare enum TEXT_GRADIENT { LINEAR_VERTICAL = 0, LINEAR_HORIZONTAL = 1 } export interface ITextStyle { align: TextStyleAlign; breakWords: boolean; dropShadow: boolean; dropShadowOffsetX: number; dropShadowOffsetY: number; dropShadowAlpha: number; dropShadowAngle: number; dropShadowBlur: number; dropShadowColor: string | number; dropShadowDistance: number; fill: TextStyleFill; fillGradientType: TEXT_GRADIENT; fillGradientStops: number[]; fontFamily: string | string[]; fontSize: number | string; fontStyle: TextStyleFontStyle; fontVariant: TextStyleFontVariant; fontWeight: TextStyleFontWeight; letterSpacing: number; lineHeight: number; lineJoin: TextStyleLineJoin; miterLimit: number; padding: number; stroke: string | number; strokeThickness: number; textBaseline: TextStyleTextBaseline; trim: boolean; whiteSpace: TextStyleWhiteSpace; wordWrap: boolean; wordWrapWidth: number; leading: number; } export declare class TextStyle implements ITextStyle { styleID: number; protected _align: TextStyleAlign; protected _breakWords: boolean; protected _dropShadow: boolean; protected _dropShadowAlpha: number; protected _dropShadowAngle: number; protected _dropShadowBlur: number; protected _dropShadowColor: string | number; protected _dropShadowOffsetX: number; protected _dropShadowOffsetY: number; protected _dropShadowDistance: number; protected _fill: TextStyleFill; protected _fillGradientType: TEXT_GRADIENT; protected _fillGradientStops: number[]; protected _fontFamily: string | string[]; protected _fontSize: number | string; protected _fontStyle: TextStyleFontStyle; protected _fontVariant: TextStyleFontVariant; protected _fontWeight: TextStyleFontWeight; protected _letterSpacing: number; protected _lineHeight: number; protected _lineJoin: TextStyleLineJoin; protected _miterLimit: number; protected _padding: number; protected _stroke: string; protected _strokeThickness: number; protected _textBaseline: TextStyleTextBaseline; protected _trim: boolean; protected _whiteSpace: TextStyleWhiteSpace; protected _wordWrap: boolean; protected _wordWrapWidth: number; protected _leading: number; constructor(style: Partial); clone(): TextStyle; /** * Resets all properties to the defaults specified in TextStyle.prototype._default */ reset(): void; /** * Alignment for multiline text ('left', 'center' or 'right'), does not affect single line text * * @member {string} */ get align(): TextStyleAlign; set align(align: TextStyleAlign); /** * Indicates if lines can be wrapped within words, it needs wordWrap to be set to true * * @member {boolean} */ get breakWords(): boolean; set breakWords(breakWords: boolean); /** * Set a drop shadow for the text * * @member {boolean} */ get dropShadow(): boolean; set dropShadow(dropShadow: boolean); /** * Set alpha for the drop shadow * * @member {number} */ get dropShadowAlpha(): number; set dropShadowAlpha(dropShadowAlpha: number); /** * Set a angle of the drop shadow * * @member {number} */ get dropShadowAngle(): number; set dropShadowAngle(dropShadowAngle: number); /** * Set a shadow blur radius * * @member {number} */ get dropShadowBlur(): number; set dropShadowBlur(dropShadowBlur: number); /** * A fill style to be used on the dropshadow e.g 'red', '#00FF00' * * @member {string|number} */ get dropShadowColor(): string; set dropShadowColor(dropShadowColor: string); /** * Set a distance of the drop shadow * * @member {number} */ get dropShadowDistance(): number; set dropShadowDistance(dropShadowDistance: number); /** * Set a offsetX of the drop shadow * * @member {number} */ get dropShadowOffsetX(): number; set dropShadowOffsetX(dropShadowOffsetX: number); /** * Set a offsetY of the drop shadow * * @member {number} */ get dropShadowOffsetY(): number; set dropShadowOffsetY(dropShadowOffsetY: number); /** * A canvas fillstyle that will be used on the text e.g 'red', '#00FF00'. * Can be an array to create a gradient eg ['#000000','#FFFFFF'] * {@link https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/fillStyle|MDN} * * @member {string|string[]|number|number[]|CanvasGradient|CanvasPattern} */ get fill(): TextStyleFill; set fill(fill: TextStyleFill); get fillGradientType(): TEXT_GRADIENT; set fillGradientType(fillGradientType: TEXT_GRADIENT); get fillGradientStops(): number[]; set fillGradientStops(fillGradientStops: number[]); get fontFamily(): string | string[]; set fontFamily(fontFamily: string | string[]); get fontSize(): number | string; set fontSize(fontSize: number | string); get fontStyle(): TextStyleFontStyle; set fontStyle(fontStyle: TextStyleFontStyle); /** * The font variant * ('normal' or 'small-caps') * * @member {string} */ get fontVariant(): TextStyleFontVariant; set fontVariant(fontVariant: TextStyleFontVariant); /** * The font weight * ('normal', 'bold', 'bolder', 'lighter' and '100', '200', '300', '400', '500', '600', '700', 800' or '900') * * @member {string} */ get fontWeight(): TextStyleFontWeight; set fontWeight(fontWeight: TextStyleFontWeight); /** * The amount of spacing between letters, default is 0 * * @member {number} */ get letterSpacing(): number; set letterSpacing(letterSpacing: number); /** * The line height, a number that represents the vertical space that a letter uses * * @member {number} */ get lineHeight(): number; set lineHeight(lineHeight: number); /** * The space between lines * * @member {number} */ get leading(): number; set leading(leading: number); /** * The lineJoin property sets the type of corner created, it can resolve spiked text issues. * Default is 'miter' (creates a sharp corner). * * @member {string} */ get lineJoin(): TextStyleLineJoin; set lineJoin(lineJoin: TextStyleLineJoin); /** * The miter limit to use when using the 'miter' lineJoin mode * This can reduce or increase the spikiness of rendered text. * * @member {number} */ get miterLimit(): number; set miterLimit(miterLimit: number); /** * Occasionally some fonts are cropped. Adding some padding will prevent this from happening * by adding padding to all sides of the text. * * @member {number} */ get padding(): number; set padding(padding: number); /** * A canvas fillstyle that will be used on the text stroke * e.g 'blue', '#FCFF00' * * @member {string} */ get stroke(): string; set stroke(stroke: string); /** * A number that represents the thickness of the stroke. * Default is 0 (no stroke) * * @member {number} */ get strokeThickness(): number; set strokeThickness(strokeThickness: number); /** * The baseline of the text that is rendered. * * @member {string} */ get textBaseline(): TextStyleTextBaseline; set textBaseline(textBaseline: TextStyleTextBaseline); /** * Trim transparent borders * * @member {boolean} */ get trim(): boolean; set trim(trim: boolean); /** * How newlines and spaces should be handled. * Default is 'pre' (preserve, preserve). * * value | New lines | Spaces * --- | --- | --- * 'normal' | Collapse | Collapse * 'pre' | Preserve | Preserve * 'pre-line' | Preserve | Collapse * * @member {string} */ get whiteSpace(): TextStyleWhiteSpace; set whiteSpace(whiteSpace: TextStyleWhiteSpace); /** * Indicates if word wrap should be used * * @member {boolean} */ get wordWrap(): boolean; set wordWrap(wordWrap: boolean); /** * The width at which text will wrap, it needs wordWrap to be set to true * * @member {number} */ get wordWrapWidth(): number; set wordWrapWidth(wordWrapWidth: number); /** * Generates a font style string to use for `TextMetrics.measureFont()`. * * @return {string} Font style string, for passing to `TextMetrics.measureFont()` */ toFontString(): string; }