diff options
Diffstat (limited to 'js/controllers/elements/shapes-controller.js')
-rw-r--r-- | js/controllers/elements/shapes-controller.js | 58 |
1 files changed, 50 insertions, 8 deletions
diff --git a/js/controllers/elements/shapes-controller.js b/js/controllers/elements/shapes-controller.js index d34644a7..5efbccd0 100644 --- a/js/controllers/elements/shapes-controller.js +++ b/js/controllers/elements/shapes-controller.js | |||
@@ -24,6 +24,26 @@ exports.ShapesController = Montage.create(CanvasController, { | |||
24 | el.elementModel.shapeModel.GLGeomObj.setInnerRadius(val/100); | 24 | el.elementModel.shapeModel.GLGeomObj.setInnerRadius(val/100); |
25 | el.elementModel.shapeModel.GLGeomObj.buildBuffers(); | 25 | el.elementModel.shapeModel.GLGeomObj.buildBuffers(); |
26 | break; | 26 | break; |
27 | case "tlRadius": | ||
28 | this.setShapeProperty(el, "tlRadius", value); | ||
29 | el.elementModel.shapeModel.GLGeomObj.setTLRadius(val); | ||
30 | el.elementModel.shapeModel.GLGeomObj.buildBuffers(); | ||
31 | break; | ||
32 | case "trRadius": | ||
33 | this.setShapeProperty(el, "trRadius", value); | ||
34 | el.elementModel.shapeModel.GLGeomObj.setTRRadius(val); | ||
35 | el.elementModel.shapeModel.GLGeomObj.buildBuffers(); | ||
36 | break; | ||
37 | case "blRadius": | ||
38 | this.setShapeProperty(el, "blRadius", value); | ||
39 | el.elementModel.shapeModel.GLGeomObj.setBLRadius(val); | ||
40 | el.elementModel.shapeModel.GLGeomObj.buildBuffers(); | ||
41 | break; | ||
42 | case "brRadius": | ||
43 | this.setShapeProperty(el, "brRadius", value); | ||
44 | el.elementModel.shapeModel.GLGeomObj.setBRRadius(val); | ||
45 | el.elementModel.shapeModel.GLGeomObj.buildBuffers(); | ||
46 | break; | ||
27 | case "width": | 47 | case "width": |
28 | el.elementModel.shapeModel.GLGeomObj.setWidth(val); | 48 | el.elementModel.shapeModel.GLGeomObj.setWidth(val); |
29 | CanvasController.setProperty(el, p, value); | 49 | CanvasController.setProperty(el, p, value); |
@@ -48,6 +68,14 @@ exports.ShapesController = Montage.create(CanvasController, { | |||
48 | switch(p) { | 68 | switch(p) { |
49 | case "strokeSize": | 69 | case "strokeSize": |
50 | case "innerRadius": | 70 | case "innerRadius": |
71 | case "tlRadius": | ||
72 | case "trRadius": | ||
73 | case "blRadius": | ||
74 | case "brRadius": | ||
75 | case "strokeMaterial": | ||
76 | case "fillMaterial": | ||
77 | case "border": | ||
78 | case "background": | ||
51 | return this.getShapeProperty(el, p); | 79 | return this.getShapeProperty(el, p); |
52 | default: | 80 | default: |
53 | return CanvasController.getProperty(el, p); | 81 | return CanvasController.getProperty(el, p); |
@@ -154,30 +182,44 @@ exports.ShapesController = Montage.create(CanvasController, { | |||
154 | // Routines to get/set color properties | 182 | // Routines to get/set color properties |
155 | getColor: { | 183 | getColor: { |
156 | value: function(el, isFill) { | 184 | value: function(el, isFill) { |
185 | var color, | ||
186 | css; | ||
157 | if(isFill) | 187 | if(isFill) |
158 | { | 188 | { |
159 | return this.getShapeProperty(el, "fill"); | 189 | if(el.elementModel.shapeModel.background) |
190 | { | ||
191 | return el.elementModel.shapeModel.background; | ||
192 | } | ||
193 | color = this.getShapeProperty(el, "fill"); | ||
160 | } | 194 | } |
161 | else | 195 | else |
162 | { | 196 | { |
163 | return this.getShapeProperty(el, "stroke"); | 197 | if(el.elementModel.shapeModel.border) |
198 | { | ||
199 | return el.elementModel.shapeModel.border; | ||
200 | } | ||
201 | color = this.getShapeProperty(el, "stroke"); | ||
164 | } | 202 | } |
203 | |||
204 | css = this.application.ninja.colorController.colorModel.webGlToCss(color); | ||
205 | return this.application.ninja.colorController.getColorObjFromCss(css); | ||
165 | } | 206 | } |
166 | }, | 207 | }, |
167 | 208 | ||
168 | setColor: { | 209 | setColor: { |
169 | value: function(el, color, isFill) { | 210 | value: function(el, color, isFill) { |
170 | // TODO - Format color for webGL before setting | 211 | var webGl = color.webGlColor || color.color.webGlColor; |
171 | color = color.webGlColor; | ||
172 | if(isFill) | 212 | if(isFill) |
173 | { | 213 | { |
174 | el.elementModel.shapeModel.GLGeomObj.setFillColor(color); | 214 | el.elementModel.shapeModel.GLGeomObj.setFillColor(webGl); |
175 | this.setShapeProperty(el, "fill", color); | 215 | this.setShapeProperty(el, "fill", webGl); |
216 | this.setShapeProperty(el, "background", color); | ||
176 | } | 217 | } |
177 | else | 218 | else |
178 | { | 219 | { |
179 | el.elementModel.shapeModel.GLGeomObj.setStrokeColor(color); | 220 | el.elementModel.shapeModel.GLGeomObj.setStrokeColor(webGl); |
180 | this.setShapeProperty(el, "stroke", color); | 221 | this.setShapeProperty(el, "stroke", webGl); |
222 | this.setShapeProperty(el, "border", color); | ||
181 | } | 223 | } |
182 | el.elementModel.shapeModel.GLWorld.render(); | 224 | el.elementModel.shapeModel.GLWorld.render(); |
183 | } | 225 | } |