diff options
Diffstat (limited to 'js/lib/geom/rectangle.js')
-rwxr-xr-x | js/lib/geom/rectangle.js | 57 |
1 files changed, 19 insertions, 38 deletions
diff --git a/js/lib/geom/rectangle.js b/js/lib/geom/rectangle.js index f1da4918..f3db92af 100755 --- a/js/lib/geom/rectangle.js +++ b/js/lib/geom/rectangle.js | |||
@@ -99,31 +99,13 @@ exports.Rectangle = Object.create(GeomObj, { | |||
99 | 99 | ||
100 | if(strokeMaterial) { | 100 | if(strokeMaterial) { |
101 | this._strokeMaterial = strokeMaterial.dup(); | 101 | this._strokeMaterial = strokeMaterial.dup(); |
102 | } else { | ||
103 | this._strokeMaterial = MaterialsModel.getMaterial( MaterialsModel.getDefaultMaterialName() ).dup(); | ||
104 | } | ||
105 | |||
106 | if(strokeColor) { | ||
107 | if(this._strokeMaterial.hasProperty("color")) { | ||
108 | this._strokeMaterial.setProperty( "color", this._strokeColor ); | ||
109 | } else if (this._strokeMaterial && (this._strokeMaterial.gradientType === this._strokeColor.gradientMode)) { | ||
110 | this._strokeMaterial.setGradientData(this._strokeColor.color); | ||
111 | } | ||
112 | } | 102 | } |
113 | 103 | ||
114 | if(fillMaterial) { | 104 | if(fillMaterial) { |
115 | this._fillMaterial = fillMaterial.dup(); | 105 | this._fillMaterial = fillMaterial.dup(); |
116 | } else { | ||
117 | this._fillMaterial = MaterialsModel.getMaterial( MaterialsModel.getDefaultMaterialName() ).dup(); | ||
118 | } | 106 | } |
119 | 107 | ||
120 | if(fillColor) { | 108 | this.initColors(); |
121 | if(this._fillMaterial.hasProperty("color")) { | ||
122 | this._fillMaterial.setProperty( "color", this._fillColor ); | ||
123 | } else if (this._fillMaterial && (this._fillMaterial.gradientType === this._fillColor.gradientMode)) { | ||
124 | this._fillMaterial.setGradientData(this._fillColor.color); | ||
125 | } | ||
126 | } | ||
127 | } | 109 | } |
128 | }, | 110 | }, |
129 | 111 | ||
@@ -303,8 +285,8 @@ exports.Rectangle = Object.create(GeomObj, { | |||
303 | 'brRadius' : this._brRadius, | 285 | 'brRadius' : this._brRadius, |
304 | 'innerRadius' : this._innerRadius, | 286 | 'innerRadius' : this._innerRadius, |
305 | 'strokeStyle' : this._strokeStyle, | 287 | 'strokeStyle' : this._strokeStyle, |
306 | 'strokeMat' : this._strokeMaterial ? this._strokeMaterial.getName() : MaterialsModel.getDefaultMaterialName(), | 288 | 'strokeMat' : this._strokeMaterial ? this._strokeMaterial.getName() : null, |
307 | 'fillMat' : this._fillMaterial ? this._fillMaterial.getName() : MaterialsModel.getDefaultMaterialName(), | 289 | 'fillMat' : this._fillMaterial ? this._fillMaterial.getName() : null, |
308 | 'materials' : this.exportMaterialsJSON() | 290 | 'materials' : this.exportMaterialsJSON() |
309 | }; | 291 | }; |
310 | 292 | ||
@@ -327,27 +309,26 @@ exports.Rectangle = Object.create(GeomObj, { | |||
327 | this._brRadius = jObj.brRadius; | 309 | this._brRadius = jObj.brRadius; |
328 | this._innerRadius = jObj.innerRadius; | 310 | this._innerRadius = jObj.innerRadius; |
329 | this._strokeStyle = jObj.strokeStyle; | 311 | this._strokeStyle = jObj.strokeStyle; |
330 | var strokeMaterialName = jObj.strokeMat; | ||
331 | var fillMaterialName = jObj.fillMat; | ||
332 | 312 | ||
333 | var strokeMat = MaterialsModel.getMaterial( strokeMaterialName ).dup(); | 313 | if(jObj.strokeMat) { |
334 | if (!strokeMat) { | 314 | var strokeMat = MaterialsModel.getMaterial(jObj.strokeMat).dup(); |
335 | console.log( "object material not found in library: " + strokeMaterialName ); | 315 | if (!strokeMat) { |
336 | strokeMat = MaterialsModel.getMaterial( MaterialsModel.getDefaultMaterialName() ).dup(); | 316 | console.log("object material not found in library: " + jObj.strokeMat); |
317 | } else { | ||
318 | this._strokeMaterial = strokeMat; | ||
319 | } | ||
337 | } | 320 | } |
338 | this._strokeMaterial = strokeMat; | 321 | |
339 | if (this._strokeMaterial.hasProperty( 'color' )) | 322 | if(jObj.fillMat) { |
340 | this._strokeMaterial.setProperty( 'color', this._strokeColor ); | 323 | var fillMat = MaterialsModel.getMaterial(jObj.fillMat).dup(); |
341 | 324 | if (!fillMat) { | |
342 | var fillMat = MaterialsModel.getMaterial( fillMaterialName ).dup(); | 325 | console.log("object material not found in library: " + jObj.fillMat); |
343 | if (!fillMat) { | 326 | } else { |
344 | console.log( "object material not found in library: " + fillMaterialName ); | 327 | this._fillMaterial = fillMat; |
345 | fillMat = MaterialsModel.getMaterial( MaterialsModel.getDefaultMaterialName() ).dup(); | 328 | } |
346 | } | 329 | } |
347 | this._fillMaterial = fillMat; | ||
348 | if (this._fillMaterial.hasProperty( 'color' )) | ||
349 | this._fillMaterial.setProperty( 'color', this._fillColor ); | ||
350 | 330 | ||
331 | this.initColors(); | ||
351 | this.importMaterialsJSON( jObj.materials ); | 332 | this.importMaterialsJSON( jObj.materials ); |
352 | } | 333 | } |
353 | }, | 334 | }, |