aboutsummaryrefslogtreecommitdiff
path: root/js/models
diff options
context:
space:
mode:
Diffstat (limited to 'js/models')
-rwxr-xr-xjs/models/color-model.js43
-rwxr-xr-xjs/models/element-model.js8
-rwxr-xr-xjs/models/shape-model.js5
3 files changed, 51 insertions, 5 deletions
diff --git a/js/models/color-model.js b/js/models/color-model.js
index 7e5fee1f..2c86422f 100755
--- a/js/models/color-model.js
+++ b/js/models/color-model.js
@@ -415,8 +415,10 @@ exports.ColorModel = Montage.create(Component, {
415 colorEvent.alpha = this.alpha.value; 415 colorEvent.alpha = this.alpha.value;
416 if (this.hsl) 416 if (this.hsl)
417 colorEvent.hsla = {h: this.hsl.h, s: this.hsl.s, l: this.hsl.l, a: this.alpha.value, css: 'hsla('+this.hsl.h+', '+this.hsl.s+'%, '+this.hsl.l+'%, '+this.alpha.value+')'}; 417 colorEvent.hsla = {h: this.hsl.h, s: this.hsl.s, l: this.hsl.l, a: this.alpha.value, css: 'hsla('+this.hsl.h+', '+this.hsl.s+'%, '+this.hsl.l+'%, '+this.alpha.value+')'};
418 if (this.rgb) 418 if (this.rgb) {
419 colorEvent.rgba = {r: this.rgb.r, g: this.rgb.g, b: this.rgb.b, a: this.alpha.value, css: 'rgba('+ this.rgb.r +', '+this.rgb.g+', '+this.rgb.b+', '+this.alpha.value+')'}; 419 colorEvent.rgba = {r: this.rgb.r, g: this.rgb.g, b: this.rgb.b, a: this.alpha.value, css: 'rgba('+ this.rgb.r +', '+this.rgb.g+', '+this.rgb.b+', '+this.alpha.value+')'};
420 colorEvent.webGlColor = [this.rgb.r/255, this.rgb.g/255, this.rgb.b/255, this.alpha.value];
421 }
420 if (this.hex) 422 if (this.hex)
421 colorEvent.hex = this.hex; 423 colorEvent.hex = this.hex;
422 //Standard values that apply to any event 424 //Standard values that apply to any event
@@ -560,7 +562,44 @@ exports.ColorModel = Montage.create(Component, {
560 //Returning RGB object 562 //Returning RGB object
561 return {r: Math.round(r * 255), g: Math.round(g * 255), b: Math.round(b * 255)}; 563 return {r: Math.round(r * 255), g: Math.round(g * 255), b: Math.round(b * 255)};
562 } 564 }
563 } 565 },
566 ////////////////////////////////////////////////////////////////////
567 //Returns WebGL color array in [r, g, b, a] format where the values are [0,1] given a color object
568 colorToWebGl: {
569 enumerable: true,
570 value: function (color) {
571 var temp;
572 if (color) {
573 if(color.l !== undefined) {
574 temp = this.hslToRgb(color.h/360, color.s/100, color.l/100);
575 } else if (color.r !== undefined) {
576 temp = color;
577 }
578 temp.a = color.a;
579 }
580 //WebGL uses array
581 if (temp) {
582 return [temp.r/255, temp.g/255, temp.b/255, temp.a];
583 } else {
584 return null;
585 }
586 }
587 },
588 ////////////////////////////////////////////////////////////////////
589 //Returns CSS string given a WebGL color array in [r, g, b, a] format where the values are [0,1]
590 webGlToCss: {
591 enumerable: true,
592 value: function (color) {
593 if(color && (color.length === 4))
594 {
595 return 'rgba(' + color[0]*255 + ', ' + color[1]*255 + ', ' + color[2]*255 + ', ' + color[3] +')';
596 }
597 else
598 {
599 return null;
600 }
601 }
602 }
564 //////////////////////////////////////////////////////////////////// 603 ////////////////////////////////////////////////////////////////////
565 //////////////////////////////////////////////////////////////////// 604 ////////////////////////////////////////////////////////////////////
566 //////////////////////////////////////////////////////////////////// 605 ////////////////////////////////////////////////////////////////////
diff --git a/js/models/element-model.js b/js/models/element-model.js
index 6e1ac07a..831e8b1e 100755
--- a/js/models/element-model.js
+++ b/js/models/element-model.js
@@ -37,6 +37,12 @@ exports.ElementModel = Montage.create(Montage, {
37 /** 37 /**
38 * SnapManager 2d Snap Cache Info 38 * SnapManager 2d Snap Cache Info
39 */ 39 */
40 isIn2DSnapCache : { value: false } 40 isIn2DSnapCache : { value: false },
41
42 /**
43 * Color info
44 */
45 fill: { value: null },
46 stroke: { value: null }
41 47
42}); \ No newline at end of file 48}); \ No newline at end of file
diff --git a/js/models/shape-model.js b/js/models/shape-model.js
index 9d4fff6f..58a88fd0 100755
--- a/js/models/shape-model.js
+++ b/js/models/shape-model.js
@@ -10,6 +10,7 @@ var Montage = require("montage/core/core").Montage,
10exports.ShapeModel = Montage.create(Component, { 10exports.ShapeModel = Montage.create(Component, {
11 11
12 shapeCount: { value: 0 }, 12 shapeCount: { value: 0 },
13 useWebGl: { value: false },
13 14
14 GLWorld: { value: null }, 15 GLWorld: { value: null },
15 GLGeomObj: { value: null }, 16 GLGeomObj: { value: null },
@@ -17,13 +18,13 @@ exports.ShapeModel = Montage.create(Component, {
17 strokeSize: { value: null }, 18 strokeSize: { value: null },
18 stroke: { value: null }, 19 stroke: { value: null },
19 strokeMaterial: { value: null }, 20 strokeMaterial: { value: null },
20 strokeMaterialIndex: { value: null },
21 strokeStyle: { value: null }, 21 strokeStyle: { value: null },
22 strokeStyleIndex: { value: null }, 22 strokeStyleIndex: { value: null },
23 border: { value: null }, // Store css value for ColorController
23 24
24 fill: { value: null }, 25 fill: { value: null },
25 fillMaterial: { value: null }, 26 fillMaterial: { value: null },
26 fillMaterialIndex: { value: null }, 27 background: { value: null }, // Store css value for ColorController
27 28
28 // Line-specific 29 // Line-specific
29 slope: { value: null }, 30 slope: { value: null },