Interfaces

GroupProps

Paint attributes shared by every drawing component, <Group>, and <Paint>.

Extends

Properties

antiAlias?

optional antiAlias?: boolean;

Inherited from

PaintProps.antiAlias


blendMode?

optional blendMode?: BlendMode;

How this drawing composites onto what is already there. 'srcOver' by default.

Inherited from

PaintProps.blendMode


children?

optional children?: ReactNode;

Inherited from

PaintProps.children


clip?

optional clip?: string | ClipRect;

Confines the subtree to this shape. Read once per commit, like <Path path>.


color?

optional color?: Animated<Color>;

Inherited from

PaintProps.color


invertClip?

optional invertClip?: boolean;

Keep what falls outside clip instead of inside.


layer?

optional layer?: boolean;

Composite the subtree once into an offscreen layer. Without it opacity multiplies into each child, so overlapping children double-blend.


opacity?

optional opacity?: Animated<number>;

Paint-wide alpha multiplier in [0, 1]; only one per chain can animate.

Inherited from

PaintProps.opacity


origin?

optional origin?: Vector;

picture?

optional picture?: boolean;

Record this subtree once and replay the recording every frame, for a static background a scene redraws but never changes - a map, a chart grid.

Ignored, with a warning, if anything under it changes between frames - an animated value, a video or camera frame, an image still decoding. A recording would freeze those. Cheap to leave on otherwise; the recording is rebuilt whenever the scene recommits.

It replays recorded draw calls, not rasterized pixels, so it avoids walking the recorded subtree again without changing its resolution.


preserve3d?

optional preserve3d?: boolean;

Share one 3D space with the child groups, so their 3D transforms hide one another by depth - the faces of a cube. Without it each child is flattened into this group's plane and drawn in order. Needs a GPU surface: inside a picture recording or an export, the children are drawn flattened. As in CSS, clip, layer, picture or a <FilmGrain> on this group flatten it.


ref?

optional ref?: NodeHandle;

A handle from useNode(), for changing this node without a React render. See NodeHandle.

Inherited from

PaintProps.ref


strokeCap?

optional strokeCap?: "butt" | "round" | "square";

Inherited from

PaintProps.strokeCap


strokeJoin?

optional strokeJoin?: "round" | "miter" | "bevel";

Inherited from

PaintProps.strokeJoin


strokeMiter?

optional strokeMiter?: Animated<number>;

Past this length-over-width ratio a 'miter' join falls back to bevel. Defaults to 4.

Inherited from

PaintProps.strokeMiter


strokeWidth?

optional strokeWidth?: Animated<number>;

Inherited from

PaintProps.strokeWidth


style?

optional style?: "fill" | "stroke";

'fill' (default) or 'stroke'.

Inherited from

PaintProps.style


transform?

optional transform?: Transform;

visible?

optional visible?: Animated<number | boolean>;

Skip drawing (and hit-testing) this node. A value slot, so a handle or a SharedValue toggles it with no re-encode - the supported way to pool mounted nodes for particle systems and variable-count scenes.

Inherited from

PaintProps.visible