Index: sky/tests/resources/display_list.dart |
diff --git a/sky/tests/resources/display_list.dart b/sky/tests/resources/display_list.dart |
index a83f34d0aa9878ed6cdda5111169934f4510891c..0e22d052144a98844839901af842bd94d20d2961 100644 |
--- a/sky/tests/resources/display_list.dart |
+++ b/sky/tests/resources/display_list.dart |
@@ -2,6 +2,7 @@ |
import 'dart:async'; |
import 'dart:sky' as sky; |
import "dart:sky.internals" as internals; |
+import 'dart:typed_data'; |
import 'package:sky/widgets/basic.dart'; |
import 'package:sky/rendering/box.dart'; |
@@ -9,12 +10,29 @@ import 'package:sky/rendering/object.dart'; |
typedef void Logger (String s); |
-class TestDisplayList extends RenderObjectDisplayList { |
- TestDisplayList(double width, double height, this.logger, { this.indent: '' }) : |
- this.width = width, |
- this.height = height, |
- super(width, height) { |
- log("TestDisplayList() constructor: $width x $height"); |
+class TestPictureRecorder extends sky.PictureRecorder { |
+ TestPictureRecorder(this.logger, { this.indent: '' }) { |
+ log("TestPictureRecorder() constructor"); |
+ } |
+ final String indent; |
+ Logger logger; |
+ |
+ void log(String s) { |
+ logger("${indent} ${s}"); |
+ } |
+ |
+ sky.Canvas beginRecording(double width, double height) { |
+ log("beginRecording($width, $height)"); |
+ |
+ var canvas = super.beginRecording(width, height); |
+ |
+ return new TestCanvas(width, height, this.logger, indent: this.indent); |
abarth-chromium
2015/06/20 00:50:29
This function then becomes:
return new TestCanvas
|
+ } |
+} |
+ |
+class TestCanvas extends sky.Canvas { |
+ TestCanvas(this.width, this.height, this.logger, { this.indent: '' }) { |
abarth-chromium
2015/06/20 00:50:29
I'd call |super| here.
|
+ log("TestCanvas() constructor: $width x $height"); |
} |
final String indent; |
@@ -54,8 +72,8 @@ class TestDisplayList extends RenderObjectDisplayList { |
log("skew($sx, $sy)"); |
} |
- void concat(List<double> matrix9) { |
- log("concat($matrix9)"); |
+ void concat(Float32List matrix4) { |
+ log("concat($matrix4)"); |
} |
void clipRect(Rect rect) { |
@@ -108,7 +126,7 @@ class TestDisplayList extends RenderObjectDisplayList { |
void paintChild(RenderObject child, Point position) { |
log("paintChild ${child.runtimeType} at $position"); |
- child.paint(new TestDisplayList(width, height, logger, indent: "$indent |")); |
+ child.paint(new TestCanvas(width, height, logger, indent: "$indent |")); |
} |
} |
@@ -134,8 +152,10 @@ class TestRenderView extends RenderView { |
frame += 1; |
lastPaint = ''; |
log("PAINT FOR FRAME #${frame} ----------------------------------------------"); |
- var canvas = new TestDisplayList(rootConstraints.width, rootConstraints.height, log, indent: "${frame} |"); |
+ var recorder = new TestPictureRecorder(log, indent: "${frame} |"); |
+ var canvas = recorder.beginRecording(rootConstraints.width, rootConstraints.height); |
paint(canvas); |
+ recorder.endRecording(); |
log("------------------------------------------------------------------------"); |
RenderObject.debugDoingPaint = false; |
} |