Showing
2 changed files
with
46 additions
and
0 deletions
@@ -181,3 +181,48 @@ class Bullet extends StatelessWidget { | @@ -181,3 +181,48 @@ class Bullet extends StatelessWidget { | ||
181 | ])); | 181 | ])); |
182 | } | 182 | } |
183 | } | 183 | } |
184 | + | ||
185 | +class Watermark extends StatelessWidget { | ||
186 | + Watermark({ | ||
187 | + @required this.child, | ||
188 | + this.fit = BoxFit.contain, | ||
189 | + this.angle = 0, | ||
190 | + }) : assert(fit != null), | ||
191 | + assert(child != null), | ||
192 | + assert(angle != null); | ||
193 | + | ||
194 | + Watermark.text( | ||
195 | + String text, { | ||
196 | + TextStyle style, | ||
197 | + this.fit = BoxFit.contain, | ||
198 | + this.angle = math.pi / 4, | ||
199 | + }) : assert(fit != null), | ||
200 | + assert(angle != null), | ||
201 | + child = Text( | ||
202 | + text, | ||
203 | + style: style ?? | ||
204 | + TextStyle( | ||
205 | + color: PdfColors.grey200, | ||
206 | + fontWeight: FontWeight.bold, | ||
207 | + ), | ||
208 | + ); | ||
209 | + | ||
210 | + final Widget child; | ||
211 | + | ||
212 | + final double angle; | ||
213 | + | ||
214 | + final BoxFit fit; | ||
215 | + | ||
216 | + @override | ||
217 | + Widget build(Context context) { | ||
218 | + return SizedBox.expand( | ||
219 | + child: FittedBox( | ||
220 | + fit: fit, | ||
221 | + child: Transform.rotateBox( | ||
222 | + angle: angle, | ||
223 | + child: child, | ||
224 | + ), | ||
225 | + ), | ||
226 | + ); | ||
227 | + } | ||
228 | +} |
-
Please register or login to post a comment