Code

Rename LPE: mirror reflect --> mirror symmetry
[inkscape.git] / src / display / nr-filter-colormatrix.h
index e87145c009dad4b0e2e13256408a003940373ccc..d62cb5c193cd9546ebe239ab7895fda5ab6c0716 100644 (file)
 
 #include "display/nr-filter-primitive.h"
 #include "display/nr-filter-slot.h"
+#include "display/nr-filter-units.h"
 #include<vector>
 
 namespace NR {
 
+enum FilterColorMatrixType {
+    COLORMATRIX_MATRIX,
+    COLORMATRIX_SATURATE,
+    COLORMATRIX_HUEROTATE,
+    COLORMATRIX_LUMINANCETOALPHA,
+    COLORMATRIX_ENDTYPE
+};
+
 class FilterColorMatrix : public FilterPrimitive {
 public:
     FilterColorMatrix();
     static FilterPrimitive *create();
     virtual ~FilterColorMatrix();
 
-    virtual int render(FilterSlot &slot, Matrix const &trans);
+    virtual int render(FilterSlot &slot, FilterUnits const &units);
     virtual void area_enlarge(NRRectL &area, Matrix const &trans);
-    virtual void set_type(int type);
+    virtual void set_type(FilterColorMatrixType type);
     virtual void set_value(gdouble value);
-    virtual void set_values(std::vector<gdouble> values);
+    virtual void set_values(std::vector<gdouble> &values);
 private:
     std::vector<gdouble> values;
     gdouble value;
-    int type;
+    FilterColorMatrixType type;
 };
 
 } /* namespace NR */