diff options
Diffstat (limited to 'js/tools')
-rwxr-xr-x | js/tools/FillTool.js | 20 | ||||
-rwxr-xr-x | js/tools/InkBottleTool.js | 21 | ||||
-rwxr-xr-x | js/tools/LineTool.js | 9 | ||||
-rwxr-xr-x | js/tools/OvalTool.js | 15 | ||||
-rwxr-xr-x | js/tools/RectTool.js | 15 | ||||
-rwxr-xr-x | js/tools/SelectionTool.js | 1 | ||||
-rwxr-xr-x | js/tools/ShapeTool.js | 13 | ||||
-rwxr-xr-x | js/tools/Translate3DToolBase.js | 25 | ||||
-rwxr-xr-x | js/tools/TranslateObject3DTool.js | 23 | ||||
-rwxr-xr-x | js/tools/modifier-tool-base.js | 26 |
10 files changed, 102 insertions, 66 deletions
diff --git a/js/tools/FillTool.js b/js/tools/FillTool.js index 4b07ae83..746f20cf 100755 --- a/js/tools/FillTool.js +++ b/js/tools/FillTool.js | |||
@@ -17,11 +17,12 @@ var Montage = require("montage/core/core").Montage, | |||
17 | exports.FillTool = Montage.create(ModifierToolBase, { | 17 | exports.FillTool = Montage.create(ModifierToolBase, { |
18 | _canSnap: { value: false }, | 18 | _canSnap: { value: false }, |
19 | _canColor: { value: true }, | 19 | _canColor: { value: true }, |
20 | _targetedElement: { value: null }, | ||
20 | 21 | ||
21 | HandleMouseMove: { | 22 | HandleMouseMove: { |
22 | value : function (event) | 23 | value : function (event) |
23 | { | 24 | { |
24 | var obj = this.application.ninja.stage.GetElement(event); | 25 | var obj = this.application.ninja.stage.GetSelectableElement(event); |
25 | var cursor = "url('images/cursors/fill.png') 14 14, default"; | 26 | var cursor = "url('images/cursors/fill.png') 14 14, default"; |
26 | var canColor = true; | 27 | var canColor = true; |
27 | if (obj) | 28 | if (obj) |
@@ -31,6 +32,23 @@ exports.FillTool = Montage.create(ModifierToolBase, { | |||
31 | { | 32 | { |
32 | cursor = "url('images/cursors/nofill.png') 14 14, default"; | 33 | cursor = "url('images/cursors/nofill.png') 14 14, default"; |
33 | canColor = false; | 34 | canColor = false; |
35 | if(this._targetedElement) | ||
36 | { | ||
37 | this._targetedElement.classList.remove("active-element-outline"); | ||
38 | this._targetedElement = null; | ||
39 | } | ||
40 | } | ||
41 | else | ||
42 | { | ||
43 | if (obj !== this._targetedElement) | ||
44 | { | ||
45 | if(this._targetedElement) | ||
46 | { | ||
47 | this._targetedElement.classList.remove("active-element-outline"); | ||
48 | } | ||
49 | } | ||
50 | this._targetedElement = obj; | ||
51 | this._targetedElement.classList.add("active-element-outline"); | ||
34 | } | 52 | } |
35 | } | 53 | } |
36 | this.application.ninja.stage.drawingCanvas.style.cursor = cursor; | 54 | this.application.ninja.stage.drawingCanvas.style.cursor = cursor; |
diff --git a/js/tools/InkBottleTool.js b/js/tools/InkBottleTool.js index 8340ef50..95c2e71d 100755 --- a/js/tools/InkBottleTool.js +++ b/js/tools/InkBottleTool.js | |||
@@ -11,11 +11,12 @@ var Montage = require("montage/core/core").Montage, | |||
11 | exports.InkBottleTool = Montage.create(ModifierToolBase, { | 11 | exports.InkBottleTool = Montage.create(ModifierToolBase, { |
12 | _canSnap: { value: false }, | 12 | _canSnap: { value: false }, |
13 | _canColor: { value: true }, | 13 | _canColor: { value: true }, |
14 | _targetedElement: { value: null }, | ||
14 | 15 | ||
15 | HandleMouseMove: { | 16 | HandleMouseMove: { |
16 | value : function (event) | 17 | value : function (event) |
17 | { | 18 | { |
18 | var obj = this.application.ninja.stage.GetElement(event); | 19 | var obj = this.application.ninja.stage.GetSelectableElement(event); |
19 | var cursor = "url('images/cursors/ink.png') 6 11, default"; | 20 | var cursor = "url('images/cursors/ink.png') 6 11, default"; |
20 | var canColor = true; | 21 | var canColor = true; |
21 | if (obj) | 22 | if (obj) |
@@ -25,7 +26,25 @@ exports.InkBottleTool = Montage.create(ModifierToolBase, { | |||
25 | { | 26 | { |
26 | cursor = "url('images/cursors/ink_no.png') 6 11, default"; | 27 | cursor = "url('images/cursors/ink_no.png') 6 11, default"; |
27 | canColor = false; | 28 | canColor = false; |
29 | if(this._targetedElement) | ||
30 | { | ||
31 | this._targetedElement.classList.remove("active-element-outline"); | ||
32 | this._targetedElement = null; | ||
33 | } | ||
28 | } | 34 | } |
35 | else | ||
36 | { | ||
37 | if (obj !== this._targetedElement) | ||
38 | { | ||
39 | if(this._targetedElement) | ||
40 | { | ||
41 | this._targetedElement.classList.remove("active-element-outline"); | ||
42 | } | ||
43 | } | ||
44 | this._targetedElement = obj; | ||
45 | this._targetedElement.classList.add("active-element-outline"); | ||
46 | } | ||
47 | |||
29 | } | 48 | } |
30 | this.application.ninja.stage.drawingCanvas.style.cursor = cursor; | 49 | this.application.ninja.stage.drawingCanvas.style.cursor = cursor; |
31 | this._canColor = canColor; | 50 | this._canColor = canColor; |
diff --git a/js/tools/LineTool.js b/js/tools/LineTool.js index 455f519e..e6e05b04 100755 --- a/js/tools/LineTool.js +++ b/js/tools/LineTool.js | |||
@@ -225,6 +225,7 @@ exports.LineTool = Montage.create(ShapeTool, { | |||
225 | { | 225 | { |
226 | strokeMaterial = Object.create(MaterialsModel.getMaterial(strokeM)); | 226 | strokeMaterial = Object.create(MaterialsModel.getMaterial(strokeM)); |
227 | } | 227 | } |
228 | strokeColor = ShapesController.getMaterialColor(strokeM) || strokeColor; | ||
228 | } | 229 | } |
229 | 230 | ||
230 | var world = this.getGLWorld(canvas, this.options.use3D); | 231 | var world = this.getGLWorld(canvas, this.options.use3D); |
@@ -243,19 +244,13 @@ exports.LineTool = Montage.create(ShapeTool, { | |||
243 | canvas.elementModel.selection = "Line"; | 244 | canvas.elementModel.selection = "Line"; |
244 | canvas.elementModel.pi = "LinePi"; | 245 | canvas.elementModel.pi = "LinePi"; |
245 | canvas.elementModel.shapeModel.strokeSize = this.options.strokeSize.value + " " + this.options.strokeSize.units; | 246 | canvas.elementModel.shapeModel.strokeSize = this.options.strokeSize.value + " " + this.options.strokeSize.units; |
246 | canvas.elementModel.shapeModel.stroke = strokeColor; | ||
247 | if(strokeColor) | ||
248 | { | ||
249 | canvas.elementModel.shapeModel.border = this.application.ninja.colorController.colorToolbar.stroke; | ||
250 | } | ||
251 | |||
252 | canvas.elementModel.shapeModel.strokeMaterial = strokeMaterial; | ||
253 | 247 | ||
254 | canvas.elementModel.shapeModel.strokeStyleIndex = strokeStyleIndex; | 248 | canvas.elementModel.shapeModel.strokeStyleIndex = strokeStyleIndex; |
255 | canvas.elementModel.shapeModel.strokeStyle = strokeStyle; | 249 | canvas.elementModel.shapeModel.strokeStyle = strokeStyle; |
256 | 250 | ||
257 | canvas.elementModel.shapeModel.GLGeomObj = line; | 251 | canvas.elementModel.shapeModel.GLGeomObj = line; |
258 | canvas.elementModel.shapeModel.useWebGl = this.options.use3D; | 252 | canvas.elementModel.shapeModel.useWebGl = this.options.use3D; |
253 | canvas.elementModel.shapeModel.slope = slope; | ||
259 | } | 254 | } |
260 | else | 255 | else |
261 | { | 256 | { |
diff --git a/js/tools/OvalTool.js b/js/tools/OvalTool.js index a10e0bb5..e8e88d1d 100755 --- a/js/tools/OvalTool.js +++ b/js/tools/OvalTool.js | |||
@@ -53,12 +53,14 @@ exports.OvalTool = Montage.create(ShapeTool, { | |||
53 | { | 53 | { |
54 | strokeMaterial = Object.create(MaterialsModel.getMaterial(strokeM)); | 54 | strokeMaterial = Object.create(MaterialsModel.getMaterial(strokeM)); |
55 | } | 55 | } |
56 | strokeColor = ShapesController.getMaterialColor(strokeM) || strokeColor; | ||
56 | 57 | ||
57 | var fillM = this.options.fillMaterial; | 58 | var fillM = this.options.fillMaterial; |
58 | if(fillM) | 59 | if(fillM) |
59 | { | 60 | { |
60 | fillMaterial = Object.create(MaterialsModel.getMaterial(fillM)); | 61 | fillMaterial = Object.create(MaterialsModel.getMaterial(fillM)); |
61 | } | 62 | } |
63 | fillColor = ShapesController.getMaterialColor(fillM) || fillColor; | ||
62 | } | 64 | } |
63 | 65 | ||
64 | var world = this.getGLWorld(canvas, this.options.use3D); | 66 | var world = this.getGLWorld(canvas, this.options.use3D); |
@@ -78,22 +80,9 @@ exports.OvalTool = Montage.create(ShapeTool, { | |||
78 | canvas.elementModel.selection = "Oval"; | 80 | canvas.elementModel.selection = "Oval"; |
79 | canvas.elementModel.pi = "OvalPi"; | 81 | canvas.elementModel.pi = "OvalPi"; |
80 | canvas.elementModel.shapeModel.strokeSize = this.options.strokeSize.value + " " + this.options.strokeSize.units; | 82 | canvas.elementModel.shapeModel.strokeSize = this.options.strokeSize.value + " " + this.options.strokeSize.units; |
81 | canvas.elementModel.shapeModel.stroke = strokeColor; | ||
82 | canvas.elementModel.shapeModel.fill = fillColor; | ||
83 | if(strokeColor) | ||
84 | { | ||
85 | canvas.elementModel.shapeModel.border = this.application.ninja.colorController.colorToolbar.stroke; | ||
86 | } | ||
87 | if(fillColor) | ||
88 | { | ||
89 | canvas.elementModel.shapeModel.background = this.application.ninja.colorController.colorToolbar.fill; | ||
90 | } | ||
91 | 83 | ||
92 | canvas.elementModel.shapeModel.innerRadius = this.options.innerRadius.value + " " + this.options.innerRadius.units; | 84 | canvas.elementModel.shapeModel.innerRadius = this.options.innerRadius.value + " " + this.options.innerRadius.units; |
93 | 85 | ||
94 | canvas.elementModel.shapeModel.strokeMaterial = strokeMaterial; | ||
95 | canvas.elementModel.shapeModel.fillMaterial = fillMaterial; | ||
96 | |||
97 | canvas.elementModel.shapeModel.strokeStyleIndex = strokeStyleIndex; | 86 | canvas.elementModel.shapeModel.strokeStyleIndex = strokeStyleIndex; |
98 | canvas.elementModel.shapeModel.strokeStyle = strokeStyle; | 87 | canvas.elementModel.shapeModel.strokeStyle = strokeStyle; |
99 | 88 | ||
diff --git a/js/tools/RectTool.js b/js/tools/RectTool.js index 957afea9..0c14a559 100755 --- a/js/tools/RectTool.js +++ b/js/tools/RectTool.js | |||
@@ -72,12 +72,14 @@ exports.RectTool = Montage.create(ShapeTool, { | |||
72 | { | 72 | { |
73 | strokeMaterial = Object.create(MaterialsModel.getMaterial(strokeM)); | 73 | strokeMaterial = Object.create(MaterialsModel.getMaterial(strokeM)); |
74 | } | 74 | } |
75 | strokeColor = ShapesController.getMaterialColor(strokeM) || strokeColor; | ||
75 | 76 | ||
76 | var fillM = this.options.fillMaterial; | 77 | var fillM = this.options.fillMaterial; |
77 | if(fillM) | 78 | if(fillM) |
78 | { | 79 | { |
79 | fillMaterial = Object.create(MaterialsModel.getMaterial(fillM)); | 80 | fillMaterial = Object.create(MaterialsModel.getMaterial(fillM)); |
80 | } | 81 | } |
82 | fillColor = ShapesController.getMaterialColor(fillM) || fillColor; | ||
81 | } | 83 | } |
82 | 84 | ||
83 | var world = this.getGLWorld(canvas, this.options.use3D); | 85 | var world = this.getGLWorld(canvas, this.options.use3D); |
@@ -98,25 +100,12 @@ exports.RectTool = Montage.create(ShapeTool, { | |||
98 | canvas.elementModel.selection = "Rectangle"; | 100 | canvas.elementModel.selection = "Rectangle"; |
99 | canvas.elementModel.pi = "RectanglePi"; | 101 | canvas.elementModel.pi = "RectanglePi"; |
100 | canvas.elementModel.shapeModel.strokeSize = this.options.strokeSize.value + " " + this.options.strokeSize.units; | 102 | canvas.elementModel.shapeModel.strokeSize = this.options.strokeSize.value + " " + this.options.strokeSize.units; |
101 | canvas.elementModel.shapeModel.stroke = strokeColor; | ||
102 | canvas.elementModel.shapeModel.fill = fillColor; | ||
103 | if(strokeColor) | ||
104 | { | ||
105 | canvas.elementModel.shapeModel.border = this.application.ninja.colorController.colorToolbar.stroke; | ||
106 | } | ||
107 | if(fillColor) | ||
108 | { | ||
109 | canvas.elementModel.shapeModel.background = this.application.ninja.colorController.colorToolbar.fill; | ||
110 | } | ||
111 | 103 | ||
112 | canvas.elementModel.shapeModel.tlRadius = this.options.TLRadiusControl.value + " " + this.options.TLRadiusControl.units; | 104 | canvas.elementModel.shapeModel.tlRadius = this.options.TLRadiusControl.value + " " + this.options.TLRadiusControl.units; |
113 | canvas.elementModel.shapeModel.trRadius = this.options.TRRadiusControl.value + " " + this.options.TRRadiusControl.units; | 105 |