1 /**
  2 * Shadow by Grant Skinner. Dec 5, 2010
  3 * Visit www.gskinner.com/blog for documentation, updates and more free code.
  4 *
  5 *
  6 * Copyright (c) 2010 Grant Skinner
  7 * 
  8 * Permission is hereby granted, free of charge, to any person
  9 * obtaining a copy of this software and associated documentation
 10 * files (the "Software"), to deal in the Software without
 11 * restriction, including without limitation the rights to use,
 12 * copy, modify, merge, publish, distribute, sublicense, and/or sell
 13 * copies of the Software, and to permit persons to whom the
 14 * Software is furnished to do so, subject to the following
 15 * conditions:
 16 * 
 17 * The above copyright notice and this permission notice shall be
 18 * included in all copies or substantial portions of the Software.
 19 * 
 20 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 21 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 22 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 23 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 24 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 25 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 26 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 27 * OTHER DEALINGS IN THE SOFTWARE.
 28 **/
 29 
 30 
 31 
 32 /**
 33 * Constructs a new Shadow object.
 34 * @param color The color of the shadow.
 35 * @param offsetX The x offset of the shadow.
 36 * @param offsetY The y offset of the shadow.
 37 * @param blur The blur of the shadow.
 38 * @class Encapsulates the properties required to define a shadow to apply to a DisplayObject via it's .shadow property.
 39 **/
 40 function Shadow(color, offsetX, offsetY, blur) {
 41   this.init(color, offsetX, offsetY, blur);
 42 this.prototype;
 43 	
 44 // static public properties:
 45 	/**
 46 	* An identity shadow object (all properties are set to 0). Read-only.
 47 	* @static
 48 	**/
 49 	Shadow.identity = null; // set at bottom of class definition.
 50 	
 51 // public properties:
 52 	/** The blur of the shadow. **/
 53 	this.blur = 0;
 54 	/** The color of the shadow. **/
 55 	this.color = 0;
 56 	/** The x offset of the shadow. **/
 57 	this.offsetX = 0;
 58 	/** The y offset of the shadow. **/
 59 	this.offsetY = 0;
 60 	
 61 // constructor:
 62 	/** @private **/
 63 	this.init = function(color, offsetX, offsetY, blur) {
 64 		this.color = color;
 65 		this.offsetX = offsetX;
 66 		this.offsetY = offsetY;
 67 		this.blur = blur;
 68 	}
 69 	
 70 // public methods:
 71 	/**
 72 	* Returns a string representation of this object.
 73 	**/
 74 	this.toString = function() {
 75 		return "[Shadow]";
 76 	}
 77 	
 78 	}
 79 	// this has to be populated after the class is defined:
 80 	Shadow.identity = new Shadow(0, 0, 0, 0);