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 |