1 #ifndef __SP_FILTER_ENUMS_H__
2 #define __SP_FILTER_ENUMS_H__
4 /*
5 * Conversion data for filter and filter primitive enumerations
6 *
7 * Authors:
8 * Nicholas Bishop
9 *
10 * Copyright (C) 2007 authors
11 *
12 * Released under GNU GPL, read the file 'COPYING' for more information
13 */
15 #include "display/nr-filter-blend.h"
16 #include "display/nr-filter-colormatrix.h"
17 #include "display/nr-filter-composite.h"
18 #include "display/nr-filter-types.h"
19 #include "util/enums.h"
21 // Filter primitives
22 extern const Inkscape::Util::EnumData<NR::FilterPrimitiveType> FPData[NR::NR_FILTER_ENDPRIMITIVETYPE];
23 extern const Inkscape::Util::EnumDataConverter<NR::FilterPrimitiveType> FPConverter;
25 enum FilterPrimitiveInput {
26 FPINPUT_SOURCEGRAPHIC,
27 FPINPUT_SOURCEALPHA,
28 FPINPUT_BACKGROUNDIMAGE,
29 FPINPUT_BACKGROUNDALPHA,
30 FPINPUT_FILLPAINT,
31 FPINPUT_STROKEPAINT,
32 FPINPUT_END
33 };
35 extern const Inkscape::Util::EnumData<FilterPrimitiveInput> FPInputData[FPINPUT_END];
36 extern const Inkscape::Util::EnumDataConverter<FilterPrimitiveInput> FPInputConverter;
38 // Blend mode
39 extern const Inkscape::Util::EnumData<NR::FilterBlendMode> BlendModeData[NR::BLEND_ENDMODE];
40 extern const Inkscape::Util::EnumDataConverter<NR::FilterBlendMode> BlendModeConverter;
41 // ColorMatrix type
42 extern const Inkscape::Util::EnumData<NR::FilterColorMatrixType> ColorMatrixTypeData[NR::COLORMATRIX_ENDTYPE];
43 extern const Inkscape::Util::EnumDataConverter<NR::FilterColorMatrixType> ColorMatrixTypeConverter;
44 // Composite operator
45 extern const Inkscape::Util::EnumData<FeCompositeOperator> CompositeOperatorData[COMPOSITE_ENDOPERATOR];
46 extern const Inkscape::Util::EnumDataConverter<FeCompositeOperator> CompositeOperatorConverter;
47 // Lighting
48 enum LightSource {
49 LIGHT_DISTANT,
50 LIGHT_POINT,
51 LIGHT_SPOT,
52 LIGHT_ENDSOURCE
53 };
54 extern const Inkscape::Util::EnumData<LightSource> LightSourceData[LIGHT_ENDSOURCE];
55 extern const Inkscape::Util::EnumDataConverter<LightSource> LightSourceConverter;
57 #endif
59 /*
60 Local Variables:
61 mode:c++
62 c-file-style:"stroustrup"
63 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
64 indent-tabs-mode:nil
65 fill-column:99
66 End:
67 */
68 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :