Code

Connector tool: make connectors avoid the convex hull of shapes.
[inkscape.git] / src / filter-enums.cpp
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 :