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

Side by Side Diff: sky/examples/game/lib/node_with_size.dart

Issue 1180703002: Fixes matrix transformations in sprites (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: 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
(Empty)
1 part of sprites;
2
3 abstract class NodeWithSize extends Node {
4 Size size;
5 Point pivot;
6
7 NodeWithSize() {
8 size = new Size(0.0, 0.0);
9 pivot = new Point(0.0, 0.0);
abarth-chromium 2015/06/11 00:20:20 Size.zero Point.origin
10 }
11
12 NodeWithSize.withSize(Size size, [Point pivot]);
13
14 void applyTransformForPivot(PictureRecorder canvas) {
15 if (pivot.x != 0 || pivot.y != 0) {
16 double pivotInPointsX = size.width * pivot.x;
17 double pivotInPointsY = size.height * pivot.y;
18 canvas.translate(-pivotInPointsX, -pivotInPointsY);
19 }
20 }
21
22 bool hitTest (Point nodePoint) {
23
24 double minX = -size.width * pivot.x;
25 double minY = -size.height * pivot.y;
26 double maxX = minX + size.width;
27 double maxY = minY + size.height;
28 return (nodePoint.x >= minX && nodePoint.x < maxX &&
29 nodePoint.y >= minY && nodePoint.y < maxY);
30 }
31 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698