summaryrefslogtreecommitdiffstats
path: root/src/filter-enums.cpp
diff options
context:
space:
mode:
authorNicholas Bishop <nicholasbishop@gmail.com>2007-07-14 20:55:43 +0000
committernicholasbishop <nicholasbishop@users.sourceforge.net>2007-07-14 20:55:43 +0000
commit28d142f1596cfa9e4dd6b63509205d528394c779 (patch)
treef0285a821f510a0193ff2c78bd5e6627e3c2f075 /src/filter-enums.cpp
parentMove check for unlinked paths of 3D box faces to the correct location (diff)
downloadinkscape-28d142f1596cfa9e4dd6b63509205d528394c779.tar.gz
inkscape-28d142f1596cfa9e4dd6b63509205d528394c779.zip
Filter effects:
* As coded by Johan Engelen, made the filter-effect-enums code more generic; the data and conversion classes are now in src/util, filter-specific data is in filter-enums.h * Improved filter_add_primitive so that default values are filled in appropriately to prevent errors or possible crashes (bzr r3241)
Diffstat (limited to 'src/filter-enums.cpp')
-rw-r--r--src/filter-enums.cpp68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/filter-enums.cpp b/src/filter-enums.cpp
new file mode 100644
index 000000000..b5e1cfbe5
--- /dev/null
+++ b/src/filter-enums.cpp
@@ -0,0 +1,68 @@
+/*
+ * Conversion data for filter and filter primitive enumerations
+ *
+ * Authors:
+ * Nicholas Bishop
+ *
+ * Copyright (C) 2007 authors
+ *
+ * Released under GNU GPL, read the file 'COPYING' for more information
+ */
+
+#include <glibmm/i18n.h>
+
+#include "filter-enums.h"
+
+using Inkscape::Util::EnumData;
+using Inkscape::Util::EnumDataConverter;
+
+const EnumData<NR::FilterPrimitiveType> FPData[NR::NR_FILTER_ENDPRIMITIVETYPE] = {
+ {NR::NR_FILTER_BLEND, _("Blend"), "svg:feBlend"},
+ {NR::NR_FILTER_COLORMATRIX, _("Color Matrix"), "svg:feColorMatrix"},
+ {NR::NR_FILTER_COMPONENTTRANSFER, _("Component Transfer"), "svg:feComponentTransfer"},
+ {NR::NR_FILTER_COMPOSITE, _("Composite"), "svg:feComposite"},
+ {NR::NR_FILTER_CONVOLVEMATRIX, _("Convolve Matrix"), "svg:feConvolveMatrix"},
+ {NR::NR_FILTER_DIFFUSELIGHTING, _("Diffuse Lighting"), "svg:feDiffuseLighting"},
+ {NR::NR_FILTER_DISPLACEMENTMAP, _("Displacement Map"), "svg:feDisplacementMap"},
+ {NR::NR_FILTER_FLOOD, _("Flood"), "svg:feFlood"},
+ {NR::NR_FILTER_GAUSSIANBLUR, _("Gaussian Blur"), "svg:feGaussianBlur"},
+ {NR::NR_FILTER_IMAGE, _("Image"), "svg:feImage"},
+ {NR::NR_FILTER_MERGE, _("Merge"), "svg:feMerge"},
+ {NR::NR_FILTER_MORPHOLOGY, _("Morphology"), "svg:feMorphology"},
+ {NR::NR_FILTER_OFFSET, _("Offset"), "svg:feOffset"},
+ {NR::NR_FILTER_SPECULARLIGHTING, _("Specular Lighting"), "svg:feSpecularLighting"},
+ {NR::NR_FILTER_TILE, _("Tile"), "svg:feTile"},
+ {NR::NR_FILTER_TURBULENCE, _("Turbulence"), "svg:feTurbulence"}
+};
+const EnumDataConverter<NR::FilterPrimitiveType> FPConverter(FPData, NR::NR_FILTER_ENDPRIMITIVETYPE);
+
+const EnumData<NR::FilterBlendMode> BlendModeData[NR::BLEND_ENDMODE] = {
+ {NR::BLEND_NORMAL, _("Normal"), "normal"},
+ {NR::BLEND_MULTIPLY, _("Multiply"), "multiply"},
+ {NR::BLEND_SCREEN, _("Screen"), "screen"},
+ {NR::BLEND_DARKEN, _("Darken"), "darken"},
+ {NR::BLEND_LIGHTEN, _("Lighten"), "lighten"}
+};
+const EnumDataConverter<NR::FilterBlendMode> BlendModeConverter(BlendModeData, NR::BLEND_ENDMODE);
+
+const EnumData<FeCompositeOperator> CompositeOperatorData[COMPOSITE_ENDOPERATOR] = {
+ {COMPOSITE_DEFAULT, _("Default"), ""},
+ {COMPOSITE_OVER, _("Over"), "over"},
+ {COMPOSITE_IN, _("In"), "in"},
+ {COMPOSITE_OUT, _("Out"), "out"},
+ {COMPOSITE_ATOP, _("Atop"), "atop"},
+ {COMPOSITE_XOR, _("XOR"), "xor"},
+ {COMPOSITE_ARITHMETIC, _("Arithmetic"), "arithmetic"}
+};
+const EnumDataConverter<FeCompositeOperator> CompositeOperatorConverter(CompositeOperatorData, COMPOSITE_ENDOPERATOR);
+
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :