Committed by
GitHub
Apply BoxShape and BorderRadius to selected Checkbox (#1285)
Showing
1 changed file
with
8 additions
and
2 deletions
@@ -14,6 +14,7 @@ | @@ -14,6 +14,7 @@ | ||
14 | * limitations under the License. | 14 | * limitations under the License. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | +import 'dart:math' as math; | ||
17 | import 'dart:typed_data'; | 18 | import 'dart:typed_data'; |
18 | 19 | ||
19 | import 'package:vector_math/vector_math_64.dart'; | 20 | import 'package:vector_math/vector_math_64.dart'; |
@@ -81,7 +82,10 @@ class Checkbox extends SingleChildWidget { | @@ -81,7 +82,10 @@ class Checkbox extends SingleChildWidget { | ||
81 | double width = 13, | 82 | double width = 13, |
82 | double height = 13, | 83 | double height = 13, |
83 | BoxDecoration? decoration, | 84 | BoxDecoration? decoration, |
84 | - }) : super( | 85 | + }) : radius = decoration?.shape == BoxShape.circle |
86 | + ? Radius.circular(math.max(height, width)/2) | ||
87 | + : decoration?.borderRadius?.topLeft ?? Radius.zero, | ||
88 | + super( | ||
85 | child: Container( | 89 | child: Container( |
86 | width: width, | 90 | width: width, |
87 | height: height, | 91 | height: height, |
@@ -103,6 +107,8 @@ class Checkbox extends SingleChildWidget { | @@ -103,6 +107,8 @@ class Checkbox extends SingleChildWidget { | ||
103 | 107 | ||
104 | final String name; | 108 | final String name; |
105 | 109 | ||
110 | + final Radius radius; | ||
111 | + | ||
106 | @override | 112 | @override |
107 | void paint(Context context) { | 113 | void paint(Context context) { |
108 | super.paint(context); | 114 | super.paint(context); |
@@ -118,7 +124,7 @@ class Checkbox extends SingleChildWidget { | @@ -118,7 +124,7 @@ class Checkbox extends SingleChildWidget { | ||
118 | 124 | ||
119 | final g = bf.appearance(context.document, PdfAnnotAppearance.normal, | 125 | final g = bf.appearance(context.document, PdfAnnotAppearance.normal, |
120 | name: '/Yes', selected: value); | 126 | name: '/Yes', selected: value); |
121 | - g.drawRect(0, 0, bf.rect.width, bf.rect.height); | 127 | + g.drawRRect(0, 0, bf.rect.width, bf.rect.height, radius.y, radius.x); |
122 | g.setFillColor(activeColor); | 128 | g.setFillColor(activeColor); |
123 | g.fillPath(); | 129 | g.fillPath(); |
124 | g.moveTo(2, bf.rect.height / 2); | 130 | g.moveTo(2, bf.rect.height / 2); |
-
Please register or login to post a comment