Showing
2 changed files
with
35 additions
and
0 deletions
@@ -5,6 +5,7 @@ | @@ -5,6 +5,7 @@ | ||
5 | - Implement Linear and Radial gradients in BoxDecoration | 5 | - Implement Linear and Radial gradients in BoxDecoration |
6 | - Fix PdfColors.shade() | 6 | - Fix PdfColors.shade() |
7 | - Add dashed lines to Decoration Widgets | 7 | - Add dashed lines to Decoration Widgets |
8 | +- Add TableRow decoration | ||
8 | 9 | ||
9 | ## 1.6.2 | 10 | ## 1.6.2 |
10 | 11 |
@@ -25,6 +25,7 @@ class TableRow { | @@ -25,6 +25,7 @@ class TableRow { | ||
25 | this.children, | 25 | this.children, |
26 | this.repeat = false, | 26 | this.repeat = false, |
27 | this.verticalAlignment, | 27 | this.verticalAlignment, |
28 | + this.decoration, | ||
28 | }); | 29 | }); |
29 | 30 | ||
30 | /// The widgets that comprise the cells in this row. | 31 | /// The widgets that comprise the cells in this row. |
@@ -33,6 +34,8 @@ class TableRow { | @@ -33,6 +34,8 @@ class TableRow { | ||
33 | /// Repeat this row on all pages | 34 | /// Repeat this row on all pages |
34 | final bool repeat; | 35 | final bool repeat; |
35 | 36 | ||
37 | + final BoxDecoration decoration; | ||
38 | + | ||
36 | final TableCellVerticalAlignment verticalAlignment; | 39 | final TableCellVerticalAlignment verticalAlignment; |
37 | } | 40 | } |
38 | 41 | ||
@@ -424,6 +427,16 @@ class Table extends Widget implements SpanningWidget { | @@ -424,6 +427,16 @@ class Table extends Widget implements SpanningWidget { | ||
424 | if (index++ < _context.firstLine && !row.repeat) { | 427 | if (index++ < _context.firstLine && !row.repeat) { |
425 | continue; | 428 | continue; |
426 | } | 429 | } |
430 | + | ||
431 | + final Widget child = row.children.first; | ||
432 | + if (child != null && row.decoration != null) { | ||
433 | + row.decoration.paint( | ||
434 | + context, | ||
435 | + PdfRect(0, child.box.y, box.width, child.box.height), | ||
436 | + PaintPhase.background, | ||
437 | + ); | ||
438 | + } | ||
439 | + | ||
427 | for (Widget child in row.children) { | 440 | for (Widget child in row.children) { |
428 | context.canvas | 441 | context.canvas |
429 | ..saveContext() | 442 | ..saveContext() |
@@ -437,6 +450,27 @@ class Table extends Widget implements SpanningWidget { | @@ -437,6 +450,27 @@ class Table extends Widget implements SpanningWidget { | ||
437 | break; | 450 | break; |
438 | } | 451 | } |
439 | } | 452 | } |
453 | + | ||
454 | + index = 0; | ||
455 | + for (TableRow row in children) { | ||
456 | + if (index++ < _context.firstLine && !row.repeat) { | ||
457 | + continue; | ||
458 | + } | ||
459 | + | ||
460 | + final Widget child = row.children.first; | ||
461 | + if (child != null && row.decoration != null) { | ||
462 | + row.decoration.paint( | ||
463 | + context, | ||
464 | + PdfRect(0, child.box.y, box.width, child.box.height), | ||
465 | + PaintPhase.foreground, | ||
466 | + ); | ||
467 | + } | ||
468 | + | ||
469 | + if (index >= _context.lastLine) { | ||
470 | + break; | ||
471 | + } | ||
472 | + } | ||
473 | + | ||
440 | context.canvas.restoreContext(); | 474 | context.canvas.restoreContext(); |
441 | 475 | ||
442 | if (border != null) { | 476 | if (border != null) { |
-
Please register or login to post a comment