diff options
Diffstat (limited to 'js/stage/stage.reel')
-rwxr-xr-x | js/stage/stage.reel/stage.js | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/js/stage/stage.reel/stage.js b/js/stage/stage.reel/stage.js index 6bb626c2..755c7ff1 100755 --- a/js/stage/stage.reel/stage.js +++ b/js/stage/stage.reel/stage.js | |||
@@ -262,6 +262,8 @@ exports.Stage = Montage.create(Component, { | |||
262 | this.application.ninja.toolsData.selectedToolInstance._configure(true); | 262 | this.application.ninja.toolsData.selectedToolInstance._configure(true); |
263 | 263 | ||
264 | this.addEventListener("change@appModel.show3dGrid", this, false); | 264 | this.addEventListener("change@appModel.show3dGrid", this, false); |
265 | |||
266 | this.layout.handleOpenDocument(); | ||
265 | } | 267 | } |
266 | }, | 268 | }, |
267 | 269 | ||
@@ -519,12 +521,37 @@ exports.Stage = Montage.create(Component, { | |||
519 | */ | 521 | */ |
520 | GetElement: { | 522 | GetElement: { |
521 | value: function(pos) { | 523 | value: function(pos) { |
522 | var point = webkitConvertPointFromPageToNode(this.canvas, new WebKitPoint(pos.pageX, pos.pageY)); | 524 | var point = webkitConvertPointFromPageToNode(this.canvas, new WebKitPoint(pos.pageX, pos.pageY)), |
523 | return this.application.ninja.currentDocument.GetElementFromPoint(point.x + this.scrollLeft,point.y + this.scrollTop); | 525 | elt = this.application.ninja.currentDocument.GetElementFromPoint(point.x + this.scrollLeft,point.y + this.scrollTop); |
526 | |||
527 | // workaround Chrome 3d bug | ||
528 | if(this.application.ninja.currentDocument.inExclusion(elt) !== -1) | ||
529 | { | ||
530 | return this._getElementUsingSnapping(point); | ||
531 | } else { | ||
532 | return elt; | ||
533 | } | ||
524 | } | 534 | } |
525 | }, | 535 | }, |
526 | 536 | ||
527 | 537 | /** | |
538 | * _getElementUsingSnapping: Returns the object at point using snap manager | ||
539 | * | ||
540 | * @param: point | ||
541 | * @return: Returns the Object in the user document under the point | ||
542 | */ | ||
543 | _getElementUsingSnapping: { | ||
544 | value: function(point) { | ||
545 | this.stageDeps.snapManager.enableElementSnap( true ); | ||
546 | var hitRec = this.stageDeps.snapManager.snap(point.x, point.y, true); | ||
547 | this.stageDeps.snapManager.enableElementSnap( this.stageDeps.snapManager.elementSnapEnabledAppLevel() ); | ||
548 | if (hitRec) { | ||
549 | return hitRec.getElement(); | ||
550 | } else { | ||
551 | return null; | ||
552 | } | ||
553 | } | ||
554 | }, | ||
528 | 555 | ||
529 | 556 | ||
530 | draw: { | 557 | draw: { |