Shape class

Inheritance

Constructors

Shape()

Properties

artboard Artboard?
The artboard this component belongs to.
no setterinherited
blendMode BlendMode
getter/setter pairinherited
blendModeValue int
Change the _blendModeValue field value. blendModeValueChanged will be invoked only if the field's value has changed.
getter/setter pairinherited
canBeOrphaned bool
Override to true if you want some object inheriting from Component to not have a parent. Most objects will validate that they have a parent during the onAdded callback otherwise they are considered invalid and are culled from core.
no setterinherited
childOpacity double
no setterinherited
children → ContainerChildren
finalinherited
clippingShapes Iterable<ClippingShape>
no setterinherited
constraintBounds AABB
Bounds to use for constraining to object space.
no setterinherited
constraints Iterable<Constraint>
no setterinherited
context RuntimeArtboard
covariantgetter/setter pairinherited
coreType int
no setterinherited
coreTypes Set<int>
no setterinherited
dependencies Set<Component>
no setterinherited
dependents Set<Component>
no setterinherited
dirt int
getter/setter pairinherited
drawableFlags int
Change the _drawableFlags field value. drawableFlagsChanged will be invoked only if the field's value has changed.
getter/setter pairinherited
drawRules → DrawRules?
no setterinherited
fillInWorld bool
no setter
fillPath Path
no setter
fills Set<Fill>
finalinherited
flattenedDrawRules ↔ DrawRules?
Flattened rules inherited from parents (or self) so we don't have to look up the tree when re-sorting.
getter/setter pairinherited
graphOrder int
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
hasValidated bool
no setterinherited
id int
getter/setter pairinherited
isCollapsed bool
Whether this Component's update processes at all.
no setterinherited
isConstrained bool
no setterinherited
isHidden bool
no setterinherited
isTargetOpaque bool
no setterinherited
localBounds AABB
no setteroverride
name String
Non-unique identifier, used to give friendly names to elements in the hierarchy. Runtimes provide an API for finding components by this name.
getter/setter pairinherited
next ↔ Drawable?
The next drawable in the draw order.
getter/setter pairinherited
opacity double
Change the _opacity field value. opacityChanged will be invoked only if the field's value has changed.
getter/setter pairinherited
parent ↔ ContainerComponent?
getter/setter pairinherited
parentId int
Identifier used to track parent ContainerComponent.
getter/setter pairinherited
parentWorldTransform Mat2D
Returns the world transform of the parent component. Returns the identity if there is no parent (the artboard should be the only case here).
no setterinherited
pathComposer ↔ PathComposer
getter/setter pair
paths Set<Path>
final
prev ↔ Drawable?
The previous drawable in the draw order.
getter/setter pairinherited
renderOpacity double
no setterinherited
rotation double
Change the _rotation field value. rotationChanged will be invoked only if the field's value has changed.
getter/setter pairinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scale Vec2D
getter/setter pairinherited
scaleX double
Change the _scaleX field value. scaleXChanged will be invoked only if the field's value has changed.
getter/setter pairinherited
scaleY double
Change the _scaleY field value. scaleYChanged will be invoked only if the field's value has changed.
getter/setter pairinherited
strokes Set<Stroke>
finalinherited
transform Mat2D
finalinherited
translation Vec2D
Sets the position of the Node
getter/setter pairinherited
userData ↔ dynamic
getter/setter pairinherited
wantLocalPath bool
no setter
wantWorldPath bool
no setter
worldBounds AABB
no setter
worldTransform Mat2D
finalinherited
worldTranslation Vec2D
no setterinherited
x double
Change the _x field value. xChanged will be invoked only if the field's value has changed.
getter/setter pairinherited
y double
Change the _y field value. yChanged will be invoked only if the field's value has changed.
getter/setter pairinherited

Methods

addDependent(Component dependent, {Component? via}) bool
Mark dependent as a component which must update after this. Provide via as the Component registering the dependency when it is not dependent itself. At edit time this allows the editor to rebuild both dependent and via when dependent has its dependencies cleared.
inherited
addDirt(int value, {bool recurse = false}) bool
inherited
addFill(Fill fill) bool
inherited
addPath(Path path) bool
addStroke(Stroke stroke) bool
allDependencies(Set<Component> dependencies) → void
inherited
appendChild(Component child) → void
Adds the child to the children list and re-wires the parent reference of the child to the parent. Effectively detach and append.
inherited
blendModeValueChanged(int from, int to) → void
buildDependencies() → void
Since the PathComposer isn't in core, we need to let it know when to proxy build dependencies.
override
buildDrawOrder(List<Drawable> drawables, DrawRules? rules, List<DrawRules> allRules) → void
inherited
calculateWorldTransform() → void
inherited
changeArtboard(Artboard? value) → void
inherited
childAdded(Component child) → void
inherited
childRemoved(Component child) → void
inherited
clearDependencies() → void
inherited
clip(Canvas canvas) bool
inherited
clone<K extends Core<CoreContext>>() → K?
Make a duplicate of this core object, N.B. that all properties excluding object id are copied.
inherited
computeBounds(Mat2D relativeTo) AABB
computeLocalBounds() AABB
computeWorldBounds() AABB
copy(covariant Core<CoreContext> source) → void
Copies property values, currently doesn't trigger change callbacks. It's meant to be a helper for clone.
inherited
draw(Canvas canvas) → void
Draw the contents of this drawable component in world transform space.
drawableFlagsChanged(int from, int to) → void
inherited
fillHitTester(TransformingHitTester hitTester) → void
Prep the hitTester for checking collision with the paths inside this shape.
forAll(DescentCallback cb) bool
inherited
forEachChild(DescentCallback cb) → void
inherited
import(ImportStack stack) bool
inherited
invalidateStrokeEffects() → void
Called whenever the compound path for this shape is changed so that the effects can be invalidated on all the strokes.
inherited
isTargetOpaqueChanged(bool from, bool to) → void
inherited
isValidParent(Component parent) bool
inherited
markBoundsDirty() → void
Let the shape know that any further call to get world/local bounds will need to rebuild the cached bounds.
markDirtyIfConstrained() → void
inherited
markRebuildDependencies() → void
inherited
markTransformDirty() → void
inherited
markWorldTransformDirty() → void
inherited
nameChanged(String from, String to) → void
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onAdded() → void
inherited
onAddedDirty() → void
inherited
onDependencyRemoved(Component dependent) → void
Something we depend on has been removed. It's important to clear out any stored references to that dependency so it can be garbage collected (if necessary).
inherited
onDirty(int mask) → void
onFillsChanged() → void
Called when a fill is added or removed.
onPaintMutatorChanged(ShapePaintMutator mutator) → void
Called whenever a new paint mutator is added/removed from the shape paints (for example a linear gradient is added to a stroke).
onRemoved() → void
When a component has been removed from the Core Context, we clean up any dangling references left on the parent and on any other dependent component. It's important for specialization of Component to respond to override onDependencyRemoved and clean up any further stored references to that component (for example the target of a Constraint).
inherited
onStrokesChanged() → void
Called when a stroke is added or remoevd.
opacityChanged(double from, double to) → void
inherited
paintChanged() → void
parentChanged(ContainerComponent? from, ContainerComponent? to) → void
inherited
parentIdChanged(int from, int to) → void
inherited
pathChanged(Path path) → void
pathCollapseChanged() → void
prependChild(Component child) → void
inherited
propagateCollapse(bool collapse) bool
override
propagateCollapseToChildren(bool collapse) → void
inherited
remove() → void
inherited
removeFill(Fill fill) bool
inherited
removePath(Path path) bool
removeRecursive() → void
Recursive version of Component.remove. This should only be called when you know this is the only part of the branch you are removing in your operation. If your operation could remove items from the same branch multiple times, you should consider building up a list of the individual items to remove and then remove them individually to avoid calling remove multiple times on children.
inherited
removeStroke(Stroke stroke) bool
resolveArtboard() bool
Find the artboard in the hierarchy.
inherited
rotationChanged(double from, double to) → void
inherited
scaleXChanged(double from, double to) → void
inherited
scaleYChanged(double from, double to) → void
inherited
toString() String
A string representation of this object.
inherited
update(int dirt) → void
updateTransform() → void
inherited
updateWorldTransform() → void
inherited
userDataChanged(dynamic from, dynamic to) → void
inherited
validate() bool
inherited
visitAncestor(Component ancestor) → void
Called whenever we're resolving the artboard, we piggy back on that process to visit ancestors in the tree. This is a good opportunity to check if we have an ancestor of a specific type. For example, a Path needs to know which Shape it's within.
inherited
xChanged(double from, double to) → void
inherited
yChanged(double from, double to) → void
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited