mirror of
https://github.com/rive-app/rive-flutter.git
synced 2025-05-21 23:36:36 +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/generated/layout_component_base.dart';
|
||||||
import 'package:rive/src/rive_core/artboard.dart';
|
import 'package:rive/src/rive_core/artboard.dart';
|
||||||
import 'package:rive/src/rive_core/bounds_provider.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/component_dirt.dart';
|
||||||
import 'package:rive/src/rive_core/container_component.dart';
|
import 'package:rive/src/rive_core/container_component.dart';
|
||||||
import 'package:rive/src/rive_core/layout/layout_component_style.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';
|
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 {
|
class LayoutComponent extends LayoutComponentBase {
|
||||||
LayoutComponentStyle? _style;
|
LayoutComponentStyle? _style;
|
||||||
LayoutComponentStyle? get style => _style;
|
LayoutComponentStyle? get style => _style;
|
||||||
@ -31,17 +45,6 @@ class LayoutComponent extends LayoutComponentBase {
|
|||||||
final LayoutNode _layoutNode = LayoutNode.make();
|
final LayoutNode _layoutNode = LayoutNode.make();
|
||||||
LayoutNode get layoutNode => _layoutNode;
|
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() {
|
void markLayoutNodeDirty() {
|
||||||
_layoutNode.markDirty();
|
_layoutNode.markDirty();
|
||||||
artboard?.markLayoutDirty(this);
|
artboard?.markLayoutDirty(this);
|
||||||
|
Reference in New Issue
Block a user