Code

Simplify code related to snapping while rotating
[inkscape.git] / src / display / nr-filter-morphology.h
index 5f89688d0cb2caaa65a310755e1acac53a99dea1..16ccad5e60ae4333e2136f0efc0a007d1f2e65f1 100644 (file)
@@ -5,7 +5,7 @@
  * feMorphology filter primitive renderer
  *
  * Authors:
- *   Felipe CorrĂȘa da Silva Sanches <felipe.sanches@gmail.com>
+ *   Felipe CorrĂȘa da Silva Sanches <juca@members.fsf.org>
  *
  * Copyright (C) 2007 authors
  *
 
 #include "display/nr-filter-primitive.h"
 #include "display/nr-filter-slot.h"
+#include "display/nr-filter-units.h"
 
-namespace NR {
+namespace Inkscape {
+namespace Filters {
+
+enum FilterMorphologyOperator {
+    MORPHOLOGY_OPERATOR_ERODE,
+    MORPHOLOGY_OPERATOR_DILATE,
+    MORPHOLOGY_OPERATOR_END
+};
 
 class FilterMorphology : public FilterPrimitive {
 public:
@@ -23,11 +31,21 @@ public:
     static FilterPrimitive *create();
     virtual ~FilterMorphology();
 
-    virtual int render(FilterSlot &slot, Matrix const &trans);
-    virtual void area_enlarge(NRRectL &area, Matrix const &trans);
+    virtual int render(FilterSlot &slot, FilterUnits const &units);
+    virtual void area_enlarge(NRRectL &area, Geom::Matrix const &trans);
+    virtual FilterTraits get_input_traits();
+    void set_operator(FilterMorphologyOperator &o);
+    void set_xradius(double x);
+    void set_yradius(double y);
+
+private:
+    FilterMorphologyOperator Operator;
+    double xradius;
+    double yradius;
 };
 
-} /* namespace NR */
+} /* namespace Filters */
+} /* namespace Inkscape */
 
 #endif /* __NR_FILTER_MORPHOLOGY_H__ */
 /*