#

API Documentation for: NEXT
Show: Inherited Protected Private Deprecated

# Filter Class

Defined in: `Filter:41`
Module: EaselJS

Base class that all filters should inherit from. Filters need to be applied to objects that have been cached using the cache method. If an object changes, please cache it again, or use updateCache. Note that the filters must be applied before caching.

#### Example

     myInstance.filters = [
         new createjs.ColorFilter(0, 0, 0, 1, 255, 0, 0),
         new createjs.BlurFilter(5, 5, 10)
     ];
     myInstance.cache(0,0, 100, 100);

Note that each filter can implement a getBounds method, which returns the margins that need to be applied in order to fully display the filter. For example, the BlurFilter will cause an object to feather outwards, resulting in a margin around the shape.

#### EaselJS Filters

EaselJS comes with a number of pre-built filters:

- AlphaMapFilter : Map a greyscale image to the alpha channel of a display object
- AlphaMaskFilter: Map an image's alpha channel to the alpha channel of a display object
- BlurFilter: Apply vertical and horizontal blur to a display object
- ColorFilter: Color transform a display object
- ColorMatrixFilter: Transform an image using a ColorMatrix

## Constructor

### `Filter`

()

Defined in `Filter:41`

- Index
- Methods
- Properties

## Item Index

### Methods

- _applyFilter
- applyFilter
- clone
- getBounds
- shaderParamSetup
- toString

### Properties

- _multiPass
- FRAG_SHADER
- usesContext
- VTX_SHADER

## Methods

### `_applyFilter`

(

- `imageData`

)
Boolean

Defined in `_applyFilter:180`

#### Parameters:

- `imageData` ImageData

  Target ImageData instance.

#### Returns:

Boolean:

### `applyFilter`

(

- `ctx`
- `x`
- `y`
- `width`
- `height`
- `[targetCtx]`
- `[targetX]`
- `[targetY]`

)
Boolean

Defined in `applyFilter:131`

Applies the filter to the specified context.

#### Parameters:

- `ctx` CanvasRenderingContext2D

  The 2D context to use as the source.

- `x` Number

  The x position to use for the source rect.

- `y` Number

  The y position to use for the source rect.

- `width` Number

  The width to use for the source rect.

- `height` Number

  The height to use for the source rect.

- `[targetCtx]` CanvasRenderingContext2D optional

  The 2D context to draw the result to. Defaults to the context passed to ctx.

- `[targetX]` Number optional

  The x position to draw the result to. Defaults to the value passed to x.

- `[targetY]` Number optional

  The y position to draw the result to. Defaults to the value passed to y.

#### Returns:

Boolean:

If the filter was applied successfully.

### `clone`

() Filter

Defined in `clone:170`

Returns a clone of this Filter instance.

#### Returns:

Filter:

A clone of the current Filter instance.

### `getBounds`

(

- `[rect]`

)
Rectangle

Defined in `getBounds:111`

Provides padding values for this filter. That is, how much the filter will extend the visual bounds of an object it is applied to.

#### Parameters:

- `[rect]` Rectangle optional

  If specified, the provided Rectangle instance will be expanded by the padding amounts and returned.

#### Returns:

Rectangle:

If a `rect` param was provided, it is returned. If not, either a new rectangle with the padding values, or null if no padding is required for this filter.

### `shaderParamSetup`

(

- `gl`
- `stage`
- `shaderProgram`

)

Defined in `shaderParamSetup:121`

Assign any unique uniforms or other setup functionality here.

#### Parameters:

- `gl` WebGLContext

  The context associated with the stage performing the render.

- `stage` StageGL

  The stage instance that will be rendering.

- `shaderProgram` ShaderProgram

  The compiled shader that is going to be used to perform the render.

### `toString`

() String

Defined in `toString:161`

Returns a string representation of this object.

#### Returns:

String:

a string representation of the instance.

## Properties

### `_multiPass`

Filter private

Defined in `_multiPass:79`

Another filter that is required to act as part of this filter and created and managed under the hood.

Default: null

### `FRAG_SHADER`

String readonly

Defined in `FRAG_SHADER:98`

Pre-processed template shader code. It will be parsed before being fed in into the shader compiler. This should be based upon StageGL.SHADER_FRAGMENT_BODY_REGULAR

### `usesContext`

Boolean

Defined in `usesContext:71`

A flag stating that this filter uses a context draw mode and cannot be batched into imageData processing.

Default: false

### `VTX_SHADER`

String readonly

Defined in `VTX_SHADER:88`

Pre-processed template shader code. It will be parsed before being fed in into the shader compiler. This should be based upon StageGL.SHADER_VERTEX_BODY_REGULAR