 		this.color = color;
 		this.alpha = alpha;
 	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
 	
 	//----------------------------------
     //  alpha

package mx.filters
{
	

import flash.filters.BitmapFilter;
import flash.filters.DisplacementMapFilterMode;
import flash.display.BitmapData;
import flash.geom.Point;
import mx.filters.BaseFilter;
import mx.filters.IBitmapFilter;

public class DisplacementMapFilter extends BaseFilter implements IBitmapFilter
{
	public function DisplacementMapFilter(mapBitmap:BitmapData = null, 
										  mapPoint:Point = null, componentX:uint = 0, 
										  componentY:uint = 0, scaleX:Number = 0.0, 
										  scaleY:Number = 0.0, mode:String = "wrap", 
										  color:uint = 0, alpha:Number = 0.0)
	{
		this.mapBitmap = mapBitmap;
		this.mapPoint = mapPoint;
		this.componentX = componentX;

			notifyFilterChanged();
		}
	}

	//--------------------------------------------------------------------------
	//
	//  Methods
	//
	//--------------------------------------------------------------------------
   	
   	/**
     * @private
     * Notify of a change to our filter, so that filter stack is ultimately 
     * re-applied by the framework.
     */ 
	private function notifyFilterChanged():void
	{
		dispatchEvent(new Event(Event.CHANGE));
	}

	//--------------------------------------------------------------------------
	//
	//  IFlexBitmapFilter 
	//
	//--------------------------------------------------------------------------
	
	/**
	 *  Creates a flash.filters.DisplacementMapFilter instance using the current 
	 *  property values. 
	 * 
	 *  @return flash.filters.DisplacementMapFilter instance
	 */	
	public function createBitmapFilter():BitmapFilter 
	{
		return new flash.filters.DisplacementMapFilter(mapBitmap, mapPoint, componentX, 
													   componentY, scaleX, scaleY, mode,
													   color, alpha);
	}
	
}
