Multiple Paths under a Shape don't invalidate
umberto-sonnino opened this issue · 3 comments
umberto-sonnino commented
If multiple Paths are nested under a single Shape have different keyframed values for each Path, the Shape won't invalidate any of the underlying Paths, and thus won't update.
A simple fix for this would be to add in ActorNode.update()
:
if ((dirt & TransformDirty) == TransformDirty) {
updateTransform();
if(this.parent != null && this.parent is FlutterActorShape)
{
this.parent.invalidateShape();
}
}
umberto-sonnino commented
Here's a zip file containing two files:
-translation.flr is the general case
-translation1.flr is the bug
luigi-rosso commented
The best way to handle this is by invalidating the shape when a sub-path has its transform marked dirty (as opposed to when the transform updates). This avoids generating two update cycles and avoids doing a conditional when every ActorNode updates.
I made this change for both the user drawn paths and the procedural ones.
umberto-sonnino commented
Alright, great, this looks fixed!