@awayjs/scene
Version:
AwayJS scene classes
274 lines • 12.1 kB
TypeScript
import { AssetBase } from '@awayjs/core';
import { IMaterial } from '@awayjs/renderer';
import { IFontTable } from './IFontTable';
import { Font } from './Font';
import { FontLookUpMode } from './FontLookUpMode';
export declare class TextFormat extends AssetBase {
static assetType: string;
fontLookUpMode: FontLookUpMode;
_updateID: number;
get updateID(): number;
private _fontTableDirty;
/**
* return true if a certain property was set for this format.
*
* @param property_name
*/
hasPropertySet(property_name: string): boolean;
/**
* paragraph props
* the textformat on the first char of a paragraph will be used for all the chars in the paragrahp
* */
/**
* Indicates the alignment of the paragraph. Valid values are TextFormatAlign
* constants.
*
* @default TextFormatAlign.LEFT
* @throws ArgumentError The <code>align</code> specified is not a member of
* flash.text.TextFormatAlign.
*/
private _align;
get align(): string;
set align(value: string);
/**
* Indicates the block indentation in pixels. Block indentation is applied to
* an entire block of text; that is, to all lines of the text. In contrast,
* normal indentation(<code>TextFormat.indent</code>) affects only the first
* line of each paragraph. If this property is <code>null</code>, the
* TextFormat object does not specify block indentation(block indentation is
* 0).
*/
private _blockIndent;
get blockIndent(): number;
set blockIndent(value: number);
/**
* The left margin of the paragraph, in pixels. The default value is
* <code>null</code>, which indicates that the left margin is 0 pixels.
*/
private _leftMargin;
get leftMargin(): number;
set leftMargin(value: number);
/**
* The right margin of the paragraph, in pixels. The default value is
* <code>null</code>, which indicates that the right margin is 0 pixels.
*/
private _rightMargin;
get rightMargin(): number;
set rightMargin(value: number);
/**
* Indicates the indentation from the left margin to the first character in
* the paragraph. The default value is <code>null</code>, which indicates
* that no indentation is used.
*/
private _indent;
get indent(): number;
set indent(value: number);
/**
* character props
* these properties can actually be assigned to individual chars inside a paragraph
* */
/**
* Indicates the color of the text. A number containing three 8-bit RGB
* components; for example, 0xFF0000 is red, and 0x00FF00 is green. The
* default value is <code>null</code>, which means that Flash Player uses the
* color black(0x000000).
*/
private _color;
get color(): number;
set color(value: number);
/**
* A Boolean value that indicates whether kerning is enabled
* (<code>true</code>) or disabled(<code>false</code>). Kerning adjusts the
* pixels between certain character pairs to improve readability, and should
* be used only when necessary, such as with headings in large fonts. Kerning
* is supported for embedded fonts only.
*
* <p>Certain fonts such as Verdana and monospaced fonts, such as Courier
* New, do not support kerning.</p>
*
* <p>The default value is <code>null</code>, which means that kerning is not
* enabled.</p>
*/
private _kerning;
get kerning(): boolean;
set kerning(value: boolean);
/**
* An integer representing the amount of vertical space(called
* <i>leading</i>) between lines. The default value is <code>null</code>,
* which indicates that the amount of leading used is 0.
*/
private _leading;
get leading(): number;
set leading(value: number);
/**
* A number representing the amount of space that is uniformly distributed
* between all characters. The value specifies the number of pixels that are
* added to the advance after each character. The default value is
* <code>null</code>, which means that 0 pixels of letter spacing is used.
* You can use decimal values such as <code>1.75</code>.
*/
private _letterSpacing;
get letterSpacing(): number;
set letterSpacing(value: number);
/**
* The size in pixels of text in this text format. The default value is
* <code>null</code>, which means that a size of 12 is used.
*/
private _size;
get size(): number;
set size(value: number);
/**
* props for defining font and font-style
* */
/**
* Specifies whether the text is boldface. The default value is
* <code>null</code>, which means no boldface is used. If the value is
* <code>true</code>, then the text is boldface.
*/
private _bold;
get bold(): boolean;
set bold(value: boolean);
/**
* Indicates whether text in this text format is italicized. The default
* value is <code>null</code>, which means no italics are used.
*/
private _italic;
get italic(): boolean;
set italic(value: boolean);
/**
* Indicates whether the text that uses this text format is underlined
* (<code>true</code>) or not(<code>false</code>). This underlining is
* similar to that produced by the <code><U></code> tag, but the latter is
* not true underlining, because it does not skip descenders correctly. The
* default value is <code>null</code>, which indicates that underlining is
* not used.
*/
private _underline;
get underline(): boolean;
set underline(value: boolean);
/**
* The name of the font-style for text in this text format, as a string.
* To be valid, for use with curve-rendering, the textFormat must have a Font-table assigned.
* The font-style can be used to get a Font-table, from a Font-object.
*/
/**
* The font-table that provides the subgeos for the chars
*/
private _font_table;
get font_table(): IFontTable;
set font_table(value: IFontTable);
/**
* The material to use for texturing geometry generated for this text-format.
* this material will be used by the TextField
*/
material: IMaterial;
/**
* The uv-values of the colors in textureatlas.
* The lenght migth be 4 in future to support bitmap-fills and gradients, but for now it will should always be 2
*/
uv_values: Array<number>;
/**
* The name of the font for text in this text format, as a string.
* To be valid, for use with curve-rendering, the textFormat must have a Font-table assigned.
* The font-name can be used to get a Font-object from the AssetLibrary.
* A Font object provides a list of Font-table, corresponding to font-table names.
*/
private _font;
get font_name(): string;
set font_name(value: string);
update_font_table(): void;
get font(): Font;
set font(value: Font);
/**
* Specifies custom tab stops as an array of non-negative integers. Each tab
* stop is specified in pixels. If custom tab stops are not specified
* (<code>null</code>), the default tab stop is 4(average character width).
*/
tabStops: Array<number>;
/**
* Indicates that the text is part of a bulleted list. In a bulleted list,
* each paragraph of text is indented. To the left of the first line of each
* paragraph, a bullet symbol is displayed. The default value is
* <code>null</code>, which means no bulleted list is used.
*/
bullet: boolean;
/**
* Indicates the target window where the hyperlink is displayed. If the
* target window is an empty string, the text is displayed in the default
* target window <code>_self</code>. You can choose a custom name or one of
* the following four names: <code>_self</code> specifies the current frame
* in the current window, <code>_blank</code> specifies a new window,
* <code>_parent</code> specifies the parent of the current frame, and
* <code>_top</code> specifies the top-level frame in the current window. If
* the <code>TextFormat.url</code> property is an empty string or
* <code>null</code>, you can get or set this property, but the property will
* have no effect.
*/
link_target: string;
/**
* Indicates the target URL for the text in this text format. If the
* <code>url</code> property is an empty string, the text does not have a
* hyperlink. The default value is <code>null</code>, which indicates that
* the text does not have a hyperlink.
*
* <p><b>Note:</b> The text with the assigned text format must be set with
* the <code>htmlText</code> property for the hyperlink to work.</p>
*/
url: string;
/**
* Creates a TextFormat object with the specified properties. You can then
* change the properties of the TextFormat object to change the formatting of
* text fields.
*
* <p>Any parameter may be set to <code>null</code> to indicate that it is
* not defined. All of the parameters are optional; any omitted parameters
* are treated as <code>null</code>.</p>
*
* @param font The name of a font for text as a string.
* @param size An integer that indicates the size in pixels.
* @param color The color of text using this text format. A number
* containing three 8-bit RGB components; for example,
* 0xFF0000 is red, and 0x00FF00 is green.
* @param bold A Boolean value that indicates whether the text is
* boldface.
* @param italic A Boolean value that indicates whether the text is
* italicized.
* @param underline A Boolean value that indicates whether the text is
* underlined.
* @param url The URL to which the text in this text format
* hyperlinks. If <code>url</code> is an empty string, the
* text does not have a hyperlink.
* @param target The target window where the hyperlink is displayed. If
* the target window is an empty string, the text is
* displayed in the default target window
* <code>_self</code>. If the <code>url</code> parameter
* is set to an empty string or to the value
* <code>null</code>, you can get or set this property,
* but the property will have no effect.
* @param align The alignment of the paragraph, as a TextFormatAlign
* value.
* @param leftMargin Indicates the left margin of the paragraph, in pixels.
* @param rightMargin Indicates the right margin of the paragraph, in pixels.
* @param indent An integer that indicates the indentation from the left
* margin to the first character in the paragraph.
* @param leading A number that indicates the amount of leading vertical
* space between lines.
*/
constructor(font?: Font | string, size?: number, color?: number, bold?: boolean, italic?: boolean, underline?: boolean, url?: string, link_target?: string, align?: string, leftMargin?: number, rightMargin?: number, indent?: number, leading?: number);
clone(): TextFormat;
equal(format: TextFormat): boolean;
applyToFormat(format: TextFormat): boolean;
/**
* Merge this format with other format by this rules:
* if both formats have same property-valu8e, property value persists
* if both formats have different property-value, property-value becomes null
* Used by Textfield.getTextFormat
* @param format
*/
mergeFormat(format: TextFormat): void;
/**
*
*/
get assetType(): string;
}
//# sourceMappingURL=TextFormat.d.ts.map