diff options
-rwxr-xr-x | js/tools/PenTool.js | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/js/tools/PenTool.js b/js/tools/PenTool.js index a973628f..7263bf52 100755 --- a/js/tools/PenTool.js +++ b/js/tools/PenTool.js | |||
@@ -151,7 +151,17 @@ exports.PenTool = Montage.create(ShapeTool, { | |||
151 | //use the snap manager to build a hit record corresponding to the screen X, Y position | 151 | //use the snap manager to build a hit record corresponding to the screen X, Y position |
152 | // will use the plane of the selected path as the working plane if available, else use stage | 152 | // will use the plane of the selected path as the working plane if available, else use stage |
153 | getHitRecord:{ | 153 | getHitRecord:{ |
154 | value: function(x,y){ | 154 | value: function(x,y, doSnap){ |
155 | var elemSnap = snapManager.elementSnapEnabled(); | ||
156 | var gridSnap = snapManager.gridSnapEnabled(); | ||
157 | var alignSnap = snapManager.snapAlignEnabled(); | ||
158 | |||
159 | if (!doSnap){ | ||
160 | snapManager.enableElementSnap(false); | ||
161 | snapManager.enableGridSnap(false); | ||
162 | snapManager.enableSnapAlign(false); | ||
163 | } | ||
164 | |||
155 | if (this._selectedSubpathCanvas){ | 165 | if (this._selectedSubpathCanvas){ |
156 | var drawingCanvas = this._selectedSubpathCanvas; | 166 | var drawingCanvas = this._selectedSubpathCanvas; |
157 | var contentPlane = ViewUtils.getUnprojectedElementPlane(drawingCanvas); | 167 | var contentPlane = ViewUtils.getUnprojectedElementPlane(drawingCanvas); |
@@ -163,6 +173,12 @@ exports.PenTool = Montage.create(ShapeTool, { | |||
163 | if (this._selectedSubpathCanvas){ | 173 | if (this._selectedSubpathCanvas){ |
164 | snapManager.popWorkingPlane(); | 174 | snapManager.popWorkingPlane(); |
165 | } | 175 | } |
176 | |||
177 | if (!doSnap){ | ||
178 | snapManager.enableElementSnap(elemSnap); | ||
179 | snapManager.enableGridSnap(gridSnap); | ||
180 | snapManager.enableSnapAlign(alignSnap); | ||
181 | } | ||
166 | return hitRec; | 182 | return hitRec; |
167 | } | 183 | } |
168 | }, | 184 | }, |
@@ -247,7 +263,7 @@ exports.PenTool = Montage.create(ShapeTool, { | |||
247 | } | 263 | } |
248 | 264 | ||
249 | //build the hit record for the current mouse position (on the stage or the plane of the path canvas) | 265 | //build the hit record for the current mouse position (on the stage or the plane of the path canvas) |
250 | var hitRec = this.getHitRecord(event.pageX, event.pageY); | 266 | var hitRec = this.getHitRecord(event.pageX, event.pageY, false); |
251 | 267 | ||
252 | if (this._selectedSubpathCanvas === null){ | 268 | if (this._selectedSubpathCanvas === null){ |
253 | //IF this is the first anchor point of the selected subpath | 269 | //IF this is the first anchor point of the selected subpath |
@@ -409,7 +425,7 @@ exports.PenTool = Montage.create(ShapeTool, { | |||
409 | "url('images/cursors/penCursors/Pen_newPath.png') 5 1, default"; | 425 | "url('images/cursors/penCursors/Pen_newPath.png') 5 1, default"; |
410 | } | 426 | } |
411 | 427 | ||
412 | var hitRec = this.getHitRecord(event.pageX, event.pageY); | 428 | var hitRec = this.getHitRecord(event.pageX, event.pageY, false); |
413 | 429 | ||
414 | var drawingCanvas=null, globalMousePos=null, localMousePos=null; | 430 | var drawingCanvas=null, globalMousePos=null, localMousePos=null; |
415 | if (this._selectedSubpath ){ | 431 | if (this._selectedSubpath ){ |