index 4b5c6ada55a3e2b1232bffb0e1a0deaf136ac75f..bb15b77a3c200c8a2cd98c122de61716390ea28e 100644 (file)
* feDisplacementMap 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
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
+#include "filters/displacementmap.h"
#include "display/nr-filter-primitive.h"
#include "display/nr-filter-slot.h"
-#include "libnr/nr-matrix.h"
+#include "display/nr-filter-units.h"
#include "libnr/nr-rect-l.h"
-namespace NR {
+namespace Inkscape {
+namespace Filters {
class FilterDisplacementMap : public FilterPrimitive {
public:
virtual void set_input(int slot);
virtual void set_input(int input, int slot);
- virtual void set_scale(int s);
- virtual void set_channel_selector(int channel, int s);
- virtual int render(FilterSlot &slot, Matrix const &trans);
- virtual void area_enlarge(NRRectL &area, Matrix const &trans);
+ virtual void set_scale(double s);
+ virtual void set_channel_selector(int s, FilterDisplacementMapChannelSelector channel);
+ virtual int render(FilterSlot &slot, FilterUnits const &units);
+ virtual void area_enlarge(NRRectL &area, Geom::Matrix const &trans);
+ virtual FilterTraits get_input_traits();
private:
- int scale;
+ double scale;
int _input2;
- int Xchannel;
- int Ychannel;
+ FilterDisplacementMapChannelSelector Xchannel;
+ FilterDisplacementMapChannelSelector Ychannel;
};
-} /* namespace NR */
+} /* namespace Filters */
+} /* namespace Inkscape */
#endif /* __NR_FILTER_DISPLACEMENT_MAP_H__ */
/*