@@ -49,6 +49,9 @@ abstract class BaseNode
4949 /// Whether this node is visible or not.
5050 bool visible;
5151
52+ /// Determines whether this node supports visibility or not.
53+ bool get supportsVisibility => true ;
54+
5255 BoxConstraintsModel _constraints;
5356
5457 /// Constraints apply to the [middleBoxLocal] .
@@ -66,6 +69,10 @@ abstract class BaseNode
6669 @JsonKey (includeFromJson: false , includeToJson: false )
6770 BoxConstraintsModel get resolvedConstraints => _resolvedConstraints;
6871
72+ /// Determines whether this node supports constraints or not.
73+ @JsonKey (includeFromJson: false , includeToJson: false )
74+ bool get supportsConstraints => true ;
75+
6976 /// Edge Pins apply to the [outerBoxLocal] .
7077 /// See [EdgePinsModel] for more info on how to define the edge pins.
7178 // @JsonKey(excludeIf: excludeEdgePinsIf)
@@ -325,6 +332,10 @@ abstract class BaseNode
325332 @JsonKey (includeFromJson: false , includeToJson: false )
326333 double globalRotationRadians;
327334
335+ /// Determines whether this node allows itself to be rotated or not.
336+ @JsonKey (includeFromJson: false , includeToJson: false )
337+ bool get supportsRotation => true ;
338+
328339 /// A simple label for console debugging.
329340 @JsonKey (includeFromJson: false , includeToJson: false )
330341 String get debugLabel => '$name [$id ]' ;
@@ -338,6 +349,10 @@ abstract class BaseNode
338349 @JsonKey (includeFromJson: false , includeToJson: false )
339350 bool get supportsPadding => false ;
340351
352+ /// Determines whether this node supports margin.
353+ @JsonKey (includeFromJson: false , includeToJson: false )
354+ bool get supportsMargin => true ;
355+
341356 /// Width of the node in fraction of the parent's width.
342357 /// [widthFactor] of [0.5] means that the node will be half the width of its
343358 /// parent.
0 commit comments