Code

angled guidelines: create angled line when dragging from edge of rulers
[inkscape.git] / src / filter-enums.h
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-component-transfer.h"
18 #include "display/nr-filter-composite.h"
19 #include "display/nr-filter-convolve-matrix.h"
20 #include "display/nr-filter-morphology.h"
21 #include "display/nr-filter-turbulence.h"
22 #include "display/nr-filter-types.h"
23 #include "util/enums.h"
25 // Filter primitives
26 extern const Inkscape::Util::EnumData<NR::FilterPrimitiveType> FPData[NR::NR_FILTER_ENDPRIMITIVETYPE];
27 extern const Inkscape::Util::EnumDataConverter<NR::FilterPrimitiveType> FPConverter;
29 enum FilterPrimitiveInput {
30     FPINPUT_SOURCEGRAPHIC,
31     FPINPUT_SOURCEALPHA,
32     FPINPUT_BACKGROUNDIMAGE,
33     FPINPUT_BACKGROUNDALPHA,
34     FPINPUT_FILLPAINT,
35     FPINPUT_STROKEPAINT,
36     FPINPUT_END
37 };
39 extern const Inkscape::Util::EnumData<FilterPrimitiveInput> FPInputData[FPINPUT_END];
40 extern const Inkscape::Util::EnumDataConverter<FilterPrimitiveInput> FPInputConverter;
42 // Blend mode
43 extern const Inkscape::Util::EnumData<NR::FilterBlendMode> BlendModeData[NR::BLEND_ENDMODE];
44 extern const Inkscape::Util::EnumDataConverter<NR::FilterBlendMode> BlendModeConverter;
45 // ColorMatrix type
46 extern const Inkscape::Util::EnumData<NR::FilterColorMatrixType> ColorMatrixTypeData[NR::COLORMATRIX_ENDTYPE];
47 extern const Inkscape::Util::EnumDataConverter<NR::FilterColorMatrixType> ColorMatrixTypeConverter;
48 // ComponentTransfer type
49 extern const Inkscape::Util::EnumData<NR::FilterComponentTransferType> ComponentTransferTypeData[NR::COMPONENTTRANSFER_TYPE_ERROR];
50 extern const Inkscape::Util::EnumDataConverter<NR::FilterComponentTransferType> ComponentTransferTypeConverter;
51 // Composite operator
52 extern const Inkscape::Util::EnumData<FeCompositeOperator> CompositeOperatorData[COMPOSITE_ENDOPERATOR];
53 extern const Inkscape::Util::EnumDataConverter<FeCompositeOperator> CompositeOperatorConverter;
54 // ConvolveMatrix edgeMode
55 extern const Inkscape::Util::EnumData<NR::FilterConvolveMatrixEdgeMode> ConvolveMatrixEdgeModeData[NR::CONVOLVEMATRIX_EDGEMODE_ENDTYPE];
56 extern const Inkscape::Util::EnumDataConverter<NR::FilterConvolveMatrixEdgeMode> ConvolveMatrixEdgeModeConverter;
57 // DisplacementMap channel
58 extern const Inkscape::Util::EnumData<int> DisplacementMapChannelData[4];
59 extern const Inkscape::Util::EnumDataConverter<int> DisplacementMapChannelConverter;
60 // Morphology operator
61 extern const Inkscape::Util::EnumData<NR::FilterMorphologyOperator> MorphologyOperatorData[NR::MORPHOLOGY_OPERATOR_END];
62 extern const Inkscape::Util::EnumDataConverter<NR::FilterMorphologyOperator> MorphologyOperatorConverter;
63 // Turbulence type
64 extern const Inkscape::Util::EnumData<NR::FilterTurbulenceType> TurbulenceTypeData[NR::TURBULENCE_ENDTYPE];
65 extern const Inkscape::Util::EnumDataConverter<NR::FilterTurbulenceType> TurbulenceTypeConverter;
66 // Lighting
67 enum LightSource {
68     LIGHT_DISTANT,
69     LIGHT_POINT,
70     LIGHT_SPOT,
71     LIGHT_ENDSOURCE
72 };
73 extern const Inkscape::Util::EnumData<LightSource> LightSourceData[LIGHT_ENDSOURCE];
74 extern const Inkscape::Util::EnumDataConverter<LightSource> LightSourceConverter;
76 #endif
78 /*
79   Local Variables:
80   mode:c++
81   c-file-style:"stroustrup"
82   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
83   indent-tabs-mode:nil
84   fill-column:99
85   End:
86 */
87 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :