Showing
2 changed files
with
42 additions
and
0 deletions
@@ -20,6 +20,7 @@ import 'package:pdf/pdf.dart'; | @@ -20,6 +20,7 @@ import 'package:pdf/pdf.dart'; | ||
20 | import 'package:vector_math/vector_math_64.dart'; | 20 | import 'package:vector_math/vector_math_64.dart'; |
21 | 21 | ||
22 | import 'geometry.dart'; | 22 | import 'geometry.dart'; |
23 | +import 'text.dart'; | ||
23 | import 'widget.dart'; | 24 | import 'widget.dart'; |
24 | 25 | ||
25 | /// How to size the non-positioned children of a [Stack]. | 26 | /// How to size the non-positioned children of a [Stack]. |
@@ -39,6 +40,46 @@ class Positioned extends SingleChildWidget { | @@ -39,6 +40,46 @@ class Positioned extends SingleChildWidget { | ||
39 | required Widget child, | 40 | required Widget child, |
40 | }) : super(child: child); | 41 | }) : super(child: child); |
41 | 42 | ||
43 | + /// Creates a Positioned object with left, top, right, and bottom set to 0.0 | ||
44 | + /// unless a value for them is passed. | ||
45 | + Positioned.fill({ | ||
46 | + this.left = 0.0, | ||
47 | + this.top = 0.0, | ||
48 | + this.right = 0.0, | ||
49 | + this.bottom = 0.0, | ||
50 | + required Widget child, | ||
51 | + }) : super(child: child); | ||
52 | + | ||
53 | + /// Creates a widget that controls where a child of a [Stack] is positioned. | ||
54 | + factory Positioned.directional({ | ||
55 | + required TextDirection textDirection, | ||
56 | + double? start, | ||
57 | + double? top, | ||
58 | + double? end, | ||
59 | + double? bottom, | ||
60 | + required Widget child, | ||
61 | + }) { | ||
62 | + double? left; | ||
63 | + double? right; | ||
64 | + switch (textDirection) { | ||
65 | + case TextDirection.rtl: | ||
66 | + left = end; | ||
67 | + right = start; | ||
68 | + break; | ||
69 | + case TextDirection.ltr: | ||
70 | + left = start; | ||
71 | + right = end; | ||
72 | + break; | ||
73 | + } | ||
74 | + return Positioned( | ||
75 | + left: left, | ||
76 | + top: top, | ||
77 | + right: right, | ||
78 | + bottom: bottom, | ||
79 | + child: child, | ||
80 | + ); | ||
81 | + } | ||
82 | + | ||
42 | final double? left; | 83 | final double? left; |
43 | 84 | ||
44 | final double? top; | 85 | final double? top; |
-
Please register or login to post a comment