mirror of
https://github.com/rive-app/rive-flutter.git
synced 2025-05-21 07:16:35 +08:00
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:
@ -1 +1 @@
|
||||
e89250c3979e7fc78137eda9545c49d7436d1fa6
|
||||
67ed7133f0fa1f390afa1829b074fa8c686fd648
|
||||
|
@ -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);
|
||||
|
Reference in New Issue
Block a user