David PHAM-VAN

Fix Wrap break condition

1 # Changelog 1 # Changelog
2 2
  3 +## 1.8.1
  4 +
  5 +- Fix Wrap break condition
  6 +
3 ## 1.8.0 7 ## 1.8.0
4 8
5 - Improve Table.fromTextArray() 9 - Improve Table.fromTextArray()
@@ -254,8 +254,6 @@ class Wrap extends MultiChildWidget implements SpanningWidget { @@ -254,8 +254,6 @@ class Wrap extends MultiChildWidget implements SpanningWidget {
254 assert(childConstraints != null); 254 assert(childConstraints != null);
255 assert(mainAxisLimit != null); 255 assert(mainAxisLimit != null);
256 256
257 - final double spacing = this.spacing;  
258 - final double runSpacing = this.runSpacing;  
259 final List<_RunMetrics> runMetrics = <_RunMetrics>[]; 257 final List<_RunMetrics> runMetrics = <_RunMetrics>[];
260 final Map<Widget, int> childRunMetrics = <Widget, int>{}; 258 final Map<Widget, int> childRunMetrics = <Widget, int>{};
261 double mainAxisExtent = 0.0; 259 double mainAxisExtent = 0.0;
@@ -405,7 +403,8 @@ class Wrap extends MultiChildWidget implements SpanningWidget { @@ -405,7 +403,8 @@ class Wrap extends MultiChildWidget implements SpanningWidget {
405 } 403 }
406 404
407 if (crossAxisOffset < -.01 || 405 if (crossAxisOffset < -.01 ||
408 - crossAxisOffset + runCrossAxisExtent > containerCrossAxisExtent) { 406 + crossAxisOffset + runCrossAxisExtent >
  407 + containerCrossAxisExtent + .01) {
409 break; 408 break;
410 } 409 }
411 410
@@ -4,7 +4,7 @@ description: A pdf producer for Dart. It can create pdf files for both web or fl @@ -4,7 +4,7 @@ description: A pdf producer for Dart. It can create pdf files for both web or fl
4 homepage: https://github.com/DavBfr/dart_pdf/tree/master/pdf 4 homepage: https://github.com/DavBfr/dart_pdf/tree/master/pdf
5 repository: https://github.com/DavBfr/dart_pdf 5 repository: https://github.com/DavBfr/dart_pdf
6 issue_tracker: https://github.com/DavBfr/dart_pdf/issues 6 issue_tracker: https://github.com/DavBfr/dart_pdf/issues
7 -version: 1.8.0 7 +version: 1.8.1
8 8
9 environment: 9 environment:
10 sdk: ">=2.3.0 <3.0.0" 10 sdk: ">=2.3.0 <3.0.0"
@@ -290,6 +290,33 @@ void main() { @@ -290,6 +290,33 @@ void main() {
290 pdf.addPage(Page(build: (Context context) => Wrap())); 290 pdf.addPage(Page(build: (Context context) => Wrap()));
291 }); 291 });
292 292
  293 + test('Wrap Widget Columns', () {
  294 + final math.Random rnd = math.Random(42);
  295 +
  296 + pdf.addPage(
  297 + MultiPage(
  298 + pageFormat: PdfPageFormat.standard,
  299 + build: (Context context) => <Widget>[
  300 + Wrap(
  301 + direction: Axis.vertical,
  302 + children: List<Widget>.generate(
  303 + 50,
  304 + (int n) => Container(
  305 + width: PdfPageFormat.standard.availableWidth / 3,
  306 + padding: const EdgeInsets.only(left: 10, right: 10, bottom: 5),
  307 + child: Lorem(
  308 + length: rnd.nextInt(30) + 10,
  309 + random: rnd,
  310 + textScaleFactor: .7,
  311 + ),
  312 + ),
  313 + ),
  314 + )
  315 + ],
  316 + ),
  317 + );
  318 + });
  319 +
293 tearDownAll(() { 320 tearDownAll(() {
294 final File file = File('widgets-wrap.pdf'); 321 final File file = File('widgets-wrap.pdf');
295 file.writeAsBytesSync(pdf.save()); 322 file.writeAsBytesSync(pdf.save());