Code

Merge from trunk.
[inkscape.git] / src / filters / composite.h
1 #ifndef SP_FECOMPOSITE_H_SEEN
2 #define SP_FECOMPOSITE_H_SEEN
4 /** \file
5  * SVG <feComposite> implementation, see Composite.cpp.
6  */
7 /*
8  * Authors:
9  *   Hugo Rodrigues <haa.rodrigues@gmail.com>
10  *
11  * Copyright (C) 2006 Hugo Rodrigues
12  *
13  * Released under GNU GPL, read the file 'COPYING' for more information
14  */
16 #include "sp-filter.h"
17 #include "composite-fns.h"
19 enum FeCompositeOperator {
20     // Default value is 'over', but let's distinquish specifying the
21     // default and implicitely using the default
22     COMPOSITE_DEFAULT,
23     COMPOSITE_OVER,
24     COMPOSITE_IN,
25     COMPOSITE_OUT,
26     COMPOSITE_ATOP,
27     COMPOSITE_XOR,
28     COMPOSITE_ARITHMETIC,
29     COMPOSITE_ENDOPERATOR
30 };
32 /* FeComposite base class */
33 class SPFeCompositeClass;
35 struct SPFeComposite : public SPFilterPrimitive {
36     FeCompositeOperator composite_operator;
37     double k1, k2, k3, k4;
38     int in2;
39 };
41 struct SPFeCompositeClass {
42     SPFilterPrimitiveClass parent_class;
43 };
45 GType sp_feComposite_get_type();
48 #endif /* !SP_FECOMPOSITE_H_SEEN */
50 /*
51   Local Variables:
52   mode:c++
53   c-file-style:"stroustrup"
54   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
55   indent-tabs-mode:nil
56   fill-column:99
57   End:
58 */
59 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :