LogoPixi’VN
pixi-jsClasses

Class: TextStyle

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:691

A TextStyle Object contains information to decorate Text objects. An instance can be shared between multiple Text objects; then changing the style will update all text objects using it.

Example

// Create a basic text style
const style = new TextStyle({
    fontFamily: ['Helvetica', 'Arial', 'sans-serif'],
    fontSize: 36,
    fill: 0xff1010,
    align: 'center'
});

// Create a rich text style with multiple features
const richStyle = new TextStyle({
    fontFamily: 'Arial',
    fontSize: 32,
    fill: 'white',
    stroke: {
        color: '#4a1850',
        width: 5
    },
    dropShadow: {
        color: '#000000',
        blur: 4,
        distance: 6,
        angle: Math.PI / 6
    },
    wordWrap: true,
    wordWrapWidth: 440,
    lineHeight: 40,
    align: 'center'
});

// Share style between multiple text objects
const text1 = new Text({
    text: 'Hello',
    style: richStyle
});

const text2 = new Text({
    text: 'World',
    style: richStyle
});

// Update style dynamically - affects all text objects
richStyle.fontSize = 48;
richStyle.fill = 0x00ff00;

Key Features:

  • Shared styling between multiple text objects
  • Rich text formatting options
  • Gradient and pattern fills
  • Drop shadows and strokes
  • Word wrapping and alignment
  • Dynamic updates

Standard

Extends

Extended by

Constructors

Constructor

> new TextStyle(style?): TextStyle

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:775

Parameters

style?

Partial<TextStyleOptions>

Returns

TextStyle

Overrides

EventEmitter.constructor

Properties

_fill

> _fill: ConvertedFillStyle

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:731

Internal


_gradientBounds?

> optional _gradientBounds?: object

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:762

Internal

When set, gradient fills use these bounds instead of the text's own measured dimensions. Used by SplitText to make character gradients span the full text width.

height

> height: number

width

> width: number


_gradientOffset?

> optional _gradientOffset?: object

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:771

Internal

When set, gradient fills are offset by this amount within the gradient bounds. Used by SplitText to position each character's gradient correctly.

x

> x: number

y

> y: number


_stroke

> _stroke: ConvertedStrokeStyle

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:734

Internal


_tagStyles

> _tagStyles: Record<string, TextStyleOptions> | undefined

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:756

Internal


_tick

> _tick: number

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:717

Internal

Internal tick counter used to track updates and changes. This is incremented whenever the style is modified, allowing for efficient change detection.


uid

> uid: number

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:711

Internal

Unique identifier for the TextStyle class. This is used to track instances and ensure uniqueness.


defaultDropShadow

> static defaultDropShadow: TextDropShadow

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:705

Default drop shadow settings used when enabling drop shadows on text. These values are used as the base configuration when drop shadows are enabled without specific settings.

Example

// Customize default settings globally
TextStyle.defaultDropShadow.alpha = 0.5;    // 50% opacity for all shadows
TextStyle.defaultDropShadow.blur = 2;       // 2px blur for all shadows
TextStyle.defaultDropShadow.color = 'blue'; // Blue shadows by default

defaultTextStyle

> static defaultTextStyle: TextStyleOptions

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:729

Default text style settings used when creating new text objects. These values serve as the base configuration and can be customized globally.

Example

// Customize default text style globally
TextStyle.defaultTextStyle.fontSize = 16;
TextStyle.defaultTextStyle.fill = 0x333333;
TextStyle.defaultTextStyle.fontFamily = ['Arial', 'Helvetica', 'sans-serif'];

prefixed

> static prefixed: string | boolean

Defined in: node_modules/eventemitter3/index.d.ts:9

Inherited from

EventEmitter.prefixed

Accessors

_fontString

Get Signature

> get _fontString(): string

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:942

Internal

Returns the CSS font string for this style, cached for performance.

Returns

string

CSS font string


align

Get Signature

> get align(): TextStyleAlign

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:780

Alignment for multiline text, does not affect single line text.

Returns

TextStyleAlign

Set Signature

> set align(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:781

Parameters
value

TextStyleAlign

Returns

void


breakWords

Get Signature

> get breakWords(): boolean

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:783

Indicates if lines can be wrapped within words, it needs wordWrap to be set to true.

Returns

boolean

Set Signature

> set breakWords(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:784

Parameters
value

boolean

Returns

void


dropShadow

Get Signature

> get dropShadow(): TextDropShadow

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:786

Set a drop shadow for the text.

Returns

TextDropShadow

Set Signature

> set dropShadow(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:787

Parameters
value

boolean | TextDropShadow

Returns

void


fill

Get Signature

> get fill(): FillInput

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:894

The fill style that will be used to color the text. This can be:

  • A color string like 'red', '#00FF00', or 'rgba(255,0,0,0.5)'
  • A hex number like 0xff0000 for red
  • A FillStyle object with properties like { color: 0xff0000, alpha: 0.5 }
  • A FillGradient for gradient fills
  • A FillPattern for pattern/texture fills

When using a FillGradient, vertical gradients (angle of 90 degrees) are applied per line of text, while gradients at any other angle are spread across the entire text body as a whole.

Example
// Vertical gradient applied per line
const verticalGradient = new FillGradient(0, 0, 0, 1)
    .addColorStop(0, 0xff0000)
    .addColorStop(1, 0x0000ff);

const text = new Text({
    text: 'Line 1\nLine 2',
    style: { fill: verticalGradient }
});

To manage the gradient in a global scope, set the textureSpace property of the FillGradient to 'global'.
Returns

FillInput

Set Signature

> set fill(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:895

Parameters
value

FillInput

Returns

void


filters

Get Signature

> get filters(): readonly Filter[]

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:834

An optional filter or array of filters to apply to the text, allowing for advanced visual effects. These filters will be applied to the text as it is created, resulting in faster rendering for static text compared to applying the filter directly to the text object (which would be applied at run time).

Default
null
Returns

readonly Filter[]

Set Signature

> set filters(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:835

Parameters
value

Filter[]

Returns

void


fontFamily

Get Signature

> get fontFamily(): string | string[]

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:789

The font family, can be a single font name, or a list of names where the first is the preferred font.

Returns

string | string[]

Set Signature

> set fontFamily(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:790

Parameters
value

string | string[]

Returns

void


fontSize

Get Signature

> get fontSize(): number

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:792

The font size (as a number it converts to px, but as a string, equivalents are '26px','20pt','160%' or '1.6em')

Returns

number

Set Signature

> set fontSize(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:793

Parameters
value

string | number

Returns

void


fontStyle

Get Signature

> get fontStyle(): TextStyleFontStyle

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:798

The font style.

Returns

TextStyleFontStyle

Set Signature

> set fontStyle(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:799

Parameters
value

TextStyleFontStyle

Returns

void


fontVariant

Get Signature

> get fontVariant(): TextStyleFontVariant

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:804

The font variant.

Returns

TextStyleFontVariant

Set Signature

> set fontVariant(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:805

Parameters
value

TextStyleFontVariant

Returns

void


fontWeight

Get Signature

> get fontWeight(): TextStyleFontWeight

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:810

The font weight.

Returns

TextStyleFontWeight

Set Signature

> set fontWeight(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:811

Parameters
value

TextStyleFontWeight

Returns

void


leading

Get Signature

> get leading(): number

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:813

The space between lines.

Returns

number

Set Signature

> set leading(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:814

Parameters
value

number

Returns

void


letterSpacing

Get Signature

> get letterSpacing(): number

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:816

The amount of spacing between letters, default is 0.

Returns

number

Set Signature

> set letterSpacing(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:817

Parameters
value

number

Returns

void


lineHeight

Get Signature

> get lineHeight(): number

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:819

The line height, a number that represents the vertical space that a letter uses.

Returns

number

Set Signature

> set lineHeight(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:820

Parameters
value

number

Returns

void


padding

Get Signature

> get padding(): number

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:826

Occasionally some fonts are cropped. Adding some padding will prevent this from happening by adding padding to all sides of the text. > [!NOTE] This will NOT affect the positioning or bounds of the text.

Returns

number

Set Signature

> set padding(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:827

Parameters
value

number

Returns

void


stroke

Get Signature

> get stroke(): StrokeInput

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:897

A fillstyle that will be used on the text stroke, e.g., 'blue', '#FCFF00'.

Returns

StrokeInput

Set Signature

> set stroke(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:898

Parameters
value

StrokeInput

Returns

void


styleKey

Get Signature

> get styleKey(): string

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:936

Returns a unique key for this instance. This key is used for caching.

Returns

string

Unique key for the instance


tagStyles

Get Signature

> get tagStyles(): Record<string, TextStyleOptions> | undefined

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:919

Custom styles to apply to specific tags within the text. Allows for rich text formatting using simple tag markup like <red>text</red>.

Tags are only parsed when this property has entries. If tagStyles is undefined, < characters in text are treated as literal.

Example
const text = new Text({
    text: '<red>Red</red>, <blue>Blue</blue>',
    style: {
        fill: 'white',
        tagStyles: {
            red: { fill: 'red' },
            blue: { fill: 'blue' }
        }
    }
});
Returns

Record<string, TextStyleOptions> | undefined

Set Signature

> set tagStyles(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:920

Parameters
value

Record<string, TextStyleOptions> | undefined

Returns

void


textBaseline

Get Signature

> get textBaseline(): TextStyleTextBaseline

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:848

The baseline of the text that is rendered.

Returns

TextStyleTextBaseline

Set Signature

> set textBaseline(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:849

Parameters
value

TextStyleTextBaseline

Returns

void


trim

Get Signature

> get trim(): boolean

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:842

Trim transparent borders from the text texture. > [!IMPORTANT] PERFORMANCE WARNING: > This is a costly operation as it requires scanning pixel alpha values. > Avoid using trim: true for dynamic text, as it could significantly impact performance.

Returns

boolean

Set Signature

> set trim(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:843

Parameters
value

boolean

Returns

void


whiteSpace

Get Signature

> get whiteSpace(): TextStyleWhiteSpace

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:861

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

Returns

TextStyleWhiteSpace

Set Signature

> set whiteSpace(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:862

Parameters
value

TextStyleWhiteSpace

Returns

void


wordWrap

Get Signature

> get wordWrap(): boolean

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:864

Indicates if word wrap should be used.

Returns

boolean

Set Signature

> set wordWrap(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:865

Parameters
value

boolean

Returns

void


wordWrapWidth

Get Signature

> get wordWrapWidth(): number

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:867

The width at which text will wrap, it needs wordWrap to be set to true.

Returns

number

Set Signature

> set wordWrapWidth(value): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:868

Parameters
value

number

Returns

void

Methods

_getFinalPadding()

> _getFinalPadding(): number

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:970

Internal

Returns the final padding for the text style, taking into account any filters applied. Used internally for correct measurements

Returns

number

The final padding for the text style.


_toObject()

> protected _toObject(): Required<TextStyleOptions>

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:958

Returns an object with the same values as this TextStyle instance.

Returns

Required<TextStyleOptions>

Object with the same values as this TextStyle instance

Example

const style = new TextStyle({
    fontSize: 24,
    fill: 0xff0000,
    stroke: { color: 0x0000ff, width: 2 }
});
const object = style.toObject();
console.log(object);
// { fontSize: 24, fill: 0xff0000, stroke: { color: 0x0000ff, width: 2 } }

addListener()

> addListener<T>(event, fn, context?): this

Defined in: node_modules/eventemitter3/index.d.ts:45

Type Parameters

T

T extends "update"

Parameters

event

T

fn

(...args) => void

context?

any

Returns

this

Inherited from

EventEmitter.addListener


assign()

> assign(values): this

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:930

Assigns partial style options to this TextStyle instance. Uses public setters to ensure proper value transformation.

Parameters

values

Partial<TextStyleOptions>

Partial style options to assign

Returns

this

This TextStyle instance for chaining


clone()

> clone(): TextStyle

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:963

Creates a new TextStyle object with the same values as this one.

Returns

TextStyle

New cloned TextStyle object


destroy()

> destroy(options?): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:980

Destroys this text style.

Parameters

options?

TypeOrBool<TextureDestroyOptions>

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

Returns

void

Example

// Destroy the text style and its textures
textStyle.destroy({ texture: true, textureSource: true });
textStyle.destroy(true);

emit()

> emit<T>(event, ...args): boolean

Defined in: node_modules/eventemitter3/index.d.ts:32

Calls each of the listeners registered for a given event.

Type Parameters

T

T extends "update"

Parameters

event

T

args

...ArgumentMap<{ update: TextDropShadow; }>[Extract<T, "update">]

Returns

boolean

Inherited from

EventEmitter.emit


eventNames()

> eventNames(): "update"[]

Defined in: node_modules/eventemitter3/index.d.ts:15

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

Returns

"update"[]

Inherited from

EventEmitter.eventNames


listenerCount()

> listenerCount(event): number

Defined in: node_modules/eventemitter3/index.d.ts:27

Return the number of listeners listening to a given event.

Parameters

event

"update"

Returns

number

Inherited from

EventEmitter.listenerCount


listeners()

> listeners<T>(event): (...args) => void[]

Defined in: node_modules/eventemitter3/index.d.ts:20

Return the listeners registered for a given event.

Type Parameters

T

T extends "update"

Parameters

event

T

Returns

(...args) => void[]

Inherited from

EventEmitter.listeners


off()

> off<T>(event, fn?, context?, once?): this

Defined in: node_modules/eventemitter3/index.d.ts:69

Type Parameters

T

T extends "update"

Parameters

event

T

fn?

(...args) => void

context?

any

once?

boolean

Returns

this

Inherited from

EventEmitter.off


on()

> on<T>(event, fn, context?): this

Defined in: node_modules/eventemitter3/index.d.ts:40

Add a listener for a given event.

Type Parameters

T

T extends "update"

Parameters

event

T

fn

(...args) => void

context?

any

Returns

this

Inherited from

EventEmitter.on


once()

> once<T>(event, fn, context?): this

Defined in: node_modules/eventemitter3/index.d.ts:54

Add a one-time listener for a given event.

Type Parameters

T

T extends "update"

Parameters

event

T

fn

(...args) => void

context?

any

Returns

this

Inherited from

EventEmitter.once


removeAllListeners()

> removeAllListeners(event?): this

Defined in: node_modules/eventemitter3/index.d.ts:79

Remove all listeners, or those of the specified event.

Parameters

event?

"update"

Returns

this

Inherited from

EventEmitter.removeAllListeners


removeListener()

> removeListener<T>(event, fn?, context?, once?): this

Defined in: node_modules/eventemitter3/index.d.ts:63

Remove the listeners of a given event.

Type Parameters

T

T extends "update"

Parameters

event

T

fn?

(...args) => void

context?

any

once?

boolean

Returns

this

Inherited from

EventEmitter.removeListener


reset()

> reset(): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:923

Resets all properties to the default values

Returns

void


update()

> update(): void

Defined in: node_modules/pixi.js/lib/scene/text/TextStyle.d.ts:921

Returns

void