summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNicholas Bishop <nicholasbishop@gmail.com>2007-08-06 00:58:34 +0000
committernicholasbishop <nicholasbishop@users.sourceforge.net>2007-08-06 00:58:34 +0000
commit95b4378ef6313dea5ba5c144337d7c80e8daca6a (patch)
tree8b909ccbe7d28a4a5ae1965b3b476df0d27d942a /src
parentAdded my name to AUTHORS list (diff)
downloadinkscape-95b4378ef6313dea5ba5c144337d7c80e8daca6a.tar.gz
inkscape-95b4378ef6313dea5ba5c144337d7c80e8daca6a.zip
Filter effects dialog:
* Added controls for scale and channel selection to the filter dialog for feDisplacementMap (bzr r3383)
Diffstat (limited to 'src')
-rw-r--r--src/filter-enums.cpp13
-rw-r--r--src/filter-enums.h3
-rw-r--r--src/ui/dialog/filter-effects-dialog.cpp5
3 files changed, 19 insertions, 2 deletions
diff --git a/src/filter-enums.cpp b/src/filter-enums.cpp
index a688ecc19..bd855d102 100644
--- a/src/filter-enums.cpp
+++ b/src/filter-enums.cpp
@@ -80,11 +80,20 @@ const EnumDataConverter<FeCompositeOperator> CompositeOperatorConverter(Composit
// feConvolveMatrix
const EnumData<NR::FilterConvolveMatrixEdgeMode> ConvolveMatrixEdgeModeData[NR::CONVOLVEMATRIX_EDGEMODE_ENDTYPE] = {
{NR::CONVOLVEMATRIX_EDGEMODE_DUPLICATE, _("Duplicate"), "duplicate"},
- {NR::CONVOLVEMATRIX_EDGEMODE_WRAP, _("Wrap"), "wrap"},
- {NR::CONVOLVEMATRIX_EDGEMODE_NONE, _("None"), "none"}
+ {NR::CONVOLVEMATRIX_EDGEMODE_WRAP, _("Wrap"), "wrap"},
+ {NR::CONVOLVEMATRIX_EDGEMODE_NONE, _("None"), "none"}
};
const EnumDataConverter<NR::FilterConvolveMatrixEdgeMode> ConvolveMatrixEdgeModeConverter(ConvolveMatrixEdgeModeData, NR::CONVOLVEMATRIX_EDGEMODE_ENDTYPE);
+// feDisplacementMap
+const EnumData<int> DisplacementMapChannelData[4] = {
+ {0, _("Red"), "R"},
+ {1, _("Green"), "G"},
+ {2, _("Blue"), "B"},
+ {3, _("Alpha"), "A"}
+};
+const EnumDataConverter<int> DisplacementMapChannelConverter(DisplacementMapChannelData, 4);
+
// Light source
const EnumData<LightSource> LightSourceData[LIGHT_ENDSOURCE] = {
{LIGHT_DISTANT, _("Distance Light"), "svg:feDistanceLight"},
diff --git a/src/filter-enums.h b/src/filter-enums.h
index 8a6a56841..7e5a641c8 100644
--- a/src/filter-enums.h
+++ b/src/filter-enums.h
@@ -48,6 +48,9 @@ extern const Inkscape::Util::EnumDataConverter<FeCompositeOperator> CompositeOpe
// ConvolveMatrix edgeMode
extern const Inkscape::Util::EnumData<NR::FilterConvolveMatrixEdgeMode> ConvolveMatrixEdgeModeData[NR::CONVOLVEMATRIX_EDGEMODE_ENDTYPE];
extern const Inkscape::Util::EnumDataConverter<NR::FilterConvolveMatrixEdgeMode> ConvolveMatrixEdgeModeConverter;
+// DisplacementMap channel
+extern const Inkscape::Util::EnumData<int> DisplacementMapChannelData[4];
+extern const Inkscape::Util::EnumDataConverter<int> DisplacementMapChannelConverter;
// Lighting
enum LightSource {
LIGHT_DISTANT,
diff --git a/src/ui/dialog/filter-effects-dialog.cpp b/src/ui/dialog/filter-effects-dialog.cpp
index 3c306d382..edcb1e9ca 100644
--- a/src/ui/dialog/filter-effects-dialog.cpp
+++ b/src/ui/dialog/filter-effects-dialog.cpp
@@ -1678,6 +1678,11 @@ void FilterEffectsDialog::init_settings_widgets()
_settings->add_spinslider(SP_ATTR_DIFFUSECONSTANT, _("Constant"), 0, 100, 1, 0.01, 1);
_settings->add_dualspinslider(SP_ATTR_KERNELUNITLENGTH, _("Kernel Unit Length"), 0.01, 10, 1, 0.01, 1);
_settings->add_lightsource(_("Light Source"));
+
+ _settings->type(NR_FILTER_DISPLACEMENTMAP);
+ _settings->add_spinslider(SP_ATTR_SCALE, _("Scale"), 0, 100, 1, 0.01, 1);
+ _settings->add_combo(SP_ATTR_XCHANNELSELECTOR, _("X Channel"), DisplacementMapChannelConverter);
+ _settings->add_combo(SP_ATTR_YCHANNELSELECTOR, _("Y Channel"), DisplacementMapChannelConverter);
_settings->type(NR_FILTER_GAUSSIANBLUR);
_settings->add_dualspinslider(SP_ATTR_STDDEVIATION, _("Standard Deviation"), 0.01, 100, 1, 0.01, 1);