Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(68)

Side by Side Diff: sky/examples/raw/touch_demo.dart

Issue 1180553002: Ink splashes should start at the touch point (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Use more specific types for GameBox and SpriteBox Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 import 'dart:math'; 5 import 'dart:math';
6 import 'dart:sky'; 6 import 'dart:sky';
7 import 'package:sky/framework/app.dart'; 7 import 'package:sky/framework/app.dart';
8 import 'package:sky/framework/rendering/box.dart'; 8 import 'package:sky/framework/rendering/box.dart';
9 import 'package:sky/framework/rendering/object.dart'; 9 import 'package:sky/framework/rendering/object.dart';
10 10
(...skipping 24 matching lines...) Expand all
35 void paint(RenderObjectDisplayList canvas) { 35 void paint(RenderObjectDisplayList canvas) {
36 canvas.drawCircle(x, y, radius, _paint); 36 canvas.drawCircle(x, y, radius, _paint);
37 } 37 }
38 } 38 }
39 39
40 class RenderTouchDemo extends RenderBox { 40 class RenderTouchDemo extends RenderBox {
41 Map<int, Dot> dots = new Map(); 41 Map<int, Dot> dots = new Map();
42 42
43 RenderTouchDemo(); 43 RenderTouchDemo();
44 44
45 void handleEvent(sky.Event event) { 45 void handleEvent(Event event, BoxHitTestData data) {
46 switch (event.type) { 46 switch (event.type) {
47 case 'pointerdown': 47 case 'pointerdown':
48 int color = colors[event.pointer.remainder(colors.length)]; 48 int color = colors[event.pointer.remainder(colors.length)];
49 dots[event.pointer] = new Dot(color: color)..update(event); 49 dots[event.pointer] = new Dot(color: color)..update(event);
50 break; 50 break;
51 case 'pointerup': 51 case 'pointerup':
52 dots.remove(event.pointer); 52 dots.remove(event.pointer);
53 break; 53 break;
54 case 'pointercancel': 54 case 'pointercancel':
55 dots = new Map(); 55 dots = new Map();
(...skipping 14 matching lines...) Expand all
70 dot.paint(canvas); 70 dot.paint(canvas);
71 }); 71 });
72 } 72 }
73 } 73 }
74 74
75 AppView app; 75 AppView app;
76 76
77 void main() { 77 void main() {
78 app = new AppView(new RenderTouchDemo()); 78 app = new AppView(new RenderTouchDemo());
79 } 79 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698