1 /*
2 * Conversion data for filter and filter primitive enumerations
3 *
4 * Authors:
5 * Nicholas Bishop
6 *
7 * Copyright (C) 2007 authors
8 *
9 * Released under GNU GPL, read the file 'COPYING' for more information
10 */
12 #include <glibmm/i18n.h>
14 #include "filter-enums.h"
16 using Inkscape::Util::EnumData;
17 using Inkscape::Util::EnumDataConverter;
19 const EnumData<Inkscape::Filters::FilterPrimitiveType> FPData[Inkscape::Filters::NR_FILTER_ENDPRIMITIVETYPE] = {
20 {Inkscape::Filters::NR_FILTER_BLEND, _("Blend"), "svg:feBlend"},
21 {Inkscape::Filters::NR_FILTER_COLORMATRIX, _("Color Matrix"), "svg:feColorMatrix"},
22 {Inkscape::Filters::NR_FILTER_COMPONENTTRANSFER, _("Component Transfer"), "svg:feComponentTransfer"},
23 {Inkscape::Filters::NR_FILTER_COMPOSITE, _("Composite"), "svg:feComposite"},
24 {Inkscape::Filters::NR_FILTER_CONVOLVEMATRIX, _("Convolve Matrix"), "svg:feConvolveMatrix"},
25 {Inkscape::Filters::NR_FILTER_DIFFUSELIGHTING, _("Diffuse Lighting"), "svg:feDiffuseLighting"},
26 {Inkscape::Filters::NR_FILTER_DISPLACEMENTMAP, _("Displacement Map"), "svg:feDisplacementMap"},
27 {Inkscape::Filters::NR_FILTER_FLOOD, _("Flood"), "svg:feFlood"},
28 {Inkscape::Filters::NR_FILTER_GAUSSIANBLUR, _("Gaussian Blur"), "svg:feGaussianBlur"},
29 {Inkscape::Filters::NR_FILTER_IMAGE, _("Image"), "svg:feImage"},
30 {Inkscape::Filters::NR_FILTER_MERGE, _("Merge"), "svg:feMerge"},
31 {Inkscape::Filters::NR_FILTER_MORPHOLOGY, _("Morphology"), "svg:feMorphology"},
32 {Inkscape::Filters::NR_FILTER_OFFSET, _("Offset"), "svg:feOffset"},
33 {Inkscape::Filters::NR_FILTER_SPECULARLIGHTING, _("Specular Lighting"), "svg:feSpecularLighting"},
34 {Inkscape::Filters::NR_FILTER_TILE, _("Tile"), "svg:feTile"},
35 {Inkscape::Filters::NR_FILTER_TURBULENCE, _("Turbulence"), "svg:feTurbulence"}
36 };
37 const EnumDataConverter<Inkscape::Filters::FilterPrimitiveType> FPConverter(FPData, Inkscape::Filters::NR_FILTER_ENDPRIMITIVETYPE);
39 const EnumData<FilterPrimitiveInput> FPInputData[FPINPUT_END] = {
40 {FPINPUT_SOURCEGRAPHIC, _("Source Graphic"), "SourceGraphic"},
41 {FPINPUT_SOURCEALPHA, _("Source Alpha"), "SourceAlpha"},
42 {FPINPUT_BACKGROUNDIMAGE, _("Background Image"), "BackgroundImage"},
43 {FPINPUT_BACKGROUNDALPHA, _("Background Alpha"), "BackgroundAlpha"},
44 {FPINPUT_FILLPAINT, _("Fill Paint"), "FillPaint"},
45 {FPINPUT_STROKEPAINT, _("Stroke Paint"), "StrokePaint"},
46 };
47 const EnumDataConverter<FilterPrimitiveInput> FPInputConverter(FPInputData, FPINPUT_END);
49 // feBlend
50 const EnumData<Inkscape::Filters::FilterBlendMode> BlendModeData[Inkscape::Filters::BLEND_ENDMODE] = {
51 //TRANSLATORS: only translate "string" in "context|string".
52 // For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS
53 {Inkscape::Filters::BLEND_NORMAL, Q_("filterBlendMode|Normal"), "normal"},
54 {Inkscape::Filters::BLEND_MULTIPLY, _("Multiply"), "multiply"},
55 {Inkscape::Filters::BLEND_SCREEN, _("Screen"), "screen"},
56 {Inkscape::Filters::BLEND_DARKEN, _("Darken"), "darken"},
57 {Inkscape::Filters::BLEND_LIGHTEN, _("Lighten"), "lighten"}
58 };
59 const EnumDataConverter<Inkscape::Filters::FilterBlendMode> BlendModeConverter(BlendModeData, Inkscape::Filters::BLEND_ENDMODE);
62 const EnumData<Inkscape::Filters::FilterColorMatrixType> ColorMatrixTypeData[Inkscape::Filters::COLORMATRIX_ENDTYPE] = {
63 {Inkscape::Filters::COLORMATRIX_MATRIX, _("Matrix"), "matrix"},
64 {Inkscape::Filters::COLORMATRIX_SATURATE, _("Saturate"), "saturate"},
65 {Inkscape::Filters::COLORMATRIX_HUEROTATE, _("Hue Rotate"), "hueRotate"},
66 {Inkscape::Filters::COLORMATRIX_LUMINANCETOALPHA, _("Luminance to Alpha"), "luminanceToAlpha"}
67 };
68 const EnumDataConverter<Inkscape::Filters::FilterColorMatrixType> ColorMatrixTypeConverter(ColorMatrixTypeData, Inkscape::Filters::COLORMATRIX_ENDTYPE);
70 // feComposite
71 const EnumData<FeCompositeOperator> CompositeOperatorData[COMPOSITE_ENDOPERATOR] = {
72 {COMPOSITE_DEFAULT, _("Default"), ""},
73 {COMPOSITE_OVER, _("Over"), "over"},
74 {COMPOSITE_IN, _("In"), "in"},
75 {COMPOSITE_OUT, _("Out"), "out"},
76 {COMPOSITE_ATOP, _("Atop"), "atop"},
77 {COMPOSITE_XOR, _("XOR"), "xor"},
78 {COMPOSITE_ARITHMETIC, _("Arithmetic"), "arithmetic"}
79 };
80 const EnumDataConverter<FeCompositeOperator> CompositeOperatorConverter(CompositeOperatorData, COMPOSITE_ENDOPERATOR);
82 // feComponentTransfer
83 const EnumData<Inkscape::Filters::FilterComponentTransferType> ComponentTransferTypeData[Inkscape::Filters::COMPONENTTRANSFER_TYPE_ERROR] = {
84 {Inkscape::Filters::COMPONENTTRANSFER_TYPE_IDENTITY, _("Identity"), "identity"},
85 {Inkscape::Filters::COMPONENTTRANSFER_TYPE_TABLE, _("Table"), "table"},
86 {Inkscape::Filters::COMPONENTTRANSFER_TYPE_DISCRETE, _("Discrete"), "discrete"},
87 {Inkscape::Filters::COMPONENTTRANSFER_TYPE_LINEAR, _("Linear"), "linear"},
88 {Inkscape::Filters::COMPONENTTRANSFER_TYPE_GAMMA, _("Gamma"), "gamma"},
89 };
90 const EnumDataConverter<Inkscape::Filters::FilterComponentTransferType> ComponentTransferTypeConverter(ComponentTransferTypeData, Inkscape::Filters::COMPONENTTRANSFER_TYPE_ERROR);
92 // feConvolveMatrix
93 const EnumData<Inkscape::Filters::FilterConvolveMatrixEdgeMode> ConvolveMatrixEdgeModeData[Inkscape::Filters::CONVOLVEMATRIX_EDGEMODE_ENDTYPE] = {
94 {Inkscape::Filters::CONVOLVEMATRIX_EDGEMODE_DUPLICATE, _("Duplicate"), "duplicate"},
95 {Inkscape::Filters::CONVOLVEMATRIX_EDGEMODE_WRAP, _("Wrap"), "wrap"},
96 {Inkscape::Filters::CONVOLVEMATRIX_EDGEMODE_NONE, _("None"), "none"}
97 };
98 const EnumDataConverter<Inkscape::Filters::FilterConvolveMatrixEdgeMode> ConvolveMatrixEdgeModeConverter(ConvolveMatrixEdgeModeData, Inkscape::Filters::CONVOLVEMATRIX_EDGEMODE_ENDTYPE);
100 // feDisplacementMap
101 const EnumData<FilterDisplacementMapChannelSelector> DisplacementMapChannelData[DISPLACEMENTMAP_CHANNEL_ENDTYPE] = {
102 {DISPLACEMENTMAP_CHANNEL_RED, _("Red"), "R"},
103 {DISPLACEMENTMAP_CHANNEL_GREEN, _("Green"), "G"},
104 {DISPLACEMENTMAP_CHANNEL_BLUE, _("Blue"), "B"},
105 {DISPLACEMENTMAP_CHANNEL_ALPHA, _("Alpha"), "A"}
106 };
107 const EnumDataConverter<FilterDisplacementMapChannelSelector> DisplacementMapChannelConverter(DisplacementMapChannelData, DISPLACEMENTMAP_CHANNEL_ENDTYPE);
109 // feMorphology
110 const EnumData<Inkscape::Filters::FilterMorphologyOperator> MorphologyOperatorData[Inkscape::Filters::MORPHOLOGY_OPERATOR_END] = {
111 {Inkscape::Filters::MORPHOLOGY_OPERATOR_ERODE, _("Erode"), "erode"},
112 {Inkscape::Filters::MORPHOLOGY_OPERATOR_DILATE, _("Dilate"), "dilate"}
113 };
114 const EnumDataConverter<Inkscape::Filters::FilterMorphologyOperator> MorphologyOperatorConverter(MorphologyOperatorData, Inkscape::Filters::MORPHOLOGY_OPERATOR_END);
116 // feTurbulence
117 const EnumData<Inkscape::Filters::FilterTurbulenceType> TurbulenceTypeData[Inkscape::Filters::TURBULENCE_ENDTYPE] = {
118 {Inkscape::Filters::TURBULENCE_FRACTALNOISE, _("Fractal Noise"), "fractalNoise"},
119 {Inkscape::Filters::TURBULENCE_TURBULENCE, _("Turbulence"), "turbulence"}
120 };
121 const EnumDataConverter<Inkscape::Filters::FilterTurbulenceType> TurbulenceTypeConverter(TurbulenceTypeData, Inkscape::Filters::TURBULENCE_ENDTYPE);
123 // Light source
124 const EnumData<LightSource> LightSourceData[LIGHT_ENDSOURCE] = {
125 {LIGHT_DISTANT, _("Distant Light"), "svg:feDistantLight"},
126 {LIGHT_POINT, _("Point Light"), "svg:fePointLight"},
127 {LIGHT_SPOT, _("Spot Light"), "svg:feSpotLight"}
128 };
129 const EnumDataConverter<LightSource> LightSourceConverter(LightSourceData, LIGHT_ENDSOURCE);
131 /*
132 Local Variables:
133 mode:c++
134 c-file-style:"stroustrup"
135 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
136 indent-tabs-mode:nil
137 fill-column:99
138 End:
139 */
140 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :