Code

Filter effects dialog:
[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<NR::FilterPrimitiveType> FPData[NR::NR_FILTER_ENDPRIMITIVETYPE] = {
20     {NR::NR_FILTER_BLEND,             _("Blend"),              "svg:feBlend"},
21     {NR::NR_FILTER_COLORMATRIX,       _("Color Matrix"),       "svg:feColorMatrix"},
22     {NR::NR_FILTER_COMPONENTTRANSFER, _("Component Transfer"), "svg:feComponentTransfer"},
23     {NR::NR_FILTER_COMPOSITE,         _("Composite"),          "svg:feComposite"},
24     {NR::NR_FILTER_CONVOLVEMATRIX,    _("Convolve Matrix"),    "svg:feConvolveMatrix"},
25     {NR::NR_FILTER_DIFFUSELIGHTING,   _("Diffuse Lighting"),   "svg:feDiffuseLighting"},
26     {NR::NR_FILTER_DISPLACEMENTMAP,   _("Displacement Map"),   "svg:feDisplacementMap"},
27     {NR::NR_FILTER_FLOOD,             _("Flood"),              "svg:feFlood"},
28     {NR::NR_FILTER_GAUSSIANBLUR,      _("Gaussian Blur"),      "svg:feGaussianBlur"},
29     {NR::NR_FILTER_IMAGE,             _("Image"),              "svg:feImage"},
30     {NR::NR_FILTER_MERGE,             _("Merge"),              "svg:feMerge"},
31     {NR::NR_FILTER_MORPHOLOGY,        _("Morphology"),         "svg:feMorphology"},
32     {NR::NR_FILTER_OFFSET,            _("Offset"),             "svg:feOffset"},
33     {NR::NR_FILTER_SPECULARLIGHTING,  _("Specular Lighting"),  "svg:feSpecularLighting"},
34     {NR::NR_FILTER_TILE,              _("Tile"),               "svg:feTile"},
35     {NR::NR_FILTER_TURBULENCE,        _("Turbulence"),         "svg:feTurbulence"}
36 };
37 const EnumDataConverter<NR::FilterPrimitiveType> FPConverter(FPData, NR::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<NR::FilterBlendMode> BlendModeData[NR::BLEND_ENDMODE] = {
51     {NR::BLEND_NORMAL,   _("Normal"),   "normal"},
52     {NR::BLEND_MULTIPLY, _("Multiply"), "multiply"},
53     {NR::BLEND_SCREEN,   _("Screen"),   "screen"},
54     {NR::BLEND_DARKEN,   _("Darken"),   "darken"},
55     {NR::BLEND_LIGHTEN,  _("Lighten"),  "lighten"}
56 };
57 const EnumDataConverter<NR::FilterBlendMode> BlendModeConverter(BlendModeData, NR::BLEND_ENDMODE);
60 const EnumData<NR::FilterColorMatrixType> ColorMatrixTypeData[NR::COLORMATRIX_ENDTYPE] = {
61     {NR::COLORMATRIX_MATRIX,           _("Matrix"),             "matrix"},
62     {NR::COLORMATRIX_SATURATE,         _("Saturate"),           "saturate"},
63     {NR::COLORMATRIX_HUEROTATE,        _("Hue Rotate"),         "hueRotate"},
64     {NR::COLORMATRIX_LUMINANCETOALPHA, _("Luminance to Alpha"), "luminanceToAlpha"}
65 };
66 const EnumDataConverter<NR::FilterColorMatrixType> ColorMatrixTypeConverter(ColorMatrixTypeData, NR::COLORMATRIX_ENDTYPE);
68 // feComposite
69 const EnumData<FeCompositeOperator> CompositeOperatorData[COMPOSITE_ENDOPERATOR] = {
70     {COMPOSITE_DEFAULT,    _("Default"),    ""},
71     {COMPOSITE_OVER,       _("Over"),       "over"},
72     {COMPOSITE_IN,         _("In"),         "in"},
73     {COMPOSITE_OUT,        _("Out"),        "out"},
74     {COMPOSITE_ATOP,       _("Atop"),       "atop"},
75     {COMPOSITE_XOR,        _("XOR"),        "xor"},
76     {COMPOSITE_ARITHMETIC, _("Arithmetic"), "arithmetic"}
77 };
78 const EnumDataConverter<FeCompositeOperator> CompositeOperatorConverter(CompositeOperatorData, COMPOSITE_ENDOPERATOR);
80 // feConvolveMatrix
81 const EnumData<NR::FilterConvolveMatrixEdgeMode> ConvolveMatrixEdgeModeData[NR::CONVOLVEMATRIX_EDGEMODE_ENDTYPE] = {
82     {NR::CONVOLVEMATRIX_EDGEMODE_DUPLICATE, _("Duplicate"), "duplicate"},
83     {NR::CONVOLVEMATRIX_EDGEMODE_WRAP,      _("Wrap"),      "wrap"},
84     {NR::CONVOLVEMATRIX_EDGEMODE_NONE,      _("None"),      "none"}
85 };
86 const EnumDataConverter<NR::FilterConvolveMatrixEdgeMode> ConvolveMatrixEdgeModeConverter(ConvolveMatrixEdgeModeData, NR::CONVOLVEMATRIX_EDGEMODE_ENDTYPE);
88 // feDisplacementMap
89 const EnumData<int> DisplacementMapChannelData[4] = {
90     {0, _("Red"),   "R"},
91     {1, _("Green"), "G"},
92     {2, _("Blue"),  "B"},
93     {3, _("Alpha"), "A"}
94 };
95 const EnumDataConverter<int> DisplacementMapChannelConverter(DisplacementMapChannelData, 4);
97 // feMorphology
98 const EnumData<NR::FilterMorphologyOperator> MorphologyOperatorData[NR::MORPHOLOGY_OPERATOR_END] = {
99     {NR::MORPHOLOGY_OPERATOR_ERODE,  _("Erode"),   "erode"},
100     {NR::MORPHOLOGY_OPERATOR_DILATE, _("Dilate"),  "dilate"}
101 };
102 const EnumDataConverter<NR::FilterMorphologyOperator> MorphologyOperatorConverter(MorphologyOperatorData, NR::MORPHOLOGY_OPERATOR_END);
104 // Light source
105 const EnumData<LightSource> LightSourceData[LIGHT_ENDSOURCE] = {
106     {LIGHT_DISTANT, _("Distance Light"), "svg:feDistanceLight"},
107     {LIGHT_POINT,   _("Point Light"),    "svg:fePointLight"},
108     {LIGHT_SPOT,    _("Spot Light"),     "svg:feSpotLight"}
109 };
110 const EnumDataConverter<LightSource> LightSourceConverter(LightSourceData, LIGHT_ENDSOURCE);
112 /*
113   Local Variables:
114   mode:c++
115   c-file-style:"stroustrup"
116   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
117   indent-tabs-mode:nil
118   fill-column:99
119   End:
120 */
121 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :