/**
 * VERSION: 2.0
 * DATE: 8/1/2009
 * AS3
 * UPDATES AND DOCUMENTATION AT: http://www.TweenLite.com
 **/
package com.greensock.data {
	import com.greensock.data.VarsCore;
/**
 * This class works in conjunction with the TweenLiteVars or TweenMaxVars class to grant 
 * strict data typing and code hinting (in most code editors). See the documentation in
 * the TweenLiteVars or TweenMaxVars for more information.
 * 
 * <b>Copyright 2009, GreenSock. All rights reserved.</b> This work is subject to the terms in <a href="http://www.greensock.com/terms_of_use.html">http://www.greensock.com/terms_of_use.html</a> or for corporate Club GreenSock members, the software agreement that was issued with the corporate membership.
 * 
 * @author Jack Doyle, jack@greensock.com
 */	 
	dynamic public class FilterVars extends VarsCore {
		
		public function FilterVars(remove:Boolean=false, index:int=-1, addFilter:Boolean=false) {
			super();
			this.remove = remove;
			if (index > -1) {
				this.index = index;
			}
			this.addFilter = addFilter;
		}
		
//---- GETTERS / SETTERS -----------------------------------------------------------------------------------------
			
		/** To remove the filter after the tween has completed, set remove to true. **/
		public function get remove():Boolean {
			return Boolean(_values.remove);
		}
		public function set remove(value:Boolean):void {
			setProp("remove", value);
		}
		
		/** To force TweenLite/Max to create a new filter even if there's a filter of the same kind already applied to a DisplayObject, set addFilter to true. **/
		public function get addFilter():Boolean {
			return Boolean(_values.addFilter);
		}
		public function set addFilter(value:Boolean):void {
			setProp("addFilter", value);
		}
		
		/** To define a particular index number in the target DisplayObject's filters Array for this filter, use index property. **/
		public function get index():int {
			return int(_values.index);
		}
		public function set index(value:int):void {
			setProp("index", value);
		}
		

	}
}