diff options
| author | Jabiertxof <jabier.arraiza@marker.es> | 2019-07-16 14:37:19 +0000 |
|---|---|---|
| committer | Jabier Arraiza <jabier.arraiza@marker.es> | 2019-07-19 21:33:23 +0000 |
| commit | e2f4af7eb9d6a497308925930e89d2a403c3a5c9 (patch) | |
| tree | f1abd09c7996dc93dbb09d79b91e70e3a5f0847d /src/ui/tools/freehand-base.cpp | |
| parent | Fix maren pointed bugs (diff) | |
| download | inkscape-e2f4af7eb9d6a497308925930e89d2a403c3a5c9.tar.gz inkscape-e2f4af7eb9d6a497308925930e89d2a403c3a5c9.zip | |
Improvemets to power pencil
Diffstat (limited to 'src/ui/tools/freehand-base.cpp')
| -rw-r--r-- | src/ui/tools/freehand-base.cpp | 48 |
1 files changed, 11 insertions, 37 deletions
diff --git a/src/ui/tools/freehand-base.cpp b/src/ui/tools/freehand-base.cpp index 88a0fcf2c..961410c6b 100644 --- a/src/ui/tools/freehand-base.cpp +++ b/src/ui/tools/freehand-base.cpp @@ -281,43 +281,17 @@ static void spdc_apply_powerstroke_shape(std::vector<Geom::Point> points, Freeha if (dc->tablet_enabled) { SPObject *elemref = nullptr; if ((elemref = document->getObjectById("power_stroke_preview"))) { - if (SP_SHAPE(elemref)->getCurve() != pt->curvepressure) { - elemref->getRepr()->setAttribute("style", nullptr); - SPItem *successor = dynamic_cast<SPItem *>(elemref); - sp_desktop_apply_style_tool(desktop, successor->getRepr(), - Glib::ustring("/tools/freehand/pencil").data(), false); - spdc_apply_style(successor); - item->deleteObject(true); - item = successor; - dc->selection->set(item); - item->setLocked(false); - dc->white_item = item; - rename_id(SP_OBJECT(item), "path-1"); - } else { - using namespace Inkscape::LivePathEffect; - Effect *lpe = SP_LPE_ITEM(elemref)->getCurrentLPE(); - if (lpe) { - SP_LPE_ITEM(elemref)->removeCurrentPathEffect(true); - LivePathEffectObject *lpeobj = lpe->getLPEObj(); - if (lpeobj) { - SP_OBJECT(lpeobj)->deleteObject(true); - lpeobj = nullptr; - } - } - elemref->deleteObject(true); - elemref = nullptr; - maxrecursion++; - if (maxrecursion < 5) { - pt->addPowerStrokePencil(true); - spdc_apply_powerstroke_shape(points, dc, item, maxrecursion); - } - } - } else { - maxrecursion++; - if (maxrecursion < 5) { - pt->addPowerStrokePencil(true); - spdc_apply_powerstroke_shape(points, dc, item, maxrecursion); - } + elemref->getRepr()->setAttribute("style", nullptr); + SPItem *successor = dynamic_cast<SPItem *>(elemref); + sp_desktop_apply_style_tool(desktop, successor->getRepr(), + Glib::ustring("/tools/freehand/pencil").data(), false); + spdc_apply_style(successor); + item->deleteObject(true); + item = successor; + dc->selection->set(item); + item->setLocked(false); + dc->white_item = item; + rename_id(SP_OBJECT(item), "path-1"); } return; } |
