aboutsummaryrefslogtreecommitdiff
path: root/js/models/color-model.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/models/color-model.js')
-rw-r--r--js/models/color-model.js43
1 files changed, 41 insertions, 2 deletions
diff --git a/js/models/color-model.js b/js/models/color-model.js
index 7e5fee1f..2c86422f 100644
--- 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 ////////////////////////////////////////////////////////////////////