A Text Object will create a line or multiple lines of text.

The text is created using the Canvas API.

The primary advantage of this class over BitmapText is that you have great control over the style of the text, which you can change at runtime.

The primary disadvantages is that each piece of text has it's own texture, which can use more memory. When text changes, this texture has to be re-generated and re-uploaded to the GPU, taking up time.

To split a line you can use '\n' in your text string, or, on the style object, change its wordWrap property to true and and give the wordWrapWidth property a value.

A Text can be created directly from a string and a style object, which can be generated here.

Example

import { Text } from 'pixi.js';

const text = new Text('This is a PixiJS text', {
fontFamily: 'Arial',
fontSize: 24,
fill: 0xff1010,
align: 'center',
});

Memberof

PIXI

Hierarchy (view full)

Constructors

Properties

Accessors

Methods

Constructors

  • Parameters

    • Optional text: string | number

      The string that you would like the text to display

    • Optional style: Pixi.TextStyle | Partial<ITextStyle>

      The style parameters

    • Optional canvas: ICanvas

      The canvas element for drawing text

    Returns Text

Properties

_accessibleActive?: boolean
_accessibleDiv?: IAccessibleHTMLElement
_autoResolution: boolean
_bounds: Bounds

The bounds object, this is used to calculate and store the bounds of the displayObject.

_cacheAsBitmap: boolean
_cacheAsBitmapMultisample: MSAA_QUALITY
_cacheAsBitmapResolution: number
_cacheData: CacheData
_internalEventMode: EventMode
_internalInteractive: boolean
_localBounds: Bounds

Local bounds object, swapped with _bounds when using getLocalBounds().

_resolution: number

The resolution / device pixel ratio of the canvas.

This is set to automatically match the renderer resolution by default, but can be overridden by setting manually.

Default

PIXI.settings.RESOLUTION
_textureID: number
accessible?: boolean
accessibleChildren?: boolean
accessibleHint?: string
accessiblePointerEvents?: PointerEvents
accessibleTitle?: string
accessibleType?: string
alpha: number

The opacity of the object.

blendMode: BLEND_MODES

The blend mode to be applied to the sprite. Apply a value of PIXI.BLEND_MODES.NORMAL to reset the blend mode.

Default

PIXI.BLEND_MODES.NORMAL
cacheAsBitmap: boolean
cacheAsBitmapMultisample: MSAA_QUALITY
cacheAsBitmapResolution: number
canvas: ICanvas

The canvas element that everything is drawn to.

children: DisplayObject[]

The array of children of this container.

containerUpdateTransform: (() => void)

Type declaration

    • (): void
    • Returns void

The canvas 2d context that everything is drawn with.

cullArea: Rectangle

If set, this shape is used for culling instead of the bounds of this object. It can improve the culling performance of objects with many children. The culling area is defined in local space.

cullable: boolean

Should this object be rendered if the bounds of this object are out of frame?

Culling has no effect on whether updateTransform is called.

cursor: string

The cursor preferred when the mouse pointer is hovering over.

dirty: boolean
displayObjectUpdateTransform: (() => void)

Type declaration

    • (): void
    • Returns void

eventMode: EventMode

The mode of interaction for this object

filterArea: Rectangle

The area the filter is applied to. This is used as more of an optimization rather than figuring out the dimensions of the displayObject each frame you can set this rectangle.

Also works as an interaction mask.

filters: null | Pixi.Filter[]

Sets the filters for the displayObject. IMPORTANT: This is a WebGL only feature and will be ignored by the canvas renderer. To remove filters simply set this property to 'null'.

hitArea: null | IHitArea

The hit-area specifies the area for which pointer events should be captured by this event target.

indices: Uint16Array
interactive: boolean

Whether this event target should fire UI events.

interactiveChildren: boolean

Whether this event target has any children that need UI events. This can be used optimize event propagation.

isInteractive: (() => boolean)

Returns true if the DisplayObject has interactive 'static' or 'dynamic'

Type declaration

    • (): boolean
    • Returns boolean

isMask: boolean

Does any other displayObject use this object as a mask?

isSprite: boolean

Used to fast check if a sprite is.. a sprite!

localStyleID: number
name: null | string

Handler for 'click' event

onglobalmousemove: null | FederatedEventHandler<FederatedPointerEvent>

Handler for 'globalmousemove' event

onglobalpointermove: null | FederatedEventHandler<FederatedPointerEvent>

Handler for 'globalpointermove' event

onglobaltouchmove: null | FederatedEventHandler<FederatedPointerEvent>

Handler for 'globaltouchmove' event

Handler for 'mousedown' event

Handler for 'mouseenter' event

Handler for 'mouseleave' event

Handler for 'mousemove' event

Handler for 'mouseout' event

Handler for 'mouseover' event

Handler for 'mouseup' event

Handler for 'mouseupoutside' event

Handler for 'pointercancel' event

Handler for 'pointerdown' event

Handler for 'pointerenter' event

Handler for 'pointerleave' event

Handler for 'pointermove' event

Handler for 'pointerout' event

Handler for 'pointerover' event

Handler for 'pointertap' event

Handler for 'pointerup' event

onpointerupoutside: null | FederatedEventHandler<FederatedPointerEvent>

Handler for 'pointerupoutside' event

Handler for 'rightclick' event

Handler for 'rightdown' event

Handler for 'rightup' event

Handler for 'rightupoutside' event

Handler for 'tap' event

Handler for 'touchcancel' event

Handler for 'touchend' event

ontouchendoutside: null | FederatedEventHandler<FederatedPointerEvent>

Handler for 'touchendoutside' event

Handler for 'touchmove' event

Handler for 'touchstart' event

Handler for 'wheel' event

The display object container that contains this display object.

pluginName: string

Plugin that is responsible for rendering this element. Allows to customize the rendering process without overriding '_render' & '_renderCanvas' methods.

Default

'batch'
renderId?: number
renderable: boolean

Can this object be rendered, if false the object will not be drawn but the updateTransform methods will still be called.

Only affects recursive calls from parent. You can ask for bounds manually.

sortDirty: boolean

Should children be sorted by zIndex at the next updateTransform call.

Will get automatically set to true if a new child is added, or if a child's zIndex changes.

sortableChildren: boolean

If set to true, the container will sort its children by zIndex value when updateTransform() is called, or manually if sortChildren() is called.

This actually changes the order of elements in the array, so should be treated as a basic solution that is not performant compared to other solutions, such as PixiJS Layers

Also be aware of that this may not work nicely with the addChildAt() function, as the zIndex sorting may cause the child to automatically sorted to another position.

See

PIXI.Container.defaultSortableChildren

tabIndex?: number
transform: Transform

World transform and local transform of this object. This will become read-only later, please do not assign anything there unless you know what are you doing.

visible: boolean

The visibility of the object. If false the object will not be drawn, and the updateTransform function will not be called.

Only affects recursive calls from parent. You can ask for bounds or call updateTransform manually.

worldAlpha: number

The multiplied alpha of the displayObject.

defaultAutoResolution: boolean

Override whether or not the resolution of the text is automatically adjusted to match the resolution of the renderer. Setting this to false can allow you to get crisper text at lower render resolutions.

Example

// renderer has a resolution of 1
const app = new Application();

Text.defaultResolution = 2;
Text.defaultAutoResolution = false;
// text has a resolution of 2
const text = new Text('This is a PixiJS text');
defaultResolution: number

If PIXI.Text.defaultAutoResolution is false, this will be the default resolution of the text. If not set it will default to PIXI.settings.RESOLUTION.

Example

Text.defaultResolution = 2;
Text.defaultAutoResolution = false;

// text has a resolution of 2
const text = new Text('This is a PixiJS text');
defaultSortableChildren: boolean

Sets the default value for the container property sortableChildren. If set to true, the container will sort its children by zIndex value when updateTransform() is called, or manually if sortChildren() is called.

This actually changes the order of elements in the array, so should be treated as a basic solution that is not performant compared to other solutions, such as PixiJS Layers.

Also be aware of that this may not work nicely with the addChildAt() function, as the zIndex sorting may cause the child to automatically sorted to another position.

Static

prefixed: string | boolean

Accessors

  • get anchor(): ObservablePoint<any>
  • The anchor sets the origin point of the sprite. The default value is taken from the PIXI.Texture|Texture and passed to the constructor.

    The default is (0,0), this means the sprite's origin is the top left.

    Setting the anchor to (0.5,0.5) means the sprite's origin is centered.

    Setting the anchor to (1,1) would mean the sprite's origin point will be the bottom right corner.

    If you pass only single parameter, it will set both x and y to the same value as shown in the example below.

    Returns ObservablePoint<any>

    Example

    import { Sprite } from 'pixi.js';

    const sprite = new Sprite(Texture.WHITE);
    sprite.anchor.set(0.5); // This will set the origin to center. (0.5) is same as (0.5, 0.5).
  • set anchor(value): void
  • Parameters

    Returns void

  • get angle(): number
  • The angle of the object in degrees. 'rotation' and 'angle' have the same effect on a display object; rotation is in radians, angle is in degrees.

    Returns number

  • set angle(value): void
  • Parameters

    • value: number

    Returns void

  • get destroyed(): boolean
  • Readonly flag for destroyed display objects.

    Returns boolean

  • get height(): number
  • The height of the Text, setting this will actually modify the scale to achieve the value set.

    Returns number

  • set height(value): void
  • Parameters

    • value: number

    Returns void

  • get localTransform(): Matrix
  • Current transform of the object based on local factors: position, scale, other stuff.

    Returns Matrix

  • get mask(): null | Container<DisplayObject> | MaskData
  • Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. In PixiJS a regular mask must be a PIXI.Graphics or a PIXI.Sprite object. This allows for much faster masking in canvas as it utilities shape clipping. Furthermore, a mask of an object must be in the subtree of its parent. Otherwise, getLocalBounds may calculate incorrect bounds, which makes the container's width and height wrong. To remove a mask, set this property to null.

    For sprite mask both alpha and red channel are used. Black mask is the same as transparent mask.

    Returns null | Container<DisplayObject> | MaskData

    Example

    import { Graphics, Sprite } from 'pixi.js';

    const graphics = new Graphics();
    graphics.beginFill(0xFF3300);
    graphics.drawRect(50, 250, 100, 100);
    graphics.endFill();

    const sprite = new Sprite(texture);
    sprite.mask = graphics;

    Todo

    At the moment, CanvasRenderer doesn't support Sprite as mask.

  • set mask(value): void
  • Parameters

    Returns void

  • get pivot(): ObservablePoint<any>
  • The center of rotation, scaling, and skewing for this display object in its local space. The position is the projection of pivot in the parent's local space.

    By default, the pivot is the origin (0, 0).

    Returns ObservablePoint<any>

    Since

    4.0.0

  • set pivot(value): void
  • Parameters

    Returns void

  • get position(): ObservablePoint<any>
  • The coordinate of the object relative to the local coordinates of the parent.

    Returns ObservablePoint<any>

    Since

    4.0.0

  • set position(value): void
  • Parameters

    Returns void

  • get resolution(): number
  • The resolution / device pixel ratio of the canvas.

    This is set to automatically match the renderer resolution by default, but can be overridden by setting manually.

    Returns number

    Default

    1
    
  • set resolution(value): void
  • Parameters

    • value: number

    Returns void

  • get rotation(): number
  • The rotation of the object in radians. 'rotation' and 'angle' have the same effect on a display object; rotation is in radians, angle is in degrees.

    Returns number

  • set rotation(value): void
  • Parameters

    • value: number

    Returns void

  • get roundPixels(): boolean
  • Returns boolean

  • set roundPixels(value): void
  • If true PixiJS will Math.floor() x/y values when rendering, stopping pixel interpolation.

    Advantages can include sharper image quality (like text) and faster rendering on canvas. The main disadvantage is movement of objects may appear less smooth.

    To set the global default, change PIXI.settings.ROUND_PIXELS.

    Parameters

    • value: boolean

    Returns void

    Default

    false
    
  • get scale(): ObservablePoint<any>
  • The scale factors of this object along the local coordinate axes.

    The default scale is (1, 1).

    Returns ObservablePoint<any>

    Since

    4.0.0

  • set scale(value): void
  • Parameters

    Returns void

  • get skew(): ObservablePoint<any>
  • The skew factor for the object in radians.

    Returns ObservablePoint<any>

    Since

    4.0.0

  • set skew(value): void
  • Parameters

    Returns void

  • get style(): Pixi.TextStyle
  • Set the style of the text.

    Set up an event listener to listen for changes on the style object and mark the text as dirty.

    If setting the style can also be partial PIXI.ITextStyle.

    Returns Pixi.TextStyle

  • set style(style): void
  • Parameters

    Returns void

  • get text(): string
  • Set the copy for the text object. To split a line you can use '\n'.

    Returns string

  • set text(text): void
  • Parameters

    • text: string | number

    Returns void

  • get texture(): Texture<Resource>
  • The texture that the sprite is using.

    Returns Texture<Resource>

  • set texture(value): void
  • Parameters

    Returns void

  • get tint(): ColorSource
  • The tint applied to the sprite. This is a hex value.

    A value of 0xFFFFFF will remove any tint effect.

    Returns ColorSource

    Default

    0xFFFFFF
    
  • set tint(value): void
  • Parameters

    Returns void

  • get width(): number
  • The width of the Text, setting this will actually modify the scale to achieve the value set.

    Returns number

  • set width(value): void
  • Parameters

    • value: number

    Returns void

  • get worldTransform(): Matrix
  • Current transform of the object based on world (parent) factors.

    Returns Matrix

  • get worldVisible(): boolean
  • Indicates if the object is globally visible.

    Returns boolean

  • get x(): number
  • The position of the displayObject on the x axis relative to the local coordinates of the parent. An alias to position.x

    Returns number

  • set x(value): void
  • Parameters

    • value: number

    Returns void

  • get y(): number
  • The position of the displayObject on the y axis relative to the local coordinates of the parent. An alias to position.y

    Returns number

  • set y(value): void
  • Parameters

    • value: number

    Returns void

  • get zIndex(): number
  • The zIndex of the displayObject.

    If a container has the sortableChildren property set to true, children will be automatically sorted by zIndex value; a higher value will mean it will be moved towards the end of the array, and thus rendered on top of other display objects within the same container.

    Returns number

    See

    PIXI.Container#sortableChildren

  • set zIndex(value): void
  • Parameters

    • value: number

    Returns void

  • get experimentalLetterSpacing(): boolean
  • Returns boolean

    See

    PIXI.TextMetrics.experimentalLetterSpacing

    Deprecated

    since 7.1.0

  • set experimentalLetterSpacing(value): void
  • Parameters

    • value: boolean

    Returns void

Methods

  • Parameters

    Returns void

  • Returns void

  • Parameters

    Returns void

  • Parameters

    Returns void

  • Adds one or more children to the container.

    Multiple items can be added like so: myContainer.addChild(thingOne, thingTwo, thingThree)

    Type Parameters

    Parameters

    • Rest ...children: U

      The DisplayObject(s) to add to the container

    Returns U[0]

    • The first child that was added.
  • Adds a child to the container at a specified index. If the index is out of bounds an error will be thrown. If the child is already in this container, it will be moved to the specified index.

    Type Parameters

    Parameters

    • child: U

      The child to add.

    • index: number

      The absolute index where the child will be positioned at the end of the operation.

    Returns U

    The child that was added.

  • Type Parameters

    • K extends (keyof FederatedEventMap) | (keyof GlobalFederatedEventMap)

    Parameters

    • type: K
    • listener: ((e) => any)
    • Optional options: AddListenerOptions

    Returns void

  • Parameters

    • type: string
    • listener: EventListenerOrEventListenerObject
    • Optional options: AddListenerOptions

    Returns void

  • Recalculates the bounds of the container.

    This implementation will automatically fit the children's bounds into the calculation. Each child's bounds is limited to its mask's bounds or filterArea, if any is applied.

    Returns void

  • Calculates worldTransform * vertices for a non texture with a trim. store it in vertexTrimmedData.

    This is used to ensure that the true width and height of a trimmed texture is respected.

    Returns void

  • Calculates worldTransform * vertices, store it in vertexData.

    Returns void

  • Tests if a point is inside this sprite

    Parameters

    Returns boolean

    The result of the test

  • Destroys this text object.

    Note* Unlike a Sprite, a Text object will automatically destroy its baseTexture and texture as the majority of the time the texture will not be shared with any other Sprites.

    Parameters

    • Optional options: boolean | IDestroyOptions

      Options parameter. A boolean will act as if all options have been set to that value

    Returns void

  • Pair method for enableTempParent

    Parameters

    Returns void

  • Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

    MDN Reference

    Parameters

    • event: Event

    Returns boolean

  • Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

    MDN Reference

    Parameters

    • event: Event

    Returns boolean

  • Used in Renderer, cacheAsBitmap and other places where you call an updateTransform on root.

    const cacheParent = elem.enableTempParent();
    elem.updateTransform();
    elem.disableTempParent(cacheParent);

    Returns Container<DisplayObject>

    • Current parent
  • Return an array listing the events for which the emitter has registered listeners.

    Returns (keyof DisplayObjectEvents)[]

  • Calculates and returns the (world) bounds of the display object as a [Rectangle]PIXI.Rectangle.

    This method is expensive on containers with a large subtree (like the stage). This is because the bounds of a container depend on its children's bounds, which recursively causes all bounds in the subtree to be recalculated. The upside, however, is that calling getBounds once on a container will indeed update the bounds of all children (the whole subtree, in fact). This side effect should be exploited by using displayObject._bounds.getRectangle() when traversing through all the bounds in a scene graph. Otherwise, calling getBounds on each object in a subtree will cause the total cost to increase quadratically as its height increases.

    The transforms of all objects in a container's subtree and of all ancestors are updated. The world bounds of all display objects in a container's subtree will also be recalculated.

    The _bounds object stores the last calculation of the bounds. You can use to entirely skip bounds calculation if needed.

    const lastCalculatedBounds = displayObject._bounds.getRectangle(optionalRect);
    

    Do know that usage of getLocalBounds can corrupt the _bounds of children (the whole subtree, actually). This is a known issue that has not been solved. See [getLocalBounds]PIXI.DisplayObject#getLocalBounds for more details.

    getBounds should be called with skipUpdate equal to true in a render() call. This is because the transforms are guaranteed to be update-to-date. In fact, recalculating inside a render() call may cause corruption in certain cases.

    Parameters

    • Optional skipUpdate: boolean

      Setting to true will stop the transforms of the scene graph from being updated. This means the calculation returned MAY be out of date BUT will give you a nice performance boost.

    • Optional rect: Rectangle

      Optional rectangle to store the result of the bounds calculation.

    Returns Rectangle

    • The minimum axis-aligned rectangle in world space that fits around this object.
  • Returns the child at the specified index

    Parameters

    • index: number

      The index to get the child at

    Returns DisplayObject

    • The child at the given index, if any.
  • Type Parameters

    Parameters

    • name: string
    • Optional deep: boolean

    Returns null | T

  • Returns the index position of a child DisplayObject instance

    Parameters

    Returns number

    • The index position of the child display object to identify
  • Parameters

    • Optional point: Point
    • Optional skipUpdate: boolean

    Returns Point

  • Gets the local bounds of the text object.

    Parameters

    • Optional rect: Rectangle

      The output rectangle.

    Returns Rectangle

    The bounds.

  • Return the number of listeners listening to a given event.

    Parameters

    Returns number

  • Return the listeners registered for a given event.

    Type Parameters

    Parameters

    • event: T

    Returns ((...args) => void)[]

  • Type Parameters

    Parameters

    Returns this

  • Add a listener for a given event.

    Type Parameters

    Parameters

    Returns this

  • Add a one-time listener for a given event.

    Type Parameters

    Parameters

    Returns this

  • Remove all listeners, or those of the specified event.

    Parameters

    • Optional event: keyof DisplayObjectEvents

    Returns this

  • Removes one or more children from the container.

    Type Parameters

    Parameters

    • Rest ...children: U

      The DisplayObject(s) to remove

    Returns U[0]

    The first child that was removed.

  • Removes a child from the specified index position.

    Parameters

    • index: number

      The index to get the child from

    Returns DisplayObject

    The child that was removed.

  • Removes all children from this container that are within the begin and end indexes.

    Parameters

    • Optional beginIndex: number

      The beginning position.

    • Optional endIndex: number

      The ending position. Default value is size of the container.

    Returns DisplayObject[]

    • List of removed children
  • Type Parameters

    • K extends (keyof FederatedEventMap) | (keyof GlobalFederatedEventMap)

    Parameters

    • type: K
    • listener: ((e) => any)
    • Optional options: RemoveListenerOptions

    Returns void

  • Parameters

    • type: string
    • listener: EventListenerOrEventListenerObject
    • Optional options: RemoveListenerOptions

    Returns void

  • Remove the DisplayObject from its parent Container. If the DisplayObject has no parent, do nothing.

    Returns void

  • Remove the listeners of a given event.

    Type Parameters

    Parameters

    Returns this

  • Renders the object using the WebGL renderer.

    The [_render]PIXI.Container#_render method is be overriden for rendering the contents of the container itself. This render method will invoke it, and also invoke the render methods of all children afterward.

    If renderable or visible is false or if worldAlpha is not positive or if cullable is true and the bounds of this object are out of frame, this implementation will entirely skip rendering. See PIXI.DisplayObject for choosing between renderable or visible. Generally, setting alpha to zero is not recommended for purely skipping rendering.

    When your scene becomes large (especially when it is larger than can be viewed in a single screen), it is advised to employ culling to automatically skip rendering objects outside of the current screen. See [cullable]PIXI.DisplayObject#cullable and [cullArea]PIXI.DisplayObject#cullArea. Other culling methods might be better suited for a large number static objects; see [@pixi-essentials/cull]https://www.npmjs.com/package/@pixi-essentials/cull and [pixi-cull]https://www.npmjs.com/package/pixi-cull.

    The [renderAdvanced]PIXI.Container#renderAdvanced method is internally used when when masking or filtering is applied on a container. This does, however, break batching and can affect performance when masking and filtering is applied extensively throughout the scene graph.

    Parameters

    Returns void

  • Changes the position of an existing child in the display object container

    Parameters

    • child: DisplayObject

      The child DisplayObject instance for which you want to change the index number

    • index: number

      The resulting index number for the child display object

    Returns void

  • Convenience function to set the position, scale, skew and pivot at once.

    Parameters

    • Optional x: number

      The X position

    • Optional y: number

      The Y position

    • Optional scaleX: number

      The X scale value

    • Optional scaleY: number

      The Y scale value

    • Optional rotation: number

      The rotation

    • Optional skewX: number

      The X skew value

    • Optional skewY: number

      The Y skew value

    • Optional pivotX: number

      The X pivot value

    • Optional pivotY: number

      The Y pivot value

    Returns this

    • The DisplayObject instance
  • Sorts children by zIndex. Previous order is maintained for 2 children with the same zIndex.

    Returns void

  • Swaps the position of 2 Display Objects within this container.

    Parameters

    Returns void

  • Calculates the global position of the display object.

    Type Parameters

    Parameters

    • position: IPointData

      The world origin to calculate from.

    • Optional point: P

      A Point object in which to store the value, optional (otherwise will create a new Point).

    • Optional skipUpdate: boolean

      Should we skip the update transform.

    Returns P

    • A point object representing the position of this object.
  • Calculates the local position of the display object relative to another point.

    Type Parameters

    Parameters

    • position: IPointData

      The world origin to calculate from.

    • Optional from: DisplayObject

      The DisplayObject to calculate the global position from.

    • Optional point: P

      A Point object in which to store the value, optional (otherwise will create a new Point).

    • Optional skipUpdate: boolean

      Should we skip the update transform

    Returns P

    • A point object representing the position of this object
  • Renders text to its canvas, and updates its texture.

    By default this is used internally to ensure the texture is correct before rendering, but it can be used called externally, for example from this class to 'pre-generate' the texture from a piece of text, and then shared across multiple Sprites.

    Parameters

    • respectDirty: boolean

      Whether to abort updating the text if the Text isn't dirty and the function is called.

    Returns void

  • Updates the transform on all children of this container for rendering.

    Returns void

  • Helper function that creates a new sprite based on the source you provide. The source can be - frame id, image url, video url, canvas element, video element, base texture

    Parameters

    Returns Sprite

    The newly created sprite

  • Mixes all enumerable properties and methods from a source object to DisplayObject.

    Parameters

    • source: Dict<any>

      The source of properties and methods to mix in.

    Returns void

Generated using TypeDoc