diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2014-11-03 21:40:49 +0000 |
|---|---|---|
| committer | Jabiertxof <jtx@jtx.marker.es> | 2014-11-03 21:40:49 +0000 |
| commit | c4c3db6548b086733031f8dbfe02ea17f3747b9d (patch) | |
| tree | 73d858334dd186d6d080a88639fff0bce69e00db /src | |
| parent | Update fillet/chamfer to allow subdivisions in chamfer mode. (diff) | |
| download | inkscape-c4c3db6548b086733031f8dbfe02ea17f3747b9d.tar.gz inkscape-c4c3db6548b086733031f8dbfe02ea17f3747b9d.zip | |
Added a extra layer of roughen pointed by Ivan Louette
(bzr r13666)
Diffstat (limited to 'src')
| -rw-r--r-- | src/live_effects/lpe-roughen.cpp | 24 | ||||
| -rw-r--r-- | src/live_effects/lpe-roughen.h | 2 |
2 files changed, 24 insertions, 2 deletions
diff --git a/src/live_effects/lpe-roughen.cpp b/src/live_effects/lpe-roughen.cpp index a11a06ce7..b30fb4f1e 100644 --- a/src/live_effects/lpe-roughen.cpp +++ b/src/live_effects/lpe-roughen.cpp @@ -47,6 +47,8 @@ LPERoughen::LPERoughen(LivePathEffectObject *lpeobject) "displaceX", &wr, this, 10.), displaceY(_("Max. displacement in Y"), _("Max. displacement in Y"), "displaceY", &wr, this, 10.), + globalRandomize(_("Global randomize"), _("Global randomize"), + "globalRandomize", &wr, this, 1.), shiftNodes(_("Shift nodes"), _("Shift nodes"), "shiftNodes", &wr, this, true), shiftNodeHandles(_("Shift node handles"), _("Shift node handles"), @@ -58,10 +60,12 @@ LPERoughen::LPERoughen(LivePathEffectObject *lpeobject) registerParameter(&segments); registerParameter(&displaceX); registerParameter(&displaceY); + registerParameter(&globalRandomize); registerParameter(&shiftNodes); registerParameter(&shiftNodeHandles); displaceX.param_set_range(0., Geom::infinity()); displaceY.param_set_range(0., Geom::infinity()); + globalRandomize.param_set_range(0., Geom::infinity()); maxSegmentSize.param_set_range(0., Geom::infinity()); maxSegmentSize.param_set_increments(1, 1); maxSegmentSize.param_set_digits(1); @@ -76,6 +80,7 @@ void LPERoughen::doBeforeEffect(SPLPEItem const *lpeitem) { displaceX.resetRandomizer(); displaceY.resetRandomizer(); + globalRandomize.resetRandomizer(); srand(1); SPLPEItem * item = const_cast<SPLPEItem*>(lpeitem); item->apply_to_clippath(item); @@ -119,6 +124,15 @@ Gtk::Widget *LPERoughen::newWidget() vbox->pack_start(*Gtk::manage(new Gtk::HSeparator()), Gtk::PACK_EXPAND_WIDGET); } + if (param->param_key == "globalRandomize") { + Gtk::Label *displaceXLabel = Gtk::manage(new Gtk::Label( + Glib::ustring(_("<b>Extra roughen</b> Retain 1 to no changes")), + Gtk::ALIGN_START)); + displaceXLabel->set_use_markup(true); + vbox->pack_start(*displaceXLabel, false, false, 2); + vbox->pack_start(*Gtk::manage(new Gtk::HSeparator()), + Gtk::PACK_EXPAND_WIDGET); + } Glib::ustring *tip = param->param_getTooltip(); if (widg) { vbox->pack_start(*widg, true, true, 2); @@ -147,10 +161,16 @@ double LPERoughen::sign(double randNumber) Geom::Point LPERoughen::randomize() { Inkscape::Util::Unit const *doc_units = SP_ACTIVE_DESKTOP->namedview->doc_units; + double displaceXRandom = displaceX; + double displaceYRandom = displaceY; + if(globalRandomize != 1.0){ + displaceXRandom = displaceX * globalRandomize; + displaceYRandom = displaceY * globalRandomize; + } double displaceXParsed = Inkscape::Util::Quantity::convert( - displaceX, unit.get_abbreviation(), doc_units->abbr); + displaceXRandom, unit.get_abbreviation(), doc_units->abbr); double displaceYParsed = Inkscape::Util::Quantity::convert( - displaceY, unit.get_abbreviation(), doc_units->abbr); + displaceYRandom, unit.get_abbreviation(), doc_units->abbr); Geom::Point output = Geom::Point(sign(displaceXParsed), sign(displaceYParsed)); return output; diff --git a/src/live_effects/lpe-roughen.h b/src/live_effects/lpe-roughen.h index d5ec726bd..74331f1ef 100644 --- a/src/live_effects/lpe-roughen.h +++ b/src/live_effects/lpe-roughen.h @@ -51,8 +51,10 @@ private: ScalarParam segments; RandomParam displaceX; RandomParam displaceY; + RandomParam globalRandomize; BoolParam shiftNodes; BoolParam shiftNodeHandles; + LPERoughen(const LPERoughen &); LPERoughen &operator=(const LPERoughen &); |
