David PHAM-VAN

Fix some null-safety issues

@@ -123,7 +123,7 @@ abstract class PdfAnnotBase { @@ -123,7 +123,7 @@ abstract class PdfAnnotBase {
123 /// Color 123 /// Color
124 final PdfColor? color; 124 final PdfColor? color;
125 125
126 - final Map<String, PdfDataType> _appearances = <String, PdfDataType>{}; 126 + final _appearances = <String, PdfDataType>{};
127 127
128 PdfName? _as; 128 PdfName? _as;
129 129
@@ -171,19 +171,13 @@ abstract class PdfAnnotBase { @@ -171,19 +171,13 @@ abstract class PdfAnnotBase {
171 } 171 }
172 172
173 if (matrix != null) { 173 if (matrix != null) {
174 - s.params['/Matrix'] = PdfArray.fromNum(<double>[  
175 - matrix[0],  
176 - matrix[1],  
177 - matrix[4],  
178 - matrix[5],  
179 - matrix[12],  
180 - matrix[13]  
181 - ]); 174 + s.params['/Matrix'] = PdfArray.fromNum(
  175 + [matrix[0], matrix[1], matrix[4], matrix[5], matrix[12], matrix[13]]);
182 } 176 }
183 177
184 final bbox = boundingBox ?? PdfRect.fromPoints(PdfPoint.zero, rect.size); 178 final bbox = boundingBox ?? PdfRect.fromPoints(PdfPoint.zero, rect.size);
185 s.params['/BBox'] = 179 s.params['/BBox'] =
186 - PdfArray.fromNum(<double?>[bbox.x, bbox.y, bbox.width, bbox.height]); 180 + PdfArray.fromNum([bbox.x, bbox.y, bbox.width, bbox.height]);
187 final g = PdfGraphics(s, s.buf); 181 final g = PdfGraphics(s, s.buf);
188 182
189 if (selected && name != null) { 183 if (selected && name != null) {
@@ -196,14 +190,14 @@ abstract class PdfAnnotBase { @@ -196,14 +190,14 @@ abstract class PdfAnnotBase {
196 @mustCallSuper 190 @mustCallSuper
197 void build(PdfPage page, PdfObject object, PdfDict params) { 191 void build(PdfPage page, PdfObject object, PdfDict params) {
198 params['/Subtype'] = PdfName(subtype); 192 params['/Subtype'] = PdfName(subtype);
199 - params['/Rect'] = PdfArray.fromNum(  
200 - <double?>[rect.left, rect.bottom, rect.right, rect.top]); 193 + params['/Rect'] =
  194 + PdfArray.fromNum([rect.left, rect.bottom, rect.right, rect.top]);
201 195
202 params['/P'] = page.ref(); 196 params['/P'] = page.ref();
203 197
204 // handle the border 198 // handle the border
205 if (border == null) { 199 if (border == null) {
206 - params['/Border'] = PdfArray.fromNum(const <int>[0, 0, 0]); 200 + params['/Border'] = PdfArray.fromNum(const [0, 0, 0]);
207 } else { 201 } else {
208 params['/BS'] = border!.ref(); 202 params['/BS'] = border!.ref();
209 } 203 }
@@ -283,7 +277,7 @@ class PdfAnnotNamedLink extends PdfAnnotBase { @@ -283,7 +277,7 @@ class PdfAnnotNamedLink extends PdfAnnotBase {
283 void build(PdfPage page, PdfObject object, PdfDict params) { 277 void build(PdfPage page, PdfObject object, PdfDict params) {
284 super.build(page, object, params); 278 super.build(page, object, params);
285 params['/A'] = PdfDict( 279 params['/A'] = PdfDict(
286 - <String, PdfDataType>{ 280 + {
287 '/S': const PdfName('/GoTo'), 281 '/S': const PdfName('/GoTo'),
288 '/D': PdfSecString.fromString(object, dest), 282 '/D': PdfSecString.fromString(object, dest),
289 }, 283 },
@@ -315,7 +309,7 @@ class PdfAnnotUrlLink extends PdfAnnotBase { @@ -315,7 +309,7 @@ class PdfAnnotUrlLink extends PdfAnnotBase {
315 void build(PdfPage page, PdfObject object, PdfDict params) { 309 void build(PdfPage page, PdfObject object, PdfDict params) {
316 super.build(page, object, params); 310 super.build(page, object, params);
317 params['/A'] = PdfDict( 311 params['/A'] = PdfDict(
318 - <String, PdfDataType>{ 312 + {
319 '/S': const PdfName('/URI'), 313 '/S': const PdfName('/URI'),
320 '/URI': PdfSecString.fromString(object, url), 314 '/URI': PdfSecString.fromString(object, url),
321 }, 315 },
@@ -115,7 +115,7 @@ class PdfNum extends PdfDataType { @@ -115,7 +115,7 @@ class PdfNum extends PdfDataType {
115 class PdfNumList extends PdfDataType { 115 class PdfNumList extends PdfDataType {
116 PdfNumList(this.values); 116 PdfNumList(this.values);
117 117
118 - final List<num?> values; 118 + final List<num> values;
119 119
120 @override 120 @override
121 void output(PdfStream s) { 121 void output(PdfStream s) {
@@ -123,7 +123,7 @@ class PdfNumList extends PdfDataType { @@ -123,7 +123,7 @@ class PdfNumList extends PdfDataType {
123 if (n > 0) { 123 if (n > 0) {
124 s.putByte(0x20); 124 s.putByte(0x20);
125 } 125 }
126 - PdfNum(values[n]!).output(s); 126 + PdfNum(values[n]).output(s);
127 } 127 }
128 } 128 }
129 129
@@ -448,13 +448,13 @@ class PdfArray<T extends PdfDataType> extends PdfDataType { @@ -448,13 +448,13 @@ class PdfArray<T extends PdfDataType> extends PdfDataType {
448 } 448 }
449 } 449 }
450 450
451 - static PdfArray<PdfIndirect> fromObjects(List<PdfObject?> objects) { 451 + static PdfArray<PdfIndirect> fromObjects(List<PdfObject> objects) {
452 return PdfArray( 452 return PdfArray(
453 - objects.map<PdfIndirect>((PdfObject? e) => e!.ref()).toList()); 453 + objects.map<PdfIndirect>((PdfObject e) => e.ref()).toList());
454 } 454 }
455 455
456 - static PdfArray<PdfNum> fromNum(List<num?> list) {  
457 - return PdfArray(list.map<PdfNum>((num? e) => PdfNum(e!)).toList()); 456 + static PdfArray<PdfNum> fromNum(List<num> list) {
  457 + return PdfArray(list.map<PdfNum>((num e) => PdfNum(e)).toList());
458 } 458 }
459 459
460 final List<T> values = <T>[]; 460 final List<T> values = <T>[];
@@ -111,13 +111,13 @@ class PdfGraphics { @@ -111,13 +111,13 @@ class PdfGraphics {
111 late _PdfGraphicsContext _context; 111 late _PdfGraphicsContext _context;
112 final Queue<_PdfGraphicsContext> _contextQueue = Queue<_PdfGraphicsContext>(); 112 final Queue<_PdfGraphicsContext> _contextQueue = Queue<_PdfGraphicsContext>();
113 113
114 - final PdfGraphicStream? _page; 114 + final PdfGraphicStream _page;
115 115
116 /// Buffer where to write the graphic operations 116 /// Buffer where to write the graphic operations
117 final PdfStream buf; 117 final PdfStream buf;
118 118
119 /// Default font if none selected 119 /// Default font if none selected
120 - PdfFont? get defaultFont => _page!.getDefaultFont(); 120 + PdfFont? get defaultFont => _page.getDefaultFont();
121 121
122 /// Draw a surface on the previously defined shape 122 /// Draw a surface on the previously defined shape
123 /// set evenOdd to false to use the nonzero winding number rule to determine the region to fill and to true to use the even-odd rule to determine the region to fill 123 /// set evenOdd to false to use the nonzero winding number rule to determine the region to fill and to true to use the even-odd rule to determine the region to fill
@@ -150,7 +150,7 @@ class PdfGraphics { @@ -150,7 +150,7 @@ class PdfGraphics {
150 /// Apply a shader 150 /// Apply a shader
151 void applyShader(PdfShading shader) { 151 void applyShader(PdfShading shader) {
152 // The shader needs to be registered in the page resources 152 // The shader needs to be registered in the page resources
153 - _page!.addShader(shader); 153 + _page.addShader(shader);
154 buf.putString('${shader.name} sh\n'); 154 buf.putString('${shader.name} sh\n');
155 } 155 }
156 156
@@ -179,7 +179,7 @@ class PdfGraphics { @@ -179,7 +179,7 @@ class PdfGraphics {
179 h ??= img.height.toDouble() * w / img.width.toDouble(); 179 h ??= img.height.toDouble() * w / img.width.toDouble();
180 180
181 // The image needs to be registered in the page resources 181 // The image needs to be registered in the page resources
182 - _page!.addXObject(img); 182 + _page.addXObject(img);
183 183
184 // q w 0 0 h x y cm % the coordinate matrix 184 // q w 0 0 h x y cm % the coordinate matrix
185 buf.putString('q '); 185 buf.putString('q ');
@@ -214,7 +214,7 @@ class PdfGraphics { @@ -214,7 +214,7 @@ class PdfGraphics {
214 } 214 }
215 215
216 /// Draws a line between two coordinates. 216 /// Draws a line between two coordinates.
217 - void drawLine(double? x1, double? y1, double? x2, double? y2) { 217 + void drawLine(double x1, double y1, double x2, double y2) {
218 moveTo(x1, y1); 218 moveTo(x1, y1);
219 lineTo(x2, y2); 219 lineTo(x2, y2);
220 } 220 }
@@ -230,12 +230,12 @@ class PdfGraphics { @@ -230,12 +230,12 @@ class PdfGraphics {
230 230
231 /// Draws a Rectangle 231 /// Draws a Rectangle
232 void drawRect( 232 void drawRect(
233 - double? x,  
234 - double? y,  
235 - double? w,  
236 - double? h, 233 + double x,
  234 + double y,
  235 + double w,
  236 + double h,
237 ) { 237 ) {
238 - PdfNumList(<double?>[x, y, w, h]).output(buf); 238 + PdfNumList([x, y, w, h]).output(buf);
239 buf.putString(' re\n'); 239 buf.putString(' re\n');
240 } 240 }
241 241
@@ -297,18 +297,18 @@ class PdfGraphics { @@ -297,18 +297,18 @@ class PdfGraphics {
297 PdfFont font, 297 PdfFont font,
298 double size, 298 double size,
299 String s, 299 String s,
300 - double? x, 300 + double x,
301 double y, { 301 double y, {
302 - double? charSpace = 0, 302 + double charSpace = 0,
303 double wordSpace = 0, 303 double wordSpace = 0,
304 double scale = 1, 304 double scale = 1,
305 - PdfTextRenderingMode? mode = PdfTextRenderingMode.fill, 305 + PdfTextRenderingMode mode = PdfTextRenderingMode.fill,
306 double rise = 0, 306 double rise = 0,
307 }) { 307 }) {
308 - _page!.addFont(font); 308 + _page.addFont(font);
309 309
310 buf.putString('BT '); 310 buf.putString('BT ');
311 - PdfNumList(<double?>[x, y]).output(buf); 311 + PdfNumList([x, y]).output(buf);
312 buf.putString(' Td '); 312 buf.putString(' Td ');
313 setFont(font, size, 313 setFont(font, size,
314 charSpace: charSpace, 314 charSpace: charSpace,
@@ -358,20 +358,20 @@ class PdfGraphics { @@ -358,20 +358,20 @@ class PdfGraphics {
358 /// Sets the fill pattern for drawing 358 /// Sets the fill pattern for drawing
359 void setFillPattern(PdfPattern pattern) { 359 void setFillPattern(PdfPattern pattern) {
360 // The shader needs to be registered in the page resources 360 // The shader needs to be registered in the page resources
361 - _page!.addPattern(pattern); 361 + _page.addPattern(pattern);
362 buf.putString('/Pattern cs${pattern.name} scn\n'); 362 buf.putString('/Pattern cs${pattern.name} scn\n');
363 } 363 }
364 364
365 /// Sets the stroke pattern for drawing 365 /// Sets the stroke pattern for drawing
366 void setStrokePattern(PdfPattern pattern) { 366 void setStrokePattern(PdfPattern pattern) {
367 // The shader needs to be registered in the page resources 367 // The shader needs to be registered in the page resources
368 - _page!.addPattern(pattern); 368 + _page.addPattern(pattern);
369 buf.putString('/Pattern CS${pattern.name} SCN\n'); 369 buf.putString('/Pattern CS${pattern.name} SCN\n');
370 } 370 }
371 371
372 /// Set the graphic state for drawing 372 /// Set the graphic state for drawing
373 void setGraphicState(PdfGraphicState state) { 373 void setGraphicState(PdfGraphicState state) {
374 - final name = _page!.stateName(state); 374 + final name = _page.stateName(state);
375 buf.putString('$name gs\n'); 375 buf.putString('$name gs\n');
376 } 376 }
377 377
@@ -389,14 +389,14 @@ class PdfGraphics { @@ -389,14 +389,14 @@ class PdfGraphics {
389 } 389 }
390 390
391 /// This adds a line segment to the current path 391 /// This adds a line segment to the current path
392 - void lineTo(double? x, double? y) {  
393 - PdfNumList(<double?>[x, y]).output(buf); 392 + void lineTo(double x, double y) {
  393 + PdfNumList([x, y]).output(buf);
394 buf.putString(' l\n'); 394 buf.putString(' l\n');
395 } 395 }
396 396
397 /// This moves the current drawing point. 397 /// This moves the current drawing point.
398 - void moveTo(double? x, double? y) {  
399 - PdfNumList(<double?>[x, y]).output(buf); 398 + void moveTo(double x, double y) {
  399 + PdfNumList([x, y]).output(buf);
400 buf.putString(' m\n'); 400 buf.putString(' m\n');
401 } 401 }
402 402
@@ -404,8 +404,8 @@ class PdfGraphics { @@ -404,8 +404,8 @@ class PdfGraphics {
404 /// using (x1,y1) as the control point at the beginning of the curve 404 /// using (x1,y1) as the control point at the beginning of the curve
405 /// and (x2,y2) as the control point at the end of the curve. 405 /// and (x2,y2) as the control point at the end of the curve.
406 void curveTo( 406 void curveTo(
407 - double? x1, double? y1, double? x2, double? y2, double? x3, double? y3) {  
408 - PdfNumList(<double?>[x1, y1, x2, y2, x3, y3]).output(buf); 407 + double x1, double y1, double x2, double y2, double x3, double y3) {
  408 + PdfNumList([x1, y1, x2, y2, x3, y3]).output(buf);
409 buf.putString(' c\n'); 409 buf.putString(' c\n');
410 } 410 }
411 411
@@ -524,7 +524,7 @@ class PdfGraphics { @@ -524,7 +524,7 @@ class PdfGraphics {
524 /// the constraints imposed by the other parameters. large and sweep flags 524 /// the constraints imposed by the other parameters. large and sweep flags
525 /// contribute to the automatic calculations and help determine how the arc is drawn. 525 /// contribute to the automatic calculations and help determine how the arc is drawn.
526 void bezierArc( 526 void bezierArc(
527 - double? x1, double? y1, double rx, double ry, double? x2, double? y2, 527 + double x1, double y1, double rx, double ry, double x2, double y2,
528 {bool large = false, bool sweep = false, double phi = 0.0}) { 528 {bool large = false, bool sweep = false, double phi = 0.0}) {
529 if (x1 == x2 && y1 == y2) { 529 if (x1 == x2 && y1 == y2) {
530 // From https://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes: 530 // From https://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes:
@@ -542,12 +542,12 @@ class PdfGraphics { @@ -542,12 +542,12 @@ class PdfGraphics {
542 // Our box bézier arcs can't handle rotations directly 542 // Our box bézier arcs can't handle rotations directly
543 // move to a well known point, eliminate phi and transform the other point 543 // move to a well known point, eliminate phi and transform the other point
544 final mat = Matrix4.identity(); 544 final mat = Matrix4.identity();
545 - mat.translate(-x1!, -y1!); 545 + mat.translate(-x1, -y1);
546 mat.rotateZ(-phi); 546 mat.rotateZ(-phi);
547 - final tr = mat.transform3(Vector3(x2!, y2!, 0)); 547 + final tr = mat.transform3(Vector3(x2, y2, 0));
548 _endToCenterParameters(0, 0, tr[0], tr[1], large, sweep, rx, ry); 548 _endToCenterParameters(0, 0, tr[0], tr[1], large, sweep, rx, ry);
549 } else { 549 } else {
550 - _endToCenterParameters(x1!, y1!, x2!, y2!, large, sweep, rx, ry); 550 + _endToCenterParameters(x1, y1, x2, y2, large, sweep, rx, ry);
551 } 551 }
552 } 552 }
553 553
@@ -64,7 +64,7 @@ class PdfShading extends PdfObject { @@ -64,7 +64,7 @@ class PdfShading extends PdfObject {
64 64
65 params['/ShadingType'] = PdfNum(shadingType.index + 2); 65 params['/ShadingType'] = PdfNum(shadingType.index + 2);
66 if (boundingBox != null) { 66 if (boundingBox != null) {
67 - params['/BBox'] = PdfArray.fromNum(<double?>[ 67 + params['/BBox'] = PdfArray.fromNum([
68 boundingBox!.left, 68 boundingBox!.left,
69 boundingBox!.bottom, 69 boundingBox!.bottom,
70 boundingBox!.right, 70 boundingBox!.right,
@@ -75,13 +75,12 @@ class PdfShading extends PdfObject { @@ -75,13 +75,12 @@ class PdfShading extends PdfObject {
75 params['/ColorSpace'] = const PdfName('/DeviceRGB'); 75 params['/ColorSpace'] = const PdfName('/DeviceRGB');
76 76
77 if (shadingType == PdfShadingType.axial) { 77 if (shadingType == PdfShadingType.axial) {
78 - params['/Coords'] =  
79 - PdfArray.fromNum(<double?>[start.x, start.y, end.x, end.y]); 78 + params['/Coords'] = PdfArray.fromNum([start.x, start.y, end.x, end.y]);
80 } else if (shadingType == PdfShadingType.radial) { 79 } else if (shadingType == PdfShadingType.radial) {
81 assert(radius0 != null); 80 assert(radius0 != null);
82 assert(radius1 != null); 81 assert(radius1 != null);
83 params['/Coords'] = PdfArray.fromNum( 82 params['/Coords'] = PdfArray.fromNum(
84 - <double?>[start.x, start.y, radius0, end.x, end.y, radius1]); 83 + [start.x, start.y, radius0!, end.x, end.y, radius1!]);
85 } 84 }
86 // params['/Domain'] = PdfArray.fromNum(<num>[0, 1]); 85 // params['/Domain'] = PdfArray.fromNum(<num>[0, 1]);
87 if (extendStart || extendEnd) { 86 if (extendStart || extendEnd) {
@@ -30,19 +30,19 @@ class PdfSoftMask { @@ -30,19 +30,19 @@ class PdfSoftMask {
30 bool knockout = false, 30 bool knockout = false,
31 bool invert = false}) { 31 bool invert = false}) {
32 _mask = PdfGraphicXObject(document); 32 _mask = PdfGraphicXObject(document);
33 - _mask!.params['/BBox'] = PdfArray.fromNum([ 33 + _mask.params['/BBox'] = PdfArray.fromNum([
34 boundingBox.x, 34 boundingBox.x,
35 boundingBox.y, 35 boundingBox.y,
36 boundingBox.width, 36 boundingBox.width,
37 boundingBox.height, 37 boundingBox.height,
38 ]); 38 ]);
39 if (isolated) { 39 if (isolated) {
40 - _mask!.params['/I'] = const PdfBool(true); 40 + _mask.params['/I'] = const PdfBool(true);
41 } 41 }
42 if (knockout) { 42 if (knockout) {
43 - _mask!.params['/K'] = const PdfBool(true); 43 + _mask.params['/K'] = const PdfBool(true);
44 } 44 }
45 - _graphics = PdfGraphics(_mask, _mask!.buf); 45 + _graphics = PdfGraphics(_mask, _mask.buf);
46 46
47 if (invert) { 47 if (invert) {
48 _tr = PdfFunction( 48 _tr = PdfFunction(
@@ -54,7 +54,7 @@ class PdfSoftMask { @@ -54,7 +54,7 @@ class PdfSoftMask {
54 54
55 final PdfDocument document; 55 final PdfDocument document;
56 56
57 - PdfGraphicXObject? _mask; 57 + late PdfGraphicXObject _mask;
58 58
59 PdfGraphics? _graphics; 59 PdfGraphics? _graphics;
60 60
@@ -65,7 +65,7 @@ class PdfSoftMask { @@ -65,7 +65,7 @@ class PdfSoftMask {
65 PdfDict output() { 65 PdfDict output() {
66 final params = PdfDict({ 66 final params = PdfDict({
67 '/S': const PdfName('/Luminosity'), 67 '/S': const PdfName('/Luminosity'),
68 - '/G': _mask!.ref(), 68 + '/G': _mask.ref(),
69 }); 69 });
70 70
71 if (_tr != null) { 71 if (_tr != null) {
@@ -55,7 +55,7 @@ abstract class _Span { @@ -55,7 +55,7 @@ abstract class _Span {
55 55
56 void paint( 56 void paint(
57 Context context, 57 Context context,
58 - TextStyle? style, 58 + TextStyle style,
59 double textScaleFactor, 59 double textScaleFactor,
60 PdfPoint point, 60 PdfPoint point,
61 ); 61 );
@@ -261,18 +261,18 @@ class _Word extends _Span { @@ -261,18 +261,18 @@ class _Word extends _Span {
261 @override 261 @override
262 void paint( 262 void paint(
263 Context context, 263 Context context,
264 - TextStyle? style, 264 + TextStyle style,
265 double textScaleFactor, 265 double textScaleFactor,
266 PdfPoint point, 266 PdfPoint point,
267 ) { 267 ) {
268 context.canvas.drawString( 268 context.canvas.drawString(
269 - style!.font!.getFont(context)!, 269 + style.font!.getFont(context)!,
270 style.fontSize! * textScaleFactor, 270 style.fontSize! * textScaleFactor,
271 text, 271 text,
272 point.x + offset.x, 272 point.x + offset.x,
273 point.y + offset.y, 273 point.y + offset.y,
274 - mode: style.renderingMode,  
275 - charSpace: style.letterSpacing, 274 + mode: style.renderingMode ?? PdfTextRenderingMode.fill,
  275 + charSpace: style.letterSpacing ?? 0,
276 ); 276 );
277 } 277 }
278 278
@@ -312,10 +312,10 @@ class _WidgetSpan extends _Span { @@ -312,10 +312,10 @@ class _WidgetSpan extends _Span {
312 double get top => 0; 312 double get top => 0;
313 313
314 @override 314 @override
315 - double? get width => widget.box!.width; 315 + double get width => widget.box!.width;
316 316
317 @override 317 @override
318 - double? get height => widget.box!.height; 318 + double get height => widget.box!.height;
319 319
320 @override 320 @override
321 PdfPoint get offset => widget.box!.offset; 321 PdfPoint get offset => widget.box!.offset;
@@ -755,7 +755,7 @@ class RichText extends Widget { @@ -755,7 +755,7 @@ class RichText extends Widget {
755 style, 755 style,
756 ); 756 );
757 757
758 - if (offsetX + ws.width! > constraintWidth && spanCount > 0) { 758 + if (offsetX + ws.width > constraintWidth && spanCount > 0) {
759 overflow = true; 759 overflow = true;
760 lines.add(_Line( 760 lines.add(_Line(
761 this, 761 this,
@@ -786,8 +786,8 @@ class RichText extends Widget { @@ -786,8 +786,8 @@ class RichText extends Widget {
786 final baseline = span.baseline! * textScaleFactor; 786 final baseline = span.baseline! * textScaleFactor;
787 top = math.min(top ?? baseline, baseline); 787 top = math.min(top ?? baseline, baseline);
788 bottom = math.max( 788 bottom = math.max(
789 - bottom ?? ws.height! + baseline,  
790 - ws.height! + baseline, 789 + bottom ?? ws.height + baseline,
  790 + ws.height + baseline,
791 ); 791 );
792 792
793 ws.offset = PdfPoint(offsetX, -offsetY + baseline); 793 ws.offset = PdfPoint(offsetX, -offsetY + baseline);
@@ -804,7 +804,7 @@ class RichText extends Widget { @@ -804,7 +804,7 @@ class RichText extends Widget {
804 ), 804 ),
805 ); 805 );
806 806
807 - offsetX += ws.left + ws.width!; 807 + offsetX += ws.left + ws.width;
808 } 808 }
809 809
810 return true; 810 return true;
@@ -897,7 +897,7 @@ class RichText extends Widget { @@ -897,7 +897,7 @@ class RichText extends Widget {
897 897
898 span.paint( 898 span.paint(
899 context, 899 context,
900 - currentStyle, 900 + currentStyle!,
901 textScaleFactor, 901 textScaleFactor,
902 PdfPoint(box!.left, box!.top), 902 PdfPoint(box!.left, box!.top),
903 ); 903 );