From 068c4dc1cab00831bedddf1391e5508b0e2df7e8 Mon Sep 17 00:00:00 2001 From: Jonathan Puckey Date: Sat, 19 Feb 2011 17:10:26 +0100 Subject: [PATCH] Add missing Color.js. --- src/color/Color.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/color/Color.js diff --git a/src/color/Color.js b/src/color/Color.js new file mode 100644 index 00000000..bd9ca0df --- /dev/null +++ b/src/color/Color.js @@ -0,0 +1,42 @@ +Color = Base.extend({ + beans: true, + + /** + * A value between 0 and 1 that specifies the color's alpha value. + * All colors of the different subclasses support alpha values. + */ + getAlpha: function() { + return this._alpha; + }, + + setAlpha: function(alpha) { + if (this._alpha == null || alpha == -1) this._alpha = -1; + else if (this._alpha < 0) this._alpha = 0; + else if (alpha > 1) this._alpha = 1; + else this._alpha = alpha; + }, + + /** + * Checks if the color has an alpha value. + * + * @return {@true if the color has an alpha value} + */ + hasAlpha: function() { + return this._alpha != -1; + }, + + statics: { + read: function(args, index) { + var index = index || 0, length = args.length - index; + if (length == 1 && args[index] instanceof Color) { + return args[index]; + } else if (length != 0) { + var rgbColor = new RGBColor(); + rgbColor.initialize.apply(rgbColor, index > 0 + ? Array.prototype.slice.call(args, index) : args); + return rgbColor; + } + return null; + } + } +}); \ No newline at end of file