summaryrefslogtreecommitdiffstats
path: root/src/ui/tools/freehand-base.cpp
diff options
context:
space:
mode:
authorJabiertxof <jabier.arraiza@marker.es>2019-07-16 14:37:19 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2019-07-19 21:33:23 +0000
commite2f4af7eb9d6a497308925930e89d2a403c3a5c9 (patch)
treef1abd09c7996dc93dbb09d79b91e70e3a5f0847d /src/ui/tools/freehand-base.cpp
parentFix maren pointed bugs (diff)
downloadinkscape-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.cpp48
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;
}