## Phaser. Filter

#### new Filter(game, uniforms, fragmentSrc)

  This is a base Filter class to use for any Phaser filter development.

  The vast majority of filters (including all of those that ship with Phaser) use fragment shaders, and
  therefore only work in WebGL and are not supported by Canvas at all.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `game` | Phaser.Game | A reference to the currently running game.
  `uniforms` | object | Uniform mappings object
  `fragmentSrc` | Array | string | The fragment shader code. Either an array, one element per line of code, or a string.

  Source - core/Filter.js, line 19

### Members

#### dirty :boolean

  Internal PIXI var.

  Default Value:
    - true
  Source - core/Filter.js, line 50

#### fragmentSrc :array|string

  The fragment shader code.

  ##### Type:

  - array | string
  Source - core/Filter.js, line 98

#### game :Phaser.Game

  A reference to the currently running game.

  Source - core/Filter.js, line 24

#### height :number

  The height (resolution uniform)

  Source - core/Filter.js, line 233

#### padding :number

  Internal PIXI var.

  Source - core/Filter.js, line 56

#### prevPoint :Phaser.Point

  The previous position of the pointer (we don't update the uniform if the same)

  Source - core/Filter.js, line 61

#### type :number

  The const type of this object, either Phaser.WEBGL_FILTER or Phaser.CANVAS_FILTER.

  Source - core/Filter.js, line 30

#### uniforms :object

  Default uniform mappings. Compatible with ShaderToy and GLSLSandbox.

  Source - core/Filter.js, line 72

#### width :number

  The width (resolution uniform)

  Source - core/Filter.js, line 217

### Methods

#### addToWorld(x, y, width, height, anchorX, anchorY) → {Phaser.Image}

  Creates a new Phaser.Image object using a blank texture and assigns
  this Filter to it. The image is then added to the world.

  If you don't provide width and height values then Filter.width and Filter.height are used.

  If you do provide width and height values then this filter will be resized to match those
  values.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `x` | number | <optional> | 0 | The x coordinate to place the Image at.
  `y` | number | <optional> | 0 | The y coordinate to place the Image at.
  `width` | number | <optional> |  | The width of the Image. If not specified (or null) it will use Filter.width. If specified Filter.width will be set to this value.
  `height` | number | <optional> |  | The height of the Image. If not specified (or null) it will use Filter.height. If specified Filter.height will be set to this value.
  `anchorX` | number | <optional> | 0 | Set the x anchor point of the Image. A value between 0 and 1, where 0 is the top-left and 1 is bottom-right.
  `anchorY` | number | <optional> | 0 | Set the y anchor point of the Image. A value between 0 and 1, where 0 is the top-left and 1 is bottom-right.

  ##### Returns:

  Phaser.Image -

  The newly added Image object.

  Source - core/Filter.js, line 149

#### destroy()

  Clear down this Filter and null out references

  Source - core/Filter.js, line 203

#### init()

  Should be over-ridden.

  Source - core/Filter.js, line 104

#### setResolution(width, height)

  Set the resolution uniforms on the filter.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `width` | number | The width of the display.
  `height` | number | The height of the display.

  Source - core/Filter.js, line 112

#### update(pointer)

  Updates the filter.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `pointer` | Phaser.Pointer | <optional> | A Pointer object to use for the filter. The coordinates are mapped to the mouse uniform.

  Source - core/Filter.js, line 125