function BlurFilter( blurX, blurY, quality) {
		this.Filter_constructor();

		// public properties:
		/**
		 * Horizontal blur radius in pixels
		 * @property blurX
		 * @default 0
		 * @type Number
		 **/
		this._blurX = blurX;
		this._blurXTable = [];
		this._lastBlurX = null;

		/**
		 * Vertical blur radius in pixels
		 * @property blurY
		 * @default 0
		 * @type Number
		 **/
		this._blurY = blurY;
		this._blurYTable = [];
		this._lastBlurY = null;

		/**
		 * Number of blur iterations. For example, a value of 1 will produce a rough blur. A value of 2 will produce a
		 * smoother blur, but take twice as long to run.
		 * @property quality
		 * @default 1
		 * @type Number
		 **/
		this._quality;
		this._lastQuality = null;

		// This is a template to generate the shader for BlurFilter.FRAG_SHADER_BODY.
		this.FRAG_SHADER_TEMPLATE = (
			"uniform float xWeight[{{blurX}}];" +
			"uniform float yWeight[{{blurY}}];" +
			"uniform vec2 textureOffset;" +
			"void main(void) {" +
				"vec4 color = vec4(0.0);" +

				"float xAdj = ({{blurX}}.0-1.0)/2.0;" +
				"float yAdj = ({{blurY}}.0-1.0)/2.0;" +
				"vec2 sampleOffset;" +

				"for(int i=0; i<{{blurX}}; i++) {" +
					"for(int j=0; j<{{blurY}}; j++) {" +
						"sampleOffset = vTextureCoord + (textureOffset * vec2(float(i)-xAdj, float(j)-yAdj));" +
						"color += texture2D(uSampler, sampleOffset) * (xWeight[i] * yWeight[j]);" +
					"}" +
				"}" +

				"gl_FragColor = color.rgba;" +
			"}"
		);

		// update the filter using the setters
		if(isNaN(quality) || quality < 1){ quality = 1; }
		this.setQuality(quality|0);
	}
Applies a box blur to DisplayObjects in context 2D and a Gaussian blur in webgl. Note that this filter is fairly
intensive, particularly if the quality is set higher than 1.

<h4>Example</h4>
This example creates a red circle, and then applies a 5 pixel blur to it. It uses the {{#crossLink "Filter/getBounds"}}{{/crossLink}}
method to account for the spread that the blur causes.

     var shape = new createjs.Shape().set({x:100,y:100});
     shape.graphics.beginFill("#ff0000").drawCircle(0,0,50);

     var blurFilter = new createjs.BlurFilter(5, 5, 1);
     shape.filters = [blurFilter];
     var bounds = blurFilter.getBounds();

     shape.cache(-50+bounds.x, -50+bounds.y, 100+bounds.width, 100+bounds.height);

See {{#crossLink "Filter"}}{{/crossLink}} for an more information on applying filters.
@class BlurFilter
@extends Filter
@constructor
@param {Number} [blurX=0] The horizontal blur radius in pixels.
@param {Number} [blurY=0] The vertical blur radius in pixels.
@param {Number} [quality=1] The number of blur iterations.