David PHAM-VAN

Use PageTheme in example

@@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
5 - Simplify iOS code 5 - Simplify iOS code
6 - Improve native code 6 - Improve native code
7 - Add Printing.info() 7 - Add Printing.info()
  8 +- Use PageTheme in example
8 9
9 ## 2.1.9 10 ## 2.1.9
10 11
@@ -18,12 +18,10 @@ Future<Document> generateDocument(PdfPageFormat format) async { @@ -18,12 +18,10 @@ Future<Document> generateDocument(PdfPageFormat format) async {
18 print('Unable to download image'); 18 print('Unable to download image');
19 }); 19 });
20 20
21 - pdf.addPage(MyPage(  
22 - pageFormat: format.applyMargin(  
23 - left: 2.0 * PdfPageFormat.cm,  
24 - top: 4.0 * PdfPageFormat.cm,  
25 - right: 2.0 * PdfPageFormat.cm,  
26 - bottom: 2.0 * PdfPageFormat.cm), 21 + final PageTheme pageTheme = myPageTheme(format);
  22 +
  23 + pdf.addPage(Page(
  24 + pageTheme: pageTheme,
27 build: (Context context) => Row(children: <Widget>[ 25 build: (Context context) => Row(children: <Widget>[
28 Expanded( 26 Expanded(
29 child: Column( 27 child: Column(
@@ -6,48 +6,54 @@ import 'package:qr/qr.dart'; @@ -6,48 +6,54 @@ import 'package:qr/qr.dart';
6 const PdfColor green = PdfColor.fromInt(0xff9ce5d0); 6 const PdfColor green = PdfColor.fromInt(0xff9ce5d0);
7 const PdfColor lightGreen = PdfColor.fromInt(0xffcdf1e7); 7 const PdfColor lightGreen = PdfColor.fromInt(0xffcdf1e7);
8 8
9 -class MyPage extends Page {  
10 - MyPage(  
11 - {PdfPageFormat pageFormat = PdfPageFormat.a4,  
12 - BuildCallback build,  
13 - EdgeInsets margin})  
14 - : super(pageFormat: pageFormat, margin: margin, build: build);  
15 -  
16 - @override  
17 - void paint(Widget child, Context context) {  
18 - context.canvas  
19 - ..setColor(lightGreen)  
20 - ..moveTo(0, pageFormat.height)  
21 - ..lineTo(0, pageFormat.height - 230)  
22 - ..lineTo(60, pageFormat.height)  
23 - ..fillPath()  
24 - ..setColor(green)  
25 - ..moveTo(0, pageFormat.height)  
26 - ..lineTo(0, pageFormat.height - 100)  
27 - ..lineTo(100, pageFormat.height)  
28 - ..fillPath()  
29 - ..setColor(lightGreen)  
30 - ..moveTo(30, pageFormat.height)  
31 - ..lineTo(110, pageFormat.height - 50)  
32 - ..lineTo(150, pageFormat.height)  
33 - ..fillPath()  
34 - ..moveTo(pageFormat.width, 0)  
35 - ..lineTo(pageFormat.width, 230)  
36 - ..lineTo(pageFormat.width - 60, 0)  
37 - ..fillPath()  
38 - ..setColor(green)  
39 - ..moveTo(pageFormat.width, 0)  
40 - ..lineTo(pageFormat.width, 100)  
41 - ..lineTo(pageFormat.width - 100, 0)  
42 - ..fillPath()  
43 - ..setColor(lightGreen)  
44 - ..moveTo(pageFormat.width - 30, 0)  
45 - ..lineTo(pageFormat.width - 110, 50)  
46 - ..lineTo(pageFormat.width - 150, 0)  
47 - ..fillPath();  
48 -  
49 - super.paint(child, context);  
50 - } 9 +PageTheme myPageTheme(PdfPageFormat format) {
  10 + return PageTheme(
  11 + pageFormat: format.applyMargin(
  12 + left: 2.0 * PdfPageFormat.cm,
  13 + top: 4.0 * PdfPageFormat.cm,
  14 + right: 2.0 * PdfPageFormat.cm,
  15 + bottom: 2.0 * PdfPageFormat.cm),
  16 + buildBackground: (Context context) {
  17 + return FullPage(
  18 + ignoreMargins: true,
  19 + child: CustomPaint(
  20 + size: PdfPoint(format.width, format.height),
  21 + painter: (PdfGraphics canvas, PdfPoint size) {
  22 + context.canvas
  23 + ..setColor(lightGreen)
  24 + ..moveTo(0, size.y)
  25 + ..lineTo(0, size.y - 230)
  26 + ..lineTo(60, size.y)
  27 + ..fillPath()
  28 + ..setColor(green)
  29 + ..moveTo(0, size.y)
  30 + ..lineTo(0, size.y - 100)
  31 + ..lineTo(100, size.y)
  32 + ..fillPath()
  33 + ..setColor(lightGreen)
  34 + ..moveTo(30, size.y)
  35 + ..lineTo(110, size.y - 50)
  36 + ..lineTo(150, size.y)
  37 + ..fillPath()
  38 + ..moveTo(size.x, 0)
  39 + ..lineTo(size.x, 230)
  40 + ..lineTo(size.x - 60, 0)
  41 + ..fillPath()
  42 + ..setColor(green)
  43 + ..moveTo(size.x, 0)
  44 + ..lineTo(size.x, 100)
  45 + ..lineTo(size.x - 100, 0)
  46 + ..fillPath()
  47 + ..setColor(lightGreen)
  48 + ..moveTo(size.x - 30, 0)
  49 + ..lineTo(size.x - 110, 50)
  50 + ..lineTo(size.x - 150, 0)
  51 + ..fillPath();
  52 + },
  53 + ),
  54 + );
  55 + },
  56 + );
51 } 57 }
52 58
53 class Block extends StatelessWidget { 59 class Block extends StatelessWidget {