Code

fix bbox calculation for groups that contain groups with nothing in them (zero bbox...
[inkscape.git] / src / display / nr-filter-component-transfer.h
index 9036a6644688aa01bcac37de5d74a644aa442748..ae08d6f290c60e55a8f13f3622731b1389694db8 100644 (file)
@@ -14,6 +14,7 @@
 
 #include "display/nr-filter-primitive.h"
 #include "display/nr-filter-slot.h"
+#include "display/nr-filter-units.h"
 #include <vector>
 
 namespace NR {
@@ -33,25 +34,16 @@ public:
     static FilterPrimitive *create();
     virtual ~FilterComponentTransfer();
 
-    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);
 
-    void set_type(FilterComponentTransferType t);    
-    void set_tableValues(std::vector<gdouble>& tv);
-    void set_slope(double s);
-    void set_intercept(double i);
-    void set_amplitude(double a);
-    void set_exponent(double e);
-    void set_offset(double o);
-
-private:
-    FilterComponentTransferType type;
-    std::vector<gdouble> tableValues;
-    double slope;
-    double intercept;
-    double amplitude;
-    double exponent;
-    double offset;
+    FilterComponentTransferType type[4];
+    std::vector<gdouble> tableValues[4];
+    double slope[4];
+    double intercept[4];
+    double amplitude[4];
+    double exponent[4];
+    double offset[4];
 };
 
 } /* namespace NR */