1 #ifndef __NR_FILTER_COMPOSITE_H__
2 #define __NR_FILTER_COMPOSITE_H__
4 /*
5 * feComposite filter effect renderer
6 *
7 * Authors:
8 * Niko Kiirala <niko@kiirala.com>
9 *
10 * Copyright (C) 2007 authors
11 *
12 * Released under GNU GPL, read the file 'COPYING' for more information
13 */
15 #include "sp-fecomposite.h"
16 #include "display/nr-filter-primitive.h"
17 #include "display/nr-filter-slot.h"
18 #include "libnr/nr-matrix.h"
20 namespace NR {
22 class FilterComposite : public FilterPrimitive {
23 public:
24 FilterComposite();
25 static FilterPrimitive *create();
26 virtual ~FilterComposite();
28 virtual int render(FilterSlot &slot, Matrix const &trans);
30 virtual void set_input(int input);
31 virtual void set_input(int input, int slot);
33 void set_operator(FeCompositeOperator op);
34 void set_arithmetic(double k1, double k2, double k3, double k4);
36 private:
37 FeCompositeOperator op;
38 double k1, k2, k3, k4;
39 int _input2;
40 };
42 } /* namespace NR */
44 #endif /* __NR_FILTER_COMPOSITE_H__ */
45 /*
46 Local Variables:
47 mode:c++
48 c-file-style:"stroustrup"
49 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
50 indent-tabs-mode:nil
51 fill-column:99
52 End:
53 */
54 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :