BitmapText
Renders a PIXI.BitmapText. Bitmap fonts must be loaded before use.
PIXI.BitmapText description from PixiJS
sourceA BitmapText object creates text using pre-rendered bitmap fonts. It supports both loaded bitmap fonts (XML/FNT) and dynamically generated ones.
To split a line you can use '\n' in your text string, or use the wordWrap and
wordWrapWidth style properties.
Key Features:
- High-performance text rendering using pre-generated textures
- Support for both pre-loaded and dynamic bitmap fonts
- Compatible with MSDF/SDF fonts for crisp scaling
- Automatic font reuse and optimization
Performance Benefits:
- Faster rendering compared to Canvas/HTML text
- Lower memory usage for repeated characters
- More efficient text changes
- Better batching capabilities
Limitations:
- Full character set support is impractical due to the number of chars (mainly affects CJK languages)
- Initial font generation/loading overhead
- Less flexible styling compared to Canvas/HTML text
Usage
<script> import { AssetsLoader, BitmapText } from 'svelte-pixi'</script>
<AssetsLoader assets={['/assets/desyrel.xml']}> <BitmapText text={'the fox jumps over\nthe lazy dog'} x={380} y={200} anchor={0.5} style={{ fontFamily: 'Desyrel', fontSize: 48, align: 'center' }} /></AssetsLoader><script> import { AssetsLoader, BitmapText } from 'svelte-pixi/svelte-4'</script>
<AssetsLoader assets={['/assets/desyrel.xml']}> <BitmapText text={'the fox jumps over\nthe lazy dog'} x={380} y={200} anchor={0.5} style={{ fontFamily: 'Desyrel', fontSize: 48, align: 'center' }} /></AssetsLoader>API
Props
* denotes required
| Name | Description |
|---|---|
accessible | booleanFlag for if the object is accessible. If true AccessibilityManager will overlay a shadow div with attributes set |
accessibleChildren | booleanSetting to false will prevent any children inside this container to be accessible. Defaults to true. |
accessibleHint | nullstringSets the aria-label attribute of the shadow div |
accessiblePointerEvents | "visible""auto""none""visiblePainted""visibleFill""visibleStroke""painted""fill""stroke""all""inherit"Specify the pointer-events the accessible div will use Defaults to auto. |
accessibleTitle | nullstringSets the title attribute of the shadow div If accessibleTitle AND accessibleHint has not been this will default to 'container [tabIndex]' |
accessibleType | "object""label""style""a""abbr""address""area""article""aside""audio""b""base""bdi""bdo""blockquote""body""br""button""canvas""caption""cite""code""col""colgroup""data""datalist""dd""del""details""dfn""dialog""div""dl""dt""em""embed""fieldset""figcaption""figure""footer""form""h1""h2""h3""h4""h5""h6""head""header""hgroup""hr""html""i""iframe""img""input""ins""kbd""legend""li""link""main""map""mark""menu""meta""meter""nav""noscript""ol""optgroup""option""output""p""picture""pre""progress""q""rp""rt""ruby""s""samp""script""search""section""select""slot""small""source""span""strong""sub""summary""sup""table""tbody""td""template""textarea""tfoot""th""thead""time""title""tr""track""u""ul""var""video""wbr"Specify the type of div the accessible layer is. Screen readers treat the element differently depending on this type. Defaults to button. |
alpha | number |
anchor | number[number, number]{ x: number; y: number }PIXI.PointThe anchor point of the text that controls the origin point for positioning and rotation. Can be a number (same value for x/y) or a PointData object.
|
angle | numberThe angle of the object in degrees.
|
boundsArea | PIXI.RectangleAn optional bounds area for this container. Setting this rectangle will stop the renderer from recursively measuring the bounds of each children and instead use this single boundArea.
|
cacheAsBitmap | booleanLegacy property for backwards compatibility with PixiJS v7 and below.
Use |
cacheAsTexture | PIXI.CacheAsTextureOptionsboolean |
cullable | booleanControls whether this object should be culled when out of view. When true, the object will not be rendered if its bounds are outside the visible area. |
cullableChildren | booleanControls whether children of this container can be culled. When false, skips recursive culling checks for better performance. |
cullArea | PIXI.RectangleCustom shape used for culling calculations instead of object bounds. Defined in local space coordinates relative to the object.
|
cursor | "text""progress""auto""none""default""context-menu""help""pointer""wait""cell""crosshair""vertical-text""alias""copy""move""no-drop""not-allowed""e-resize""n-resize""ne-resize""nw-resize""s-resize""se-resize""sw-resize""w-resize""ns-resize""ew-resize""nesw-resize""col-resize""nwse-resize""row-resize""all-scroll""zoom-in""zoom-out""grab""grabbing"string & {}The cursor style to display when the mouse pointer is hovering over the object. Accepts any valid CSS cursor value or custom cursor URL. |
effects | PIXI.Effect[]todo Needs docs |
eventMode | "auto""none""passive""static""dynamic"Enable interaction events for the Container. Touch, pointer and mouse events are supported. |
filterArea | PIXI.RectangleThe area the filter is applied to. This is used as an optimization to define a specific region for filter effects instead of calculating the display object bounds each frame.
|
filters | readonly PIXI.Filter[]Sets the filters for the displayObject. Filters are visual effects that can be applied to any display object and its children.
|
height | numberThe height of the Container,
|
hitArea | nullPIXI.IHitAreaDefines a custom hit area for pointer interaction testing. When set, this shape will be used for hit testing instead of the container's standard bounds. |
instance | T |
interactive | booleanWhether this object should fire UI events. This is an alias for |
interactiveChildren | booleanControls whether children of this container can receive pointer events. Setting this to false allows PixiJS to skip hit testing on all children, improving performance for containers with many non-interactive children. |
isRenderGroup | boolean |
label | stringThe instance label of the object. |
mask | numberPIXI.Container<PIXI.ContainerChild>Partial<PIXI.MaskOptionsAndMask> |
name | stringThe instance name of the object. |
onadded | () => voidCalled when the instance is added to its parent or stage |
onclick | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
oncreate | (instance: T) => voidCalled on creation of the component. You can use this to do any setup on the instance directly |
onglobalmousemove | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the Fired when the mouse moves anywhere, regardless of whether the pointer is over this object.
The object must have |
onglobalpointermove | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the Fired when the pointer moves anywhere, regardless of whether the pointer is over this object.
The object must have |
onglobaltouchmove | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the Fired when a touch interaction moves anywhere, regardless of whether the pointer is over this object.
The object must have |
onmousedown | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onmouseenter | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onmouseleave | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onmousemove | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onmouseout | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onmouseover | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onmouseup | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onmouseupoutside | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onpointercancel | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onpointerdown | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onpointerenter | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onpointerleave | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onpointermove | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onpointerout | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onpointerover | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onpointertap | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onpointerup | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onpointerupoutside | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onremoved | () => voidCalled when the instance removed from its parent or stage |
onrightclick | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onrightdown | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onrightup | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
onrightupoutside | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
ontap | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
ontouchcancel | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
ontouchend | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
ontouchendoutside | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
ontouchmove | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
ontouchstart | nullPIXI.FederatedEventHandler<PIXI.FederatedPointerEvent>Property-based event handler for the |
pivot | number[number, number]{ x: number; y: number }PIXI.PointThe center of rotation, scaling, and skewing for this display object in its local space.
The By default, the pivot is the origin (0, 0). |
position | number[number, number]{ x: number; y: number }PIXI.PointThe coordinate of the object relative to the local coordinates of the parent. |
renderable | booleanControls whether this object can be rendered. If false the object will not be drawn, but the transform will still be updated. This is different from visible, which skips transform updates. |
rotation | numberThe rotation of the object in radians.
|
roundPixels | booleanWhether or not to round the x/y position of the sprite. |
scale | number[number, number]{ x: number; y: number }PIXI.PointThe scale factors of this object along the local coordinate axes. The default scale is (1, 1). |
skew | number[number, number]{ x: number; y: number }PIXI.PointThe skew factor for the object in radians. Skewing is a transformation that distorts the object by rotating it differently at each point, creating a non-uniform shape. |
sortableChildren | booleanIf set to true, the container will sort its children by This actually changes the order of elements in the array of children, so it will affect the rendering order.
|
style | TEXT_STYLE |
tabIndex | numberSets the tabIndex of the shadow div. You can use this to set the order of the elements when using the tab key to navigate. |
text | stringThe text content to display. Use '\n' for line breaks. Accepts strings, numbers, or objects with toString() method. |
visible | booleanThe visibility of the object. If false the object will not be drawn, and the transform will not be updated. |
width | numberThe width of the Container, setting this will actually modify the scale to achieve the value set.
|
x | numberThe position of the container on the x axis relative to the local coordinates of the parent. An alias to position.x |
y | numberThe position of the container on the y axis relative to the local coordinates of the parent. An alias to position.y |
zIndex | numberThe zIndex of the container. Controls the rendering order of children within their parent container. A higher value will mean it will be moved towards the front of the rendering order. |
Snippets
| Name | Type |
|---|---|
| children | Snippet<[instance: T]> |
Props
| Name | Description |
|---|---|
anchor | PointLikeThe anchor sets the origin point of the text. |
instance | PIXI.BitmapTextThe PIXI.BitmapText instance. Can be set or bound to. |
roundPixels | booleanIf 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. |
style | PIXI.IBitmapTextStyleSets the style |
text | stringThe text of the BitmapText object. |
Additional props are passed on to Container
Slots
| Name | Props | Fallback |
|---|---|---|
| default | {} |
Events
| Name | Type | Detail |
|---|---|---|
| added | forwarded | |
| click | forwarded | |
| globalmousemove | forwarded | |
| globalpointermove | forwarded | |
| globaltouchmove | forwarded | |
| mousedown | forwarded | |
| mousemove | forwarded | |
| mouseout | forwarded | |
| mouseover | forwarded | |
| mouseup | forwarded | |
| mouseupoutside | forwarded | |
| pointercancel | forwarded | |
| pointerdown | forwarded | |
| pointermove | forwarded | |
| pointerout | forwarded | |
| pointerover | forwarded | |
| pointertap | forwarded | |
| pointerup | forwarded | |
| pointerupoutside | forwarded | |
| removed | forwarded | |
| removedFrom | forwarded | |
| rightclick | forwarded | |
| rightdown | forwarded | |
| rightup | forwarded | |
| rightupoutside | forwarded | |
| tap | forwarded | |
| touchcancel | forwarded | |
| touchend | forwarded | |
| touchendoutside | forwarded | |
| touchmove | forwarded | |
| touchstart | forwarded |