package starling.rendering {
import starling.textures.Texture;
/**
 *  An effect drawing a mesh of textured vertices.
 *  *  This is the standard effect that is the base for all fragment filters;
 *  *  if you want to create your own fragment filters, you will have to extend this class.
 *  *
 *  *  <p>For more information about the usage and creation of effects, please have a look at
 *  *  the documentation of the parent class, "Effect".</p>
 *  *
 *  *  @see Effect
 *  *  @see MeshEffect
 *  *  @see starling.filters.FragmentFilter
 *  
 * @externs
 */
public class FilterEffect extends starling.rendering.Effect {
	/**
	 *  Creates a new FilterEffect instance. 
	 */
	public function FilterEffect() {
		super();
	}
	/**
	 *  The vertex format expected by <code>uploadVertexData</code>:
	 *      *  <code>"position:float2, texCoords:float2"</code> 
	 */
	public static var VERTEX_FORMAT:starling.rendering.VertexDataFormat;
	/**
	 *  The AGAL code for the standard vertex shader that most filters will use.
	 *      *  It simply transforms the vertex coordinates to clip-space and passes the texture
	 *      *  coordinates to the fragment program (as 'v0'). 
	 */
	public static var STD_VERTEX_SHADER:String;
	/**
	 *  The texture to be mapped onto the vertices. 
	 */
	public function get texture():starling.textures.Texture { return null; }
	public function set texture(value:starling.textures.Texture):void {}
	/**
	 *  The smoothing filter that is used for the texture. @default bilinear 
	 */
	public function get textureSmoothing():String { return null; }
	public function set textureSmoothing(value:String):void {}
	/**
	 *  Indicates if pixels at the edges will be repeated or clamped.
	 *      *  Only works for power-of-two textures. @default false 
	 */
	public function get textureRepeat():Boolean { return false; }
	public function set textureRepeat(value:Boolean):void {}
}
}
