diff options
author | hwc487 | 2012-04-19 13:01:43 -0700 |
---|---|---|
committer | hwc487 | 2012-04-19 13:01:43 -0700 |
commit | e6a20fe64574763483dc602bd759278ccf5e5e68 (patch) | |
tree | 69defe7200206f0257fe90697136fadef59d521e /js/models/color-model.js | |
parent | ae7eb87564632ce7c676bd728b8ff2710ff0bb83 (diff) | |
parent | 9284c19f076dec3b47ece7dc7bcd22d74e4246c3 (diff) | |
download | ninja-e6a20fe64574763483dc602bd759278ccf5e5e68.tar.gz |
Merge branch 'master' of github.com:Motorola-Mobility/ninja-internal into Textures
Conflicts:
js/lib/drawing/world.js
js/lib/geom/geom-obj.js
js/lib/rdge/materials/cloud-material.js
js/lib/rdge/materials/deform-material.js
js/lib/rdge/materials/flat-material.js
js/lib/rdge/materials/material.js
js/lib/rdge/materials/pulse-material.js
js/lib/rdge/materials/relief-tunnel-material.js
js/lib/rdge/materials/square-tunnel-material.js
js/lib/rdge/materials/star-material.js
js/lib/rdge/materials/taper-material.js
js/lib/rdge/materials/tunnel-material.js
js/lib/rdge/materials/twist-material.js
js/lib/rdge/materials/twist-vert-material.js
js/lib/rdge/materials/uber-material.js
js/lib/rdge/materials/water-material.js
js/lib/rdge/materials/z-invert-material.js
Diffstat (limited to 'js/models/color-model.js')
-rwxr-xr-x | js/models/color-model.js | 56 |
1 files changed, 46 insertions, 10 deletions
diff --git a/js/models/color-model.js b/js/models/color-model.js index 4189fbef..764feeb5 100755 --- a/js/models/color-model.js +++ b/js/models/color-model.js | |||
@@ -589,18 +589,54 @@ exports.ColorModel = Montage.create(Component, { | |||
589 | } | 589 | } |
590 | }, | 590 | }, |
591 | //////////////////////////////////////////////////////////////////// | 591 | //////////////////////////////////////////////////////////////////// |
592 | //Returns CSS string given a WebGL color array in [r, g, b, a] format where the values are [0,1] | 592 | //Returns a color object given a WebGL color array/object with gradient stops |
593 | webGlToCss: { | 593 | webGlToColor: { |
594 | enumerable: true, | 594 | enumerable: true, |
595 | value: function (color) { | 595 | value: function (c) { |
596 | if(color && (color.length === 4)) | 596 | if(c) { |
597 | { | 597 | if(c.gradientMode) { |
598 | return 'rgba(' + color[0]*255 + ', ' + color[1]*255 + ', ' + color[2]*255 + ', ' + color[3] +')'; | 598 | // Gradient |
599 | } | 599 | var i = 0, |
600 | else | 600 | len, |
601 | { | 601 | css, |
602 | return null; | 602 | stops = c.color, |
603 | gradient; | ||
604 | |||
605 | // Create the CSS string | ||
606 | if (c.gradientMode === 'radial') { | ||
607 | css = '-webkit-radial-gradient(center, ellipse cover'; | ||
608 | } else { | ||
609 | css = '-webkit-gradient(linear, left top, right top'; | ||
610 | } | ||
611 | |||
612 | //Sorting array (must be sorted for radial gradients, at least in Chrome | ||
613 | stops.sort(function(a,b){return a.position - b.position}); | ||
614 | //Looping through stops in gradient to create CSS | ||
615 | |||
616 | len = stops.length; | ||
617 | for (i=0; i < len; i++) { | ||
618 | //Adding to CSS String | ||
619 | if (c.gradientMode === 'radial' && stops[i].value) { | ||
620 | css += ', '+stops[i].value.css+' '+stops[i].position+'% '; | ||
621 | } else if (stops[i].value){ | ||
622 | css += ', color-stop('+stops[i].position+'%,'+stops[i].value.css+')'; | ||
623 | } | ||
624 | } | ||
625 | //Closing the CSS strings | ||
626 | css += ')'; | ||
627 | |||
628 | gradient = {stops: c.color, mode: c.gradientMode, gradientMode: c.gradientMode, css: css}; | ||
629 | return {mode: 'gradient', value: gradient, color: gradient}; | ||
630 | } else if(c.length === 4) { | ||
631 | // CSS | ||
632 | return this.application.ninja.colorController.getColorObjFromCss('rgba(' + c[0]*255 + ', ' | ||
633 | + c[1]*255 + ', ' | ||
634 | + c[2]*255 + ', ' | ||
635 | + c[3] +')'); | ||
636 | } | ||
603 | } | 637 | } |
638 | |||
639 | return null; | ||
604 | } | 640 | } |
605 | } | 641 | } |
606 | //////////////////////////////////////////////////////////////////// | 642 | //////////////////////////////////////////////////////////////////// |