aboutsummaryrefslogtreecommitdiff
path: root/js/stage/tool-handle.js
diff options
context:
space:
mode:
authorAnanya Sen2012-07-09 16:52:49 -0700
committerAnanya Sen2012-07-09 16:52:49 -0700
commit2eb84584f44b8c774479d1af2ee1d810597474cf (patch)
tree64cb3e09a8daeb340261dd7f3869c73f7b90b643 /js/stage/tool-handle.js
parentbf9dba001ec84243e2f12cd13b0c0ae020fba4a2 (diff)
parentcee0deca695359ab468bd06d0e05ed3b2010b338 (diff)
downloadninja-2eb84584f44b8c774479d1af2ee1d810597474cf.tar.gz
Merge branch 'refs/heads/ninja-internal-master' into codemirror-custom-theme-removal
Conflicts: js/code-editor/codemirror-ninja/theme/lesser-dark-ninja.css js/code-editor/codemirror-ninja/theme/xq-dark-ninja.css Signed-off-by: Ananya Sen <Ananya.Sen@motorola.com>
Diffstat (limited to 'js/stage/tool-handle.js')
-rwxr-xr-xjs/stage/tool-handle.js61
1 files changed, 31 insertions, 30 deletions
diff --git a/js/stage/tool-handle.js b/js/stage/tool-handle.js
index 5ce243ff..07607824 100755
--- a/js/stage/tool-handle.js
+++ b/js/stage/tool-handle.js
@@ -1,24 +1,25 @@
1/* <copyright> 1/* <copyright>
2Copyright (c) 2012, Motorola Mobility, Inc 2Copyright (c) 2012, Motorola Mobility LLC.
3All Rights Reserved. 3All Rights Reserved.
4BSD License.
5 4
6Redistribution and use in source and binary forms, with or without 5Redistribution and use in source and binary forms, with or without
7modification, are permitted provided that the following conditions are met: 6modification, are permitted provided that the following conditions are met:
8 7
9 - Redistributions of source code must retain the above copyright notice, 8* Redistributions of source code must retain the above copyright notice,
10 this list of conditions and the following disclaimer. 9 this list of conditions and the following disclaimer.
11 - Redistributions in binary form must reproduce the above copyright 10
12 notice, this list of conditions and the following disclaimer in the 11* Redistributions in binary form must reproduce the above copyright notice,
13 documentation and/or other materials provided with the distribution. 12 this list of conditions and the following disclaimer in the documentation
14 - Neither the name of Motorola Mobility nor the names of its contributors 13 and/or other materials provided with the distribution.
15 may be used to endorse or promote products derived from this software 14
16 without specific prior written permission. 15* Neither the name of Motorola Mobility LLC nor the names of its
16 contributors may be used to endorse or promote products derived from this
17 software without specific prior written permission.
17 18
18THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 22ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
@@ -111,7 +112,7 @@ var ToolHandle = exports.ToolHandle = Montage.create(Component, {
111 return true; 112 return true;
112 } 113 }
113 } 114 }
114 115
115}); 116});
116 117
117 118
@@ -302,7 +303,7 @@ exports.RotateHandle = Montage.create(ToolHandle, {
302 this._planeEq[3] = -vecUtils.vecDot(3, this._planeEq, this._origin); 303 this._planeEq[3] = -vecUtils.vecDot(3, this._planeEq, this._origin);
303 304
304 this._dirVecL = MathUtils.transformPoint(this._dirVec, this._matL); 305 this._dirVecL = MathUtils.transformPoint(this._dirVec, this._matL);
305 306
306 context.beginPath(); 307 context.beginPath();
307 308
308 var pt = [this._radius, 0.0, 0.0]; 309 var pt = [this._radius, 0.0, 0.0];
@@ -322,7 +323,7 @@ exports.RotateHandle = Montage.create(ToolHandle, {
322 323
323 // Draw the transform handle 324 // Draw the transform handle
324 context.beginPath(); 325 context.beginPath();
325 326
326 pt = [this._transformCenterRadius, 0.0, 0.0]; 327 pt = [this._transformCenterRadius, 0.0, 0.0];
327 328
328 for (var i=0; i<this._nTriangles; i++) 329 for (var i=0; i<this._nTriangles; i++)
@@ -336,7 +337,7 @@ exports.RotateHandle = Montage.create(ToolHandle, {
336 context.stroke(); 337 context.stroke();
337 338
338 339
339 340
340 context.restore(); 341 context.restore();
341 } 342 }
342 }, 343 },
@@ -384,7 +385,7 @@ exports.RotateHandle = Montage.create(ToolHandle, {
384 385
385 return 0; 386 return 0;
386 } 387 }
387 388
388 localPt = MathUtils.transformPoint(localPt, this._matL); 389 localPt = MathUtils.transformPoint(localPt, this._matL);
389 390
390 var theta = Math.atan2(localPt[1], localPt[0]); 391 var theta = Math.atan2(localPt[1], localPt[0]);
@@ -398,13 +399,13 @@ exports.RotateHandle = Montage.create(ToolHandle, {
398 { 399 {
399 return 1; 400 return 1;
400 } 401 }
401 402
402 xC = this._radius*Math.cos(theta); 403 xC = this._radius*Math.cos(theta);
403 yC = this._radius*Math.sin(theta); 404 yC = this._radius*Math.sin(theta);
404 ptOnCircle = [xC, yC, 0]; 405 ptOnCircle = [xC, yC, 0];
405 406
406 dist = vecUtils.vecDist( 2, localPt, ptOnCircle ); 407 dist = vecUtils.vecDist( 2, localPt, ptOnCircle );
407 408
408 if ( dist <= 5 ) 409 if ( dist <= 5 )
409 { 410 {
410 return 2; 411 return 2;
@@ -414,7 +415,7 @@ exports.RotateHandle = Montage.create(ToolHandle, {
414 } 415 }
415 }, 416 },
416 417
417 418
418 drawShadedAngle: { 419 drawShadedAngle: {
419 value: function(angle, localPt) { 420 value: function(angle, localPt) {
420 421
@@ -448,7 +449,7 @@ exports.RotateHandle = Montage.create(ToolHandle, {
448 } 449 }
449 450
450 context.lineTo(this._origin[0], this._origin[1]); 451 context.lineTo(this._origin[0], this._origin[1]);
451 452
452 context.stroke(); 453 context.stroke();
453 context.fill(); 454 context.fill();
454 455
@@ -675,7 +676,7 @@ exports.TranslateHandle = Montage.create(ToolHandle, {
675 context.stroke(); 676 context.stroke();
676 677
677 this._drawArrowHead(this._origin, this._endPt, context); 678 this._drawArrowHead(this._origin, this._endPt, context);
678 679
679 context.restore(); 680 context.restore();
680 } 681 }
681 }, 682 },
@@ -734,23 +735,23 @@ exports.TranslateHandle = Montage.create(ToolHandle, {
734 context.restore(); 735 context.restore();
735 } 736 }
736 }, 737 },
737 738
738 collidesWithPoint: 739 collidesWithPoint:
739 { 740 {
740 value:function (x, y) 741 value:function (x, y)
741 { 742 {
742 var globalPt = [x, y, this._origin[2]]; 743 var globalPt = [x, y, this._origin[2]];
743 744
744 // test for a hit on the origin 745 // test for a hit on the origin
745 var dist = vecUtils.vecDist( 2, globalPt, this._origin ); 746 var dist = vecUtils.vecDist( 2, globalPt, this._origin );
746 if (dist <= 5) return 1; 747 if (dist <= 5) return 1;
747 748
748 var nearPt = MathUtils.nearestPointOnLine2D( this._origin, this._dirVec, globalPt ); 749 var nearPt = MathUtils.nearestPointOnLine2D( this._origin, this._dirVec, globalPt );
749 if(!nearPt) 750 if(!nearPt)
750 { 751 {
751 return 0; 752 return 0;
752 } 753 }
753 754
754 var t = MathUtils.parameterizePointOnLine2D( this._origin, this._dirVec, nearPt ); 755 var t = MathUtils.parameterizePointOnLine2D( this._origin, this._dirVec, nearPt );
755 dist = vecUtils.vecDist( 2, globalPt, nearPt ); 756 dist = vecUtils.vecDist( 2, globalPt, nearPt );
756 if (dist <= 5) 757 if (dist <= 5)