Graphics
Renders a PIXI.Graphics. Use the draw prop to interact with the Graphics API.
PIXI.Graphics description from PixiJS
sourceThe Graphics class is primarily used to render primitive shapes such as lines, circles and rectangles to the display, and to color and fill them. It can also be used to create complex masks and hit areas for interaction.
Type-Safety Limitation with Subclasses
Usage
Draw prop
The draw prop is a helper prop that gets called inside of an $effect(). This means it only
draws when the function itself or any state inside of it changes.
<script> import { Graphics, tick } from 'svelte-pixi'
let size = tick(t => 100 + Math.sin(t.lastTime / 700) * 50)
function draw(graphics) { graphics.clear() graphics .circle(0, 0, $size) .fill('darksalmon') }
</script>
<Graphics x={375} y={200} {draw}/><script> import { Graphics, tick } from 'svelte-pixi/svelte-4'
let size = tick(t => 100 + Math.sin(t.lastTime / 700) * 50)
$: draw = (graphics) => { graphics.clear() graphics .circle(0, 0, $size) .fill('darksalmon') }
</script>
<Graphics x={375} y={200} draw={draw}/>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""fill""stroke""auto""none""visiblePainted""visibleFill""visibleStroke""painted""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""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""style""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 |
angle | numberThe angle of the object in degrees.
|
blendMode | "none""inherit""normal""add""multiply""screen""darken""lighten""erase""color-dodge""color-burn""linear-burn""linear-dodge""linear-light""hard-light""soft-light""pin-light""difference""exclusion""overlay""saturation""color""luminosity""normal-npm""add-npm""screen-npm""subtract""divide""vivid-light""hard-mix""negation""min""max" |
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 | "progress""auto""none""default""context-menu""help""pointer""wait""cell""crosshair""text""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. |
draw | (graphics: PIXI.Graphics) => anyCall your drawing functions on the PIXI.Graphics instance here. It will only draw on mount and when the function or state inside of the function changes. |
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 | TThe PIXI.Graphics instance. Can be set or bound to. WARNING: Type-safety limitation - If you are using a subclass of PIXI.Graphics, you MUST provide the instance prop with your custom instance. Due to TypeScript's limitations with generic types, if you don't provide an instance, a base PIXI.Graphics will be created and cast to your type, which will cause runtime errors when trying to access subclass-specific properties or methods. Example:
|
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.
|
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.
|
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. |
tint | number |
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 |
|---|---|
blendMode 'normal' | PIXI.BLEND_MODESThe blend mode to be applied to the graphic shape. Apply a value of 'normal' to reset the blend mode. Note that, since each primitive in the GraphicsGeometry list is rendered sequentially, modes such as PIXI.BLEND_MODES.ADD and PIXI.BLEND_MODES.MULTIPLY will be applied per-primitive. |
draw | (graphics: Graphics) => anyCall your drawing functions on the PIXI.Graphics instance here |
instance | PIXI.GraphicsThe PIXI.Graphics instance. Can be set or bound to. WARNING: Type-safety limitation - If you are using a subclass of PIXI.Graphics, you MUST provide the instance prop with your custom instance. Due to TypeScript's limitations with generic types, if you don't provide an instance, a base PIXI.Graphics will be created and cast to your type, which will cause runtime errors when trying to access subclass-specific properties or methods. Example:
|
tint 0xffffff | numberThe tint applied to each graphic shape. This is a hex value. A value of 0xFFFFFF will remove any tint effect. |
Additional props are passed on to Container
Slots
| Name | Props | Fallback |
|---|---|---|
| default | {} |
Events
| Name | Type | Detail |
|---|---|---|
| added | forwarded | |
| click | forwarded | |
| create | 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 |