aboutsummaryrefslogtreecommitdiff
path: root/js/controllers/elements/shapes-controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/controllers/elements/shapes-controller.js')
-rwxr-xr-xjs/controllers/elements/shapes-controller.js34
1 files changed, 19 insertions, 15 deletions
diff --git a/js/controllers/elements/shapes-controller.js b/js/controllers/elements/shapes-controller.js
index 6dabff47..ad0f40a2 100755
--- a/js/controllers/elements/shapes-controller.js
+++ b/js/controllers/elements/shapes-controller.js
@@ -56,10 +56,11 @@ exports.ShapesController = Montage.create(CanvasController, {
56 { 56 {
57 // Changing stroke size should grow/shrink the shape from the center. 57 // Changing stroke size should grow/shrink the shape from the center.
58 var delta = ~~(val - el.elementModel.shapeModel.GLGeomObj.getStrokeWidth()), 58 var delta = ~~(val - el.elementModel.shapeModel.GLGeomObj.getStrokeWidth()),
59 l = this.application.ninja.elementMediator.getProperty(el, "left", parseInt), 59 ol = this.application.ninja.elementMediator.getProperty(el, "left", parseInt),
60 t = this.application.ninja.elementMediator.getProperty(el, "top", parseInt), 60 ot = this.application.ninja.elementMediator.getProperty(el, "top", parseInt),
61 w = this.application.ninja.elementMediator.getProperty(el, "width", parseInt), 61 ow = this.application.ninja.elementMediator.getProperty(el, "width", parseInt),
62 h = this.application.ninja.elementMediator.getProperty(el, "height", parseInt); 62 oh = this.application.ninja.elementMediator.getProperty(el, "height", parseInt),
63 l, t, w, h;
63 64
64 if(geomType === 3) 65 if(geomType === 3)
65 { 66 {
@@ -68,12 +69,12 @@ exports.ShapesController = Montage.create(CanvasController, {
68 if(slope === "horizontal") 69 if(slope === "horizontal")
69 { 70 {
70 h = Math.max(val, 1); 71 h = Math.max(val, 1);
71 t -= ~~(delta/2); 72 t = ot - ~~(delta/2);
72 } 73 }
73 else if(slope === "vertical") 74 else if(slope === "vertical")
74 { 75 {
75 w = Math.max(val, 1); 76 w = Math.max(val, 1);
76 l -= ~~(delta/2); 77 l = ol - ~~(delta/2);
77 } 78 }
78 else 79 else
79 { 80 {
@@ -85,10 +86,10 @@ exports.ShapesController = Montage.create(CanvasController, {
85 var dX = ~~(xAdj*2 - oldXAdj*2); 86 var dX = ~~(xAdj*2 - oldXAdj*2);
86 var dY = ~~(yAdj*2 - oldYAdj*2); 87 var dY = ~~(yAdj*2 - oldYAdj*2);
87 88
88 l -= dX; 89 l = ol - dX;
89 t -= dY; 90 t = ot - dY;
90 w += dX*2; 91 w = ow + dX*2;
91 h += dY*2; 92 h = oh + dY*2;
92 93
93 el.elementModel.shapeModel.GLGeomObj.setXAdj(xAdj); 94 el.elementModel.shapeModel.GLGeomObj.setXAdj(xAdj);
94 el.elementModel.shapeModel.GLGeomObj.setYAdj(yAdj); 95 el.elementModel.shapeModel.GLGeomObj.setYAdj(yAdj);
@@ -96,13 +97,16 @@ exports.ShapesController = Montage.create(CanvasController, {
96 } 97 }
97 else 98 else
98 { 99 {
99 l -= ~~(delta/2); 100 l = ol - ~~(delta/2);
100 t -= ~~(delta/2); 101 t = ot - ~~(delta/2);
101 w += delta; 102 w = ow + delta;
102 h += delta; 103 h = oh + delta;
103 } 104 }
104 105
105 this.application.ninja.elementMediator.setProperties([{element:el, properties:{left: l + "px", top: t + "px", width: w + "px", height:h + "px"}}], eventType, source); 106 this.application.ninja.elementMediator.setProperties([{element:el,
107 properties:{left: l + "px", top: t + "px", width: w + "px", height: h + "px"},
108 previousProperties:{left: ol + "px", top: ot + "px", width: ow + "px", height: oh + "px"}}],
109 eventType, source);
106 110
107 } 111 }
108 el.elementModel.shapeModel.GLGeomObj.setStrokeWidth(val); 112 el.elementModel.shapeModel.GLGeomObj.setStrokeWidth(val);