Improvements to wrap in layout

Fix a couple of small issues with Wrap in Layout functionality

Diffs=
67ed7133f Improvements to wrap in layout (#7279)

Co-authored-by: Philip Chung <philterdesign@gmail.com>
This commit is contained in:
philter
2024-05-16 03:00:13 +00:00
parent 62148fc963
commit 2a20c3092b
2 changed files with 15 additions and 12 deletions

View File

@ -1 +1 @@
e89250c3979e7fc78137eda9545c49d7436d1fa6
67ed7133f0fa1f390afa1829b074fa8c686fd648

View File

@ -4,6 +4,7 @@ import 'package:flutter/rendering.dart';
import 'package:rive/src/generated/layout_component_base.dart';
import 'package:rive/src/rive_core/artboard.dart';
import 'package:rive/src/rive_core/bounds_provider.dart';
import 'package:rive/src/rive_core/component.dart';
import 'package:rive/src/rive_core/component_dirt.dart';
import 'package:rive/src/rive_core/container_component.dart';
import 'package:rive/src/rive_core/layout/layout_component_style.dart';
@ -14,6 +15,19 @@ import 'package:rive_common/math.dart';
export 'package:rive/src/generated/layout_component_base.dart';
extension ComponentExtension on Component {
LayoutComponent? get layoutParent {
var p = parent;
while (p != null) {
if (p is LayoutComponent) {
return p;
}
p = p.parent;
}
return artboard;
}
}
class LayoutComponent extends LayoutComponentBase {
LayoutComponentStyle? _style;
LayoutComponentStyle? get style => _style;
@ -31,17 +45,6 @@ class LayoutComponent extends LayoutComponentBase {
final LayoutNode _layoutNode = LayoutNode.make();
LayoutNode get layoutNode => _layoutNode;
LayoutComponent? get layoutParent {
var p = parent;
while (p != null) {
if (p is LayoutComponent) {
return p;
}
p = p.parent;
}
return artboard;
}
void markLayoutNodeDirty() {
_layoutNode.markDirty();
artboard?.markLayoutDirty(this);