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 TestPaintingCanvas extends PaintingCanvas { |
14 TestRenderCanvas(sky.PictureRecorder recorder, Size size, this.logger, { this.
indent: '' }) | 14 TestPaintingCanvas(sky.PictureRecorder recorder, Size size, this.logger, { thi
s.indent: '' }) |
15 : size = size, | 15 : size = size, |
16 super(recorder, size) { | 16 super(recorder, size) { |
17 log("TestRenderCanvas() constructor: ${size.width} x ${size.height}"); | 17 log("TestPaintingCanvas() constructor: ${size.width} x ${size.height}"); |
18 } | 18 } |
19 | 19 |
20 final String indent; | 20 final String indent; |
21 final Size size; | 21 final Size size; |
22 | 22 |
23 Logger logger; | 23 Logger logger; |
24 void log(String s) { | 24 void log(String s) { |
25 logger("${indent} ${s}"); | 25 logger("${indent} ${s}"); |
26 } | 26 } |
27 | 27 |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 void drawImage(sky.Image image, Point p, Paint paint) { | 104 void drawImage(sky.Image image, Point p, Paint paint) { |
105 log("drawImage($image, $p, $paint)"); | 105 log("drawImage($image, $p, $paint)"); |
106 } | 106 } |
107 | 107 |
108 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) { |
109 log("drawImageRect($image, $src, $dst, paint)"); | 109 log("drawImageRect($image, $src, $dst, paint)"); |
110 } | 110 } |
111 | 111 |
112 void paintChild(RenderObject child, Point position) { | 112 void paintChild(RenderObject child, Point position) { |
113 log("paintChild ${child.runtimeType} at $position"); | 113 log("paintChild ${child.runtimeType} at $position"); |
114 child.paint(new TestRenderCanvas(new sky.PictureRecorder(), size, logger, in
dent: "$indent |"), position.toOffset()); | 114 child.paint(new TestPaintingCanvas(new sky.PictureRecorder(), size, logger,
indent: "$indent |"), position.toOffset()); |
115 } | 115 } |
116 } | 116 } |
117 | 117 |
118 class TestRenderView extends RenderView { | 118 class TestRenderView extends RenderView { |
119 | 119 |
120 TestRenderView([ RenderBox child = null ]) : super(child: child) { | 120 TestRenderView([ RenderBox child = null ]) : super(child: child) { |
121 print("TestRenderView enabled"); | 121 print("TestRenderView enabled"); |
122 attach(); | 122 attach(); |
123 rootConstraints = new ViewConstraints(size: new Size(800.0, 600.0)); // arbi
trary figures | 123 rootConstraints = new ViewConstraints(size: new Size(800.0, 600.0)); // arbi
trary figures |
124 scheduleInitialLayout(); | 124 scheduleInitialLayout(); |
125 syncCheckFrame(); | 125 syncCheckFrame(); |
126 } | 126 } |
127 | 127 |
128 int frame = 0; | 128 int frame = 0; |
129 | 129 |
130 String lastPaint = ''; | 130 String lastPaint = ''; |
131 void log(String s) { | 131 void log(String s) { |
132 lastPaint += "\n$s"; | 132 lastPaint += "\n$s"; |
133 } | 133 } |
134 | 134 |
135 void paintFrame() { | 135 void paintFrame() { |
136 RenderObject.debugDoingPaint = true; | 136 RenderObject.debugDoingPaint = true; |
137 frame += 1; | 137 frame += 1; |
138 lastPaint = ''; | 138 lastPaint = ''; |
139 log("PAINT FOR FRAME #${frame} ---------------------------------------------
-"); | 139 log("PAINT FOR FRAME #${frame} ---------------------------------------------
-"); |
140 var recorder = new sky.PictureRecorder(); | 140 var recorder = new sky.PictureRecorder(); |
141 var canvas = new TestRenderCanvas(recorder, rootConstraints.size, log, inden
t: "${frame} |"); | 141 var canvas = new TestPaintingCanvas(recorder, rootConstraints.size, log, ind
ent: "${frame} |"); |
142 paint(canvas, Offset.zero); | 142 paint(canvas, Offset.zero); |
143 recorder.endRecording(); | 143 recorder.endRecording(); |
144 log("-----------------------------------------------------------------------
-"); | 144 log("-----------------------------------------------------------------------
-"); |
145 RenderObject.debugDoingPaint = false; | 145 RenderObject.debugDoingPaint = false; |
146 } | 146 } |
147 | 147 |
148 // TEST API: | 148 // TEST API: |
149 | 149 |
150 void syncCheckFrame() { | 150 void syncCheckFrame() { |
151 RenderObject.flushLayout(); | 151 RenderObject.flushLayout(); |
(...skipping 26 matching lines...) Expand all Loading... |
178 | 178 |
179 Future test(Function builder) { | 179 Future test(Function builder) { |
180 runApp(new TestApp(builder: builder), renderViewOverride: renderView); | 180 runApp(new TestApp(builder: builder), renderViewOverride: renderView); |
181 return renderView.checkFrame(); | 181 return renderView.checkFrame(); |
182 } | 182 } |
183 | 183 |
184 void endTest() { | 184 void endTest() { |
185 renderView.endTest(); | 185 renderView.endTest(); |
186 } | 186 } |
187 } | 187 } |
OLD | NEW |