#ifndef FEColorMatrix_h
#define FEColorMatrix_h
#if ENABLE(FILTERS)
#include "FilterEffect.h"
#include "Filter.h"
#include <wtf/Vector.h>
namespace WebCore {
enum ColorMatrixType {
FECOLORMATRIX_TYPE_UNKNOWN = 0,
FECOLORMATRIX_TYPE_MATRIX = 1,
FECOLORMATRIX_TYPE_SATURATE = 2,
FECOLORMATRIX_TYPE_HUEROTATE = 3,
FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4
};
class FEColorMatrix : public FilterEffect {
public:
static PassRefPtr<FEColorMatrix> create(Filter*, ColorMatrixType, const Vector<float>&);
ColorMatrixType type() const;
bool setType(ColorMatrixType);
const Vector<float>& values() const;
bool setValues(const Vector<float>&);
virtual void platformApplySoftware();
#if USE(SKIA)
virtual bool platformApplySkia();
#endif
virtual void dump();
virtual TextStream& externalRepresentation(TextStream&, int indention) const;
private:
FEColorMatrix(Filter*, ColorMatrixType, const Vector<float>&);
ColorMatrixType m_type;
Vector<float> m_values;
};
}
#endif // ENABLE(FILTERS)
#endif // FEColorMatrix_h