| OLD | NEW |
| 1 | 1 |
| 2 import 'dart:async'; | 2 import 'dart:async'; |
| 3 import 'dart:sky' as sky; | 3 import 'dart:sky' as sky; |
| 4 import "dart:sky.internals" as internals; | 4 import "dart:sky.internals" as internals; |
| 5 import 'dart:typed_data'; | 5 import 'dart:typed_data'; |
| 6 | 6 |
| 7 import 'package:sky/widgets/basic.dart'; | 7 import 'package:sky/widgets/basic.dart'; |
| 8 import 'package:sky/rendering/box.dart'; | 8 import 'package:sky/rendering/box.dart'; |
| 9 import 'package:sky/rendering/object.dart'; | 9 import 'package:sky/rendering/object.dart'; |
| 10 | 10 |
| 11 typedef void Logger (String s); | 11 typedef void Logger (String s); |
| 12 | 12 |
| 13 class TestRenderCanvas extends RenderCanvas { | 13 class TestRenderCanvas extends RenderCanvas { |
| 14 TestRenderCanvas(sky.PictureRecorder recorder, double width, double height, th
is.logger, { this.indent: '' }) | 14 TestRenderCanvas(sky.PictureRecorder recorder, Size size, this.logger, { this.
indent: '' }) |
| 15 : width = width, | 15 : size = size, |
| 16 height = height, | 16 super(recorder, size) { |
| 17 super(recorder, width, height) { | 17 log("TestRenderCanvas() constructor: ${size.width} x ${size.height}"); |
| 18 log("TestRenderCanvas() constructor: $width x $height"); | |
| 19 } | 18 } |
| 20 | 19 |
| 21 final String indent; | 20 final String indent; |
| 22 final double width; | 21 final Size size; |
| 23 final double height; | |
| 24 | 22 |
| 25 Logger logger; | 23 Logger logger; |
| 26 void log(String s) { | 24 void log(String s) { |
| 27 logger("${indent} ${s}"); | 25 logger("${indent} ${s}"); |
| 28 } | 26 } |
| 29 | 27 |
| 30 void save() { | 28 void save() { |
| 31 log("save"); | 29 log("save"); |
| 32 } | 30 } |
| 33 | 31 |
| (...skipping 30 matching lines...) Expand all Loading... |
| 64 } | 62 } |
| 65 | 63 |
| 66 void clipRRect(sky.RRect rrect) { | 64 void clipRRect(sky.RRect rrect) { |
| 67 log("clipRRect()"); | 65 log("clipRRect()"); |
| 68 } | 66 } |
| 69 | 67 |
| 70 void clipPath(Path path) { | 68 void clipPath(Path path) { |
| 71 log("clipPath($path)"); | 69 log("clipPath($path)"); |
| 72 } | 70 } |
| 73 | 71 |
| 74 void drawLine(double x0, double y0, double x1, double y1, Paint paint) { | 72 void drawLine(Point p1, Point p2, Paint paint) { |
| 75 log("drawLine($x0, $y0, $x1, $y1, $paint)"); | 73 log("drawLine($p1, $p2, $paint)"); |
| 76 } | 74 } |
| 77 | 75 |
| 78 void drawPicture(sky.Picture picture) { | 76 void drawPicture(sky.Picture picture) { |
| 79 log("drawPicture($picture)"); | 77 log("drawPicture($picture)"); |
| 80 } | 78 } |
| 81 | 79 |
| 82 void drawPaint(Paint paint) { | 80 void drawPaint(Paint paint) { |
| 83 log("drawPaint($paint)"); | 81 log("drawPaint($paint)"); |
| 84 } | 82 } |
| 85 | 83 |
| 86 void drawRect(Rect rect, Paint paint) { | 84 void drawRect(Rect rect, Paint paint) { |
| 87 log("drawRect($rect, $paint)"); | 85 log("drawRect($rect, $paint)"); |
| 88 } | 86 } |
| 89 | 87 |
| 90 void drawRRect(sky.RRect rrect, Paint paint) { | 88 void drawRRect(sky.RRect rrect, Paint paint) { |
| 91 log("drawRRect($rrect, $paint)"); | 89 log("drawRRect($rrect, $paint)"); |
| 92 } | 90 } |
| 93 | 91 |
| 94 void drawOval(Rect rect, Paint paint) { | 92 void drawOval(Rect rect, Paint paint) { |
| 95 log("drawOval($rect, $paint)"); | 93 log("drawOval($rect, $paint)"); |
| 96 } | 94 } |
| 97 | 95 |
| 98 void drawCircle(double x, double y, double radius, Paint paint) { | 96 void drawCircle(Point c, double radius, Paint paint) { |
| 99 log("drawCircle($x, $y, $radius, $paint)"); | 97 log("drawCircle($c, $radius, $paint)"); |
| 100 } | 98 } |
| 101 | 99 |
| 102 void drawPath(Path path, Paint paint) { | 100 void drawPath(Path path, Paint paint) { |
| 103 log("drawPath($path, $paint)"); | 101 log("drawPath($path, $paint)"); |
| 104 } | 102 } |
| 105 | 103 |
| 106 void drawImage(sky.Image image, double x, double y, Paint paint) { | 104 void drawImage(sky.Image image, Point p, Paint paint) { |
| 107 log("drawImage($image, $x, $y, $paint)"); | 105 log("drawImage($image, $p, $paint)"); |
| 108 } | 106 } |
| 109 | 107 |
| 110 void drawImageRect(sky.Image image, sky.Rect src, sky.Rect dst, Paint paint) { | 108 void drawImageRect(sky.Image image, sky.Rect src, sky.Rect dst, Paint paint) { |
| 111 log("drawImageRect($image, $src, $dst, paint)"); | 109 log("drawImageRect($image, $src, $dst, paint)"); |
| 112 } | 110 } |
| 113 | 111 |
| 114 void paintChild(RenderObject child, Point position) { | 112 void paintChild(RenderObject child, Point position) { |
| 115 log("paintChild ${child.runtimeType} at $position"); | 113 log("paintChild ${child.runtimeType} at $position"); |
| 116 child.paint(new TestRenderCanvas(new sky.PictureRecorder(), width, height, l
ogger, indent: "$indent |")); | 114 child.paint(new TestRenderCanvas(new sky.PictureRecorder(), size, logger, in
dent: "$indent |")); |
| 117 } | 115 } |
| 118 } | 116 } |
| 119 | 117 |
| 120 class TestRenderView extends RenderView { | 118 class TestRenderView extends RenderView { |
| 121 | 119 |
| 122 TestRenderView([ RenderBox child = null ]) : super(child: child) { | 120 TestRenderView([ RenderBox child = null ]) : super(child: child) { |
| 123 print("TestRenderView enabled"); | 121 print("TestRenderView enabled"); |
| 124 attach(); | 122 attach(); |
| 125 rootConstraints = new ViewConstraints(width: 800.0, height: 600.0); // arbit
rary figures | 123 rootConstraints = new ViewConstraints(size: new Size(800.0, 600.0)); // arbi
trary figures |
| 126 scheduleInitialLayout(); | 124 scheduleInitialLayout(); |
| 127 syncCheckFrame(); | 125 syncCheckFrame(); |
| 128 } | 126 } |
| 129 | 127 |
| 130 int frame = 0; | 128 int frame = 0; |
| 131 | 129 |
| 132 String lastPaint = ''; | 130 String lastPaint = ''; |
| 133 void log(String s) { | 131 void log(String s) { |
| 134 lastPaint += "\n$s"; | 132 lastPaint += "\n$s"; |
| 135 } | 133 } |
| 136 | 134 |
| 137 void paintFrame() { | 135 void paintFrame() { |
| 138 RenderObject.debugDoingPaint = true; | 136 RenderObject.debugDoingPaint = true; |
| 139 frame += 1; | 137 frame += 1; |
| 140 lastPaint = ''; | 138 lastPaint = ''; |
| 141 log("PAINT FOR FRAME #${frame} ---------------------------------------------
-"); | 139 log("PAINT FOR FRAME #${frame} ---------------------------------------------
-"); |
| 142 var recorder = new sky.PictureRecorder(); | 140 var recorder = new sky.PictureRecorder(); |
| 143 var canvas = new TestRenderCanvas(recorder, rootConstraints.width, rootConst
raints.height, log, indent: "${frame} |"); | 141 var canvas = new TestRenderCanvas(recorder, rootConstraints.size, log, inden
t: "${frame} |"); |
| 144 paint(canvas); | 142 paint(canvas); |
| 145 recorder.endRecording(); | 143 recorder.endRecording(); |
| 146 log("-----------------------------------------------------------------------
-"); | 144 log("-----------------------------------------------------------------------
-"); |
| 147 RenderObject.debugDoingPaint = false; | 145 RenderObject.debugDoingPaint = false; |
| 148 } | 146 } |
| 149 | 147 |
| 150 // TEST API: | 148 // TEST API: |
| 151 | 149 |
| 152 void syncCheckFrame() { | 150 void syncCheckFrame() { |
| 153 RenderObject.flushLayout(); | 151 RenderObject.flushLayout(); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 180 | 178 |
| 181 Future test(Function builder) { | 179 Future test(Function builder) { |
| 182 runApp(new TestApp(builder: builder), renderViewOverride: renderView); | 180 runApp(new TestApp(builder: builder), renderViewOverride: renderView); |
| 183 return renderView.checkFrame(); | 181 return renderView.checkFrame(); |
| 184 } | 182 } |
| 185 | 183 |
| 186 void endTest() { | 184 void endTest() { |
| 187 renderView.endTest(); | 185 renderView.endTest(); |
| 188 } | 186 } |
| 189 } | 187 } |
| OLD | NEW |