index 5f89688d0cb2caaa65a310755e1acac53a99dea1..c930c5e0a5648fde1ecbb6d04f1f30e5843deac3 100644 (file)
#include "display/nr-filter-primitive.h"
#include "display/nr-filter-slot.h"
+#include "display/nr-filter-units.h"
namespace NR {
+enum FilterMorphologyOperator {
+ MORPHOLOGY_OPERATOR_ERODE,
+ MORPHOLOGY_OPERATOR_DILATE,
+ MORPHOLOGY_OPERATOR_END
+};
+
class FilterMorphology : public FilterPrimitive {
public:
FilterMorphology();
static FilterPrimitive *create();
virtual ~FilterMorphology();
- 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 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 */