Index: sky/examples/rendering/touch_demo.dart |
diff --git a/sky/examples/rendering/touch_demo.dart b/sky/examples/rendering/touch_demo.dart |
index 3f23c95fa29a43fe7363f4f05c4a61df4e8dc59c..3bcb3f2b6b11c0d6c04b8a35401badaa805901c7 100644 |
--- a/sky/examples/rendering/touch_demo.dart |
+++ b/sky/examples/rendering/touch_demo.dart |
@@ -7,15 +7,18 @@ import 'dart:sky'; |
import 'package:sky/framework/app.dart'; |
import 'package:sky/framework/rendering/box.dart'; |
Hixie
2015/06/11 22:14:09
convention is now to sort this alphabetically, wit
|
import 'package:sky/framework/rendering/object.dart'; |
+import 'package:sky/framework/rendering/stack.dart'; |
+import 'package:sky/framework/rendering/paragraph.dart'; |
+import 'package:sky/framework/theme2/colors.dart'; |
// Material design colors. :p |
-List<int> colors = [ |
- 0xFF009688, |
- 0xFFFFC107, |
- 0xFF9C27B0, |
- 0xFF03A9F4, |
- 0xFF673AB7, |
- 0xFFCDDC39, |
+List<Color> colors = [ |
+ Teal[500], |
+ Amber[500], |
+ Purple[500], |
+ LightBlue[500], |
+ DeepPurple[500], |
+ Lime[500], |
]; |
class Dot { |
@@ -24,7 +27,7 @@ class Dot { |
double y = 0.0; |
double radius = 0.0; |
- Dot({int color}) : _paint = new Paint()..color = color; |
+ Dot({Color color}) : _paint = new Paint()..color = color; |
Hixie
2015/06/11 22:14:09
spaces around the arguments list.
|
void update(PointerEvent event) { |
x = event.x; |
@@ -45,7 +48,7 @@ class RenderTouchDemo extends RenderBox { |
void handleEvent(Event event, BoxHitTestEntry entry) { |
switch (event.type) { |
case 'pointerdown': |
- int color = colors[event.pointer.remainder(colors.length)]; |
+ Color color = colors[event.pointer.remainder(colors.length)]; |
dots[event.pointer] = new Dot(color: color)..update(event); |
break; |
case 'pointerup': |
@@ -66,14 +69,23 @@ class RenderTouchDemo extends RenderBox { |
} |
void paint(RenderObjectDisplayList canvas) { |
- dots.forEach((_, Dot dot) { |
+ Paint white = new Paint()..color = const Color(0xFFFFFFFF); |
+ canvas.drawRect(new Rect.fromSize(size), white); |
+ for (Dot dot in dots.values) |
dot.paint(canvas); |
- }); |
} |
} |
AppView app; |
void main() { |
- app = new AppView(new RenderTouchDemo()); |
+ var para = new RenderParagraph(text: "Touch me!"); |
+ var stack = new RenderStack(children: [ |
+ new RenderTouchDemo(), |
+ para, |
+ ]); |
+ // Make the paragraph not fill the whole screen so it doesn't eat events. |
+ para.parentData..top = 40.0 |
+ ..left = 20.0; |
+ app = new AppView(stack); |
} |