Code

Merge from fe-moved
[inkscape.git] / src / display / nr-filter-composite.h
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 "filters/composite.h"
16 #include "display/nr-filter-primitive.h"
17 #include "display/nr-filter-slot.h"
18 #include "display/nr-filter-units.h"
19 #include "libnr/nr-matrix.h"
21 namespace NR {
23 class FilterComposite : public FilterPrimitive {
24 public:
25     FilterComposite();
26     static FilterPrimitive *create();
27     virtual ~FilterComposite();
29     virtual int render(FilterSlot &slot, FilterUnits const &units);
31     virtual void set_input(int input);
32     virtual void set_input(int input, int slot);
34     void set_operator(FeCompositeOperator op);
35     void set_arithmetic(double k1, double k2, double k3, double k4);
37 private:
38     FeCompositeOperator op;
39     double k1, k2, k3, k4;
40     int _input2;
41 };
43 } /* namespace NR */
45 #endif /* __NR_FILTER_COMPOSITE_H__ */
46 /*
47   Local Variables:
48   mode:c++
49   c-file-style:"stroustrup"
50   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
51   indent-tabs-mode:nil
52   fill-column:99
53   End:
54 */
55 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :