function ColorMatrixFilter(matrix) {
		this.Filter_constructor();

	// public properties:
		/**
		 * A 4x5 matrix describing the color operation to perform. See also the {{#crossLink "ColorMatrix"}}{{/crossLink}}
		 * @property matrix
		 * @type Array | ColorMatrix
		 **/
		this.matrix = matrix;

		this.FRAG_SHADER_BODY = (
			"uniform mat4 uColorMatrix;" +
			"uniform vec4 uColorMatrixOffset;" +

			"void main(void) {" +
				"vec4 color = texture2D(uSampler, vRenderCoord);" +

				"mat4 m = uColorMatrix;" +
				"vec4 newColor = vec4(0,0,0,0);" +
				"newColor.r = color.r*m[0][0] + color.g*m[0][1] + color.b*m[0][2] + color.a*m[0][3];" +
				"newColor.g = color.r*m[1][0] + color.g*m[1][1] + color.b*m[1][2] + color.a*m[1][3];" +
				"newColor.b = color.r*m[2][0] + color.g*m[2][1] + color.b*m[2][2] + color.a*m[2][3];" +
				"newColor.a = color.r*m[3][0] + color.g*m[3][1] + color.b*m[3][2] + color.a*m[3][3];" +

				"gl_FragColor = newColor + uColorMatrixOffset;" +
			"}"
		);
	}
Allows you to carry out complex color operations such as modifying saturation, brightness, or inverting. See the
{{#crossLink "ColorMatrix"}}{{/crossLink}} for more information on changing colors. For an easier color transform,
consider the {{#crossLink "ColorFilter"}}{{/crossLink}}.

<h4>Example</h4>
This example creates a red circle, inverts its hue, and then saturates it to brighten it up.

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

     var matrix = new createjs.ColorMatrix().adjustHue(180).adjustSaturation(100);
     shape.filters = [
         new createjs.ColorMatrixFilter(matrix)
     ];

     shape.cache(-50, -50, 100, 100);

See {{#crossLink "Filter"}}{{/crossLink}} for an more information on applying filters.
@class ColorMatrixFilter
@constructor
@extends Filter
@param {Array | ColorMatrix} matrix A 4x5 matrix describing the color operation to perform. See also the {{#crossLink "ColorMatrix"}}{{/crossLink}}
class.