aboutsummaryrefslogtreecommitdiff
path: root/includes/js/dojo/_base/Color.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/js/dojo/_base/Color.js')
-rw-r--r--includes/js/dojo/_base/Color.js156
1 files changed, 0 insertions, 156 deletions
diff --git a/includes/js/dojo/_base/Color.js b/includes/js/dojo/_base/Color.js
deleted file mode 100644
index 38d0584..0000000
--- a/includes/js/dojo/_base/Color.js
+++ /dev/null
@@ -1,156 +0,0 @@
-if(!dojo._hasResource["dojo._base.Color"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojo._base.Color"] = true;
-dojo.provide("dojo._base.Color");
-dojo.require("dojo._base.array");
-dojo.require("dojo._base.lang");
-
-dojo.Color = function(/*Array|String|Object*/ color){
- // summary:
- // takes a named string, hex string, array of rgb or rgba values,
- // an object with r, g, b, and a properties, or another dojo.Color object
- if(color){ this.setColor(color); }
-};
-
-// FIXME: there's got to be a more space-efficient way to encode or discover these!! Use hex?
-dojo.Color.named = {
- black: [0,0,0],
- silver: [192,192,192],
- gray: [128,128,128],
- white: [255,255,255],
- maroon: [128,0,0],
- red: [255,0,0],
- purple: [128,0,128],
- fuchsia: [255,0,255],
- green: [0,128,0],
- lime: [0,255,0],
- olive: [128,128,0],
- yellow: [255,255,0],
- navy: [0,0,128],
- blue: [0,0,255],
- teal: [0,128,128],
- aqua: [0,255,255]
-};
-
-
-dojo.extend(dojo.Color, {
- r: 255, g: 255, b: 255, a: 1,
- _set: function(r, g, b, a){
- var t = this; t.r = r; t.g = g; t.b = b; t.a = a;
- },
- setColor: function(/*Array|String|Object*/ color){
- // summary:
- // takes a named string, hex string, array of rgb or rgba values,
- // an object with r, g, b, and a properties, or another dojo.Color object
- var d = dojo;
- if(d.isString(color)){
- d.colorFromString(color, this);
- }else if(d.isArray(color)){
- d.colorFromArray(color, this);
- }else{
- this._set(color.r, color.g, color.b, color.a);
- if(!(color instanceof d.Color)){ this.sanitize(); }
- }
- return this; // dojo.Color
- },
- sanitize: function(){
- // summary:
- // makes sure that the object has correct attributes
- // description:
- // the default implementation does nothing, include dojo.colors to
- // augment it to real checks
- return this; // dojo.Color
- },
- toRgb: function(){
- // summary: returns 3 component array of rgb values
- var t = this;
- return [t.r, t.g, t.b]; // Array
- },
- toRgba: function(){
- // summary: returns a 4 component array of rgba values
- var t = this;
- return [t.r, t.g, t.b, t.a]; // Array
- },
- toHex: function(){
- // summary: returns a css color string in hexadecimal representation
- var arr = dojo.map(["r", "g", "b"], function(x){
- var s = this[x].toString(16);
- return s.length < 2 ? "0" + s : s;
- }, this);
- return "#" + arr.join(""); // String
- },
- toCss: function(/*Boolean?*/ includeAlpha){
- // summary: returns a css color string in rgb(a) representation
- var t = this, rgb = t.r + ", " + t.g + ", " + t.b;
- return (includeAlpha ? "rgba(" + rgb + ", " + t.a : "rgb(" + rgb) + ")"; // String
- },
- toString: function(){
- // summary: returns a visual representation of the color
- return this.toCss(true); // String
- }
-});
-
-dojo.blendColors = function(
- /*dojo.Color*/ start,
- /*dojo.Color*/ end,
- /*Number*/ weight,
- /*dojo.Color?*/ obj
-){
- // summary:
- // blend colors end and start with weight from 0 to 1, 0.5 being a 50/50 blend,
- // can reuse a previously allocated dojo.Color object for the result
- var d = dojo, t = obj || new dojo.Color();
- d.forEach(["r", "g", "b", "a"], function(x){
- t[x] = start[x] + (end[x] - start[x]) * weight;
- if(x != "a"){ t[x] = Math.round(t[x]); }
- });
- return t.sanitize(); // dojo.Color
-};
-
-dojo.colorFromRgb = function(/*String*/ color, /*dojo.Color?*/ obj){
- // summary: get rgb(a) array from css-style color declarations
- var m = color.toLowerCase().match(/^rgba?\(([\s\.,0-9]+)\)/);
- return m && dojo.colorFromArray(m[1].split(/\s*,\s*/), obj); // dojo.Color
-};
-
-dojo.colorFromHex = function(/*String*/ color, /*dojo.Color?*/ obj){
- // summary: converts a hex string with a '#' prefix to a color object.
- // Supports 12-bit #rgb shorthand.
- var d = dojo, t = obj || new d.Color(),
- bits = (color.length == 4) ? 4 : 8,
- mask = (1 << bits) - 1;
- color = Number("0x" + color.substr(1));
- if(isNaN(color)){
- return null; // dojo.Color
- }
- d.forEach(["b", "g", "r"], function(x){
- var c = color & mask;
- color >>= bits;
- t[x] = bits == 4 ? 17 * c : c;
- });
- t.a = 1;
- return t; // dojo.Color
-};
-
-dojo.colorFromArray = function(/*Array*/ a, /*dojo.Color?*/ obj){
- // summary: builds a color from 1, 2, 3, or 4 element array
- var t = obj || new dojo.Color();
- t._set(Number(a[0]), Number(a[1]), Number(a[2]), Number(a[3]));
- if(isNaN(t.a)){ t.a = 1; }
- return t.sanitize(); // dojo.Color
-};
-
-dojo.colorFromString = function(/*String*/ str, /*dojo.Color?*/ obj){
- // summary:
- // parses str for a color value.
- // description:
- // Acceptable input values for str may include arrays of any form
- // accepted by dojo.colorFromArray, hex strings such as "#aaaaaa", or
- // rgb or rgba strings such as "rgb(133, 200, 16)" or "rgba(10, 10,
- // 10, 50)"
- // returns:
- // a dojo.Color object. If obj is passed, it will be the return value.
- var a = dojo.Color.named[str];
- return a && dojo.colorFromArray(a, obj) || dojo.colorFromRgb(str, obj) || dojo.colorFromHex(str, obj);
-};
-
-}