diff options
| author | Nicholas Bishop <nicholasbishop@gmail.com> | 2007-08-06 00:58:34 +0000 |
|---|---|---|
| committer | nicholasbishop <nicholasbishop@users.sourceforge.net> | 2007-08-06 00:58:34 +0000 |
| commit | 95b4378ef6313dea5ba5c144337d7c80e8daca6a (patch) | |
| tree | 8b909ccbe7d28a4a5ae1965b3b476df0d27d942a /src | |
| parent | Added my name to AUTHORS list (diff) | |
| download | inkscape-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.cpp | 13 | ||||
| -rw-r--r-- | src/filter-enums.h | 3 | ||||
| -rw-r--r-- | src/ui/dialog/filter-effects-dialog.cpp | 5 |
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); |
