From 2a0d24e61c826a9bf33cad4c8f6769d52d433b43 Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Cenoz Date: Sun, 8 Mar 2015 00:13:15 +0100 Subject: add interactive smooth to pen tool (bzr r13973.1.1) --- share/icons/icons.svg | 4083 +++++++-------- share/icons/symbolic_icons.svg | 5160 +++++++++--------- share/icons/tango_icons.svg | 10930 +++++++++++++++++++-------------------- src/ui/tools/freehand-base.cpp | 26 + src/ui/tools/pencil-tool.cpp | 14 +- src/widgets/pencil-toolbar.cpp | 42 + src/widgets/toolbox.cpp | 2 + 7 files changed, 10167 insertions(+), 10090 deletions(-) diff --git a/share/icons/icons.svg b/share/icons/icons.svg index 875d2f5e0..214d7eadb 100644 --- a/share/icons/icons.svg +++ b/share/icons/icons.svg @@ -1,5 +1,5 @@ - + @@ -62,7 +62,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -97,22 +97,22 @@ - + - - - - - - - + + + + + + + - - - + + + @@ -220,242 +220,242 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - + - - + + - + - + @@ -478,78 +478,78 @@ - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -558,136 +558,136 @@ - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + @@ -700,9 +700,9 @@ - - - + + + @@ -771,7 +771,7 @@ - + @@ -801,14 +801,14 @@ - + - + - + @@ -831,7 +831,7 @@ - + @@ -861,8 +861,9 @@ + - + @@ -885,7 +886,7 @@ http://www.inkscape.org/ Inkscape Developers - + @@ -897,36 +898,36 @@ http://www.inkscape.org/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - + + + + - + @@ -957,7 +958,7 @@ http://www.inkscape.org/ - + @@ -965,129 +966,129 @@ http://www.inkscape.org/ - + - + - + - - - + + + - + - + - - - + + + - + - + - + - + - - - + + + - + - + - - + + - - - + + + - + - + - - + + - - - - + + + + - - - - - - + + + + + + - - - + + + - - - - + + + + - + - - - - + + + + - - + + - - - - - + + + + + - - + + - + - + @@ -1100,87 +1101,87 @@ http://www.inkscape.org/ - + - - - - + + + + - + - + - + - - - + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + - - - - + + + + - + - + - - - + + + - + - + @@ -1189,10 +1190,10 @@ http://www.inkscape.org/ - - - - + + + + @@ -1202,68 +1203,68 @@ http://www.inkscape.org/ - + - - + + - - + + - - + + - + - - + + - - + + - - + + - - - + + + - - + + - + - + - + - - + + - + @@ -1280,7 +1281,7 @@ http://www.inkscape.org/ - + @@ -1289,37 +1290,37 @@ http://www.inkscape.org/ - - - + + + - + - + - + - - - + + + - - - + + + - - - + + + @@ -1327,142 +1328,142 @@ http://www.inkscape.org/ - - - + + + - - - + + + - - + + - - - - - + + + + + - - + + - - + + - + - - - + + + - - + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - + + - - + + - - + + - + - - + + - - + + - - - + + + - + - - - - - - + + + + + + - - - + + + - - - + + + @@ -1475,70 +1476,70 @@ http://www.inkscape.org/ - - + + - + - - - + + + - - + + - + - - + + - + - + - - + + - - - + + + - - - + + + - + - - - - - + + + + + - + - - + + - - + + - - + + - - - + + + @@ -1576,17 +1577,17 @@ http://www.inkscape.org/ - - - - - - + + + + + + - - + + @@ -1594,80 +1595,80 @@ http://www.inkscape.org/ - - + + - - - - + + + + - - - - + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + - - + + - + - + - - - + + + - - - + + + - - - - - - + + + + + + - - + + - + - - + + @@ -1675,98 +1676,98 @@ http://www.inkscape.org/ - + - + - - - + + + - - - - + + + + - + - + - - - - - + + + + + - - - + + + - + - + - - - + + + - + - - - - - - - + + + + + + + - - - - - - + + + + + + - - - - - + + + + + - + @@ -1780,97 +1781,97 @@ http://www.inkscape.org/ - - - - - + + + + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - - - - - - + + + + + + + + - - + + - - + + - - + + - + - + - + - - + + - + - + - - + + - - + + - - + + - + @@ -1878,17 +1879,17 @@ http://www.inkscape.org/ - + - + - - - + + + @@ -1896,184 +1897,184 @@ http://www.inkscape.org/ - + - - + + - + - - + + - - + + - - + + - - - + + + - + - - + + - - + + - - + + - + - + - - + + - + - + - - - + + + - - - + + + - + - + - + - + - + - + - + - + - - + + - - - + + + - - + + - + - - - - + + + + - - - - + + + + - + - + - - + + - - - - - - - + + + + + + + - + @@ -2082,476 +2083,476 @@ http://www.inkscape.org/ - + - - - + + + - - + + - - + + - + - + - - + + - - - - - - + + + + + + - + - - - + + + - + - - - - - + + + + + - - - - - + + + + + - + - - - + + + - + - - - - + + + + - - + + - - - + + + - - - - + + + + - - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - + - - - - - - - - + + + + + + + + - - - + + + - - + + - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - + - + - + - - - - - - - - + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - - + + - + - - - - + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + - + - + - - - - - - - + + + + + + + - + - - + + - - + + - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + - - - - + + + + - + - - - - + + + + - - - + + + - - - - - - - - + + + + + + + + @@ -2561,7 +2562,7 @@ http://www.inkscape.org/ - + @@ -2571,7 +2572,7 @@ http://www.inkscape.org/ - + @@ -2587,42 +2588,42 @@ http://www.inkscape.org/ - - + + - + - - + + - - + + - - + + - + - - - + + + - - - - - - + + + + + + @@ -2632,7 +2633,7 @@ http://www.inkscape.org/ - + @@ -2640,8 +2641,8 @@ http://www.inkscape.org/ - - + + @@ -2652,7 +2653,7 @@ http://www.inkscape.org/ - + @@ -2662,7 +2663,7 @@ http://www.inkscape.org/ - + @@ -2673,201 +2674,201 @@ http://www.inkscape.org/ - + - - + + - - - - + + + + - - + + - - + + - - - - + + + + - - + + - - + + - + - - + + - + - + - - + + - + - + - - + + - + - - + + - - - - + + + + - - + + - + - - - - + + + + - - + + - - + + - - + + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + @@ -2875,711 +2876,711 @@ http://www.inkscape.org/ - - - - - - + + + + + + - - - - + + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - + + + + + + + + + + + - + - - + + - + - + - - + + - - + + - - + + - - - - - - - + + + + + + + - + - + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - + - - + + - - + + - - + + - + - - - + + + - - - - + + + + - - + + - - - + + + - + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - + - + - - + + - - - + + + - - + + - + - - + + - - - + + + - - - - + + + + -none - - - - +none + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - + - - - - - - - - - - - + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - + + + + - - + + - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + + - - + + - - + + - - - - + + + + - - - - - - - + + + + + + + - - + + - - - + + + - - - + + + - - + + - - + + - - - + + + - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - + + - - + + - + - - - + + + - - - + + + - - - + + + - + - - - - + + + + - - + + - - + + - - - - + + + + - - + + - + - + - - + + - - - - + + + + - - - - - - + + + + + + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -3592,33 +3593,33 @@ http://www.inkscape.org/ - + - + - + - - + + - - + + - + - + - - + + @@ -3631,23 +3632,23 @@ http://www.inkscape.org/ - + - + - - - - + + + + - - + + @@ -3656,9 +3657,9 @@ http://www.inkscape.org/ - + - + @@ -3666,33 +3667,33 @@ http://www.inkscape.org/ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - + + @@ -3705,7 +3706,7 @@ http://www.inkscape.org/ - + @@ -3716,143 +3717,143 @@ http://www.inkscape.org/ - + - + - - - - - - - + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - + + - - - + + + - + - - + + - - - - + + + + - + - - - - - - - + + + + + + + - + - - - - - - - + + + + + + + - - + + - - - + + + - - - - - - + + + + + + - - + + - + - - + + - - + + - - + + - - - + + + @@ -3877,68 +3878,72 @@ http://www.inkscape.org/ - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - - - - - + + + + + - - - + + + - - - - + + + + + + + + diff --git a/share/icons/symbolic_icons.svg b/share/icons/symbolic_icons.svg index ecefa5189..817163553 100644 --- a/share/icons/symbolic_icons.svg +++ b/share/icons/symbolic_icons.svg @@ -1,7 +1,7 @@ - + Inkscape Icon Theme @@ -13,7 +13,7 @@ - + @@ -35,291 +35,291 @@ - + - - - + + + - + - - - + + + - - - - + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - - - + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - + + - - - + + + - + - - + + - + - + - - + + - + - + - + @@ -329,10 +329,10 @@ - + - + @@ -344,19 +344,19 @@ - + - + - + - + @@ -367,31 +367,31 @@ - + - + - + - + - + - + - + @@ -402,10 +402,10 @@ - + - + @@ -415,10 +415,10 @@ - + - + @@ -426,97 +426,97 @@ - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + - + - - + + - - + + - - - + + + - - - + + + - + - - - - - - - + + + + + + + - + - - - - - - - + + + + + + + - + - + - - - - - - - + + + + + + + @@ -526,583 +526,583 @@ - - + + - - - - - - - - + + + + + + + + - - + + - - - - - - - - + + + + + + + + - - + + - + - - - - - - - - + + + + + + + + - - + + - - - - + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - + + + + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - + - + emblem-new - + - - + + - - - - + + + + - - - + + + - - + + - - + + - - - - - - - + + + + + + + - - - + + + - - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - + + + + + - + - - - - - + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - + - - + + - - - - - + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - + + + - - + + - - - + + + - - - - + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - + - - - - + + + + - + - - - - + + + + - + - - - + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - + - - - - - + + + + + - - - + + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - + + + + + + diff --git a/share/icons/tango_icons.svg b/share/icons/tango_icons.svg index 248ad0c00..81c000275 100644 --- a/share/icons/tango_icons.svg +++ b/share/icons/tango_icons.svg @@ -1,5 +1,5 @@ - + @@ -35,7 +35,7 @@ - + @@ -164,13 +164,13 @@ - - + + - + @@ -208,10 +208,10 @@ - + - + @@ -272,9 +272,9 @@ - - - + + + @@ -325,7 +325,7 @@ - + @@ -358,9 +358,9 @@ - - - + + + @@ -391,7 +391,7 @@ - + @@ -406,146 +406,146 @@ - + - - - - - - - - - - - - + + + + + + + + + + + + - - + + - + - + - - + + - - + + - - - - - - + + + + + + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + @@ -574,7 +574,7 @@ - + @@ -710,12 +710,12 @@ - + - + @@ -726,41 +726,41 @@ - + - + - + - + - - - - + + + + - - + + - + @@ -770,33 +770,33 @@ - + - + - + - - + + - + - + @@ -822,7 +822,7 @@ - + @@ -833,27 +833,27 @@ - + - - + + - - - + + + - + @@ -898,12 +898,12 @@ - + - + @@ -912,7 +912,7 @@ - + @@ -926,31 +926,31 @@ - + - - - - - - - + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + @@ -1062,755 +1062,755 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -1820,106 +1820,106 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + - + - + - - - - - - + + + + + + - + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - + + + + - - - - - - - + + + + + + + - - + + - + @@ -1947,269 +1947,269 @@ - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -2264,17 +2264,17 @@ - - - - - - - - - - - + + + + + + + + + + + @@ -2286,10 +2286,6 @@ - - - - @@ -2302,22 +2298,14 @@ - - - - - - - - - + @@ -2358,391 +2346,391 @@ http://www.inkscape.org/ -Menus -File -Edit -View -Layer -Object -Path -Text -Help - - -XML Editor -Align and Distribute -Transform -Grid Arrange / Tiled clones -Misc -Tools -and tools' bars -Dialogs -Fill and stroke -Text -Others - - - - - - +Menus +File +Edit +View +Layer +Object +Path +Text +Help + + +XML Editor +Align and Distribute +Transform +Grid Arrange / Tiled clones +Misc +Tools +and tools' bars +Dialogs +Fill and stroke +Text +Others + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - + + + -none - - - - +none + + + + - - + + - - - + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - + + + + - - - - - - - - - - - - - - - - - - -none + + + + + + + + + + + + + + + + + + +none - - + + - + - - - + + + - - - - - - + + + + + + - - - - + + + + - - - + + + - + - + - - - - - - - + + + + + + + - + - - + + - - - + + + - + - - + + - - - + + + - + - - - - + + + + - - - + + + - - - - - - + + + + + + - - + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - - - - + + + + + - + @@ -2753,16 +2741,16 @@ http://www.inkscape.org/ - + - - + + - - + + - - + + @@ -2772,7 +2760,7 @@ http://www.inkscape.org/ - + @@ -2789,12 +2777,12 @@ http://www.inkscape.org/ - - - - - - + + + + + + @@ -2804,7 +2792,7 @@ http://www.inkscape.org/ - + @@ -2812,8 +2800,8 @@ http://www.inkscape.org/ - - + + @@ -2824,7 +2812,7 @@ http://www.inkscape.org/ - + @@ -2834,7 +2822,7 @@ http://www.inkscape.org/ - + @@ -2845,412 +2833,412 @@ http://www.inkscape.org/ - + - - + + - - - - + + + + - - + + - - + + - - - - - + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - - + + + - - + + - - + + - - + + - - + + - + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + - + - + - + - - - - - - - + + + + + + + - - + + - - - + + + - + - - + + - - + + - - - - - + + + + + - + - - + + - - + + - + - - + + - + - + - - + + - + - - - + + + - - - + + + - + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - + - - - - - - - - + + + + + + + + - - - + + + - + - - + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - + - - - - - + + + + + - - + + - + - - + + - - - + + + - + - - - - - - - - - + + + + + + + + + - - - - + + + + - + - - - - - - - - - - - - + + + + + + + + + + + + @@ -3258,148 +3246,148 @@ http://www.inkscape.org/ - - - - - - + + + + + + - - - - + + + + - - - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - + - - - + + + - - + + - - - + + + - - - - + + + + - - + + - - + + - - - + + + - - - - + + + + - - + + - - - - + + + + - - - + + + - - + + - - - + + + - - - - - + + + + + - - - - - - - - - - + + + + + + + + + + - - + + @@ -3409,856 +3397,856 @@ http://www.inkscape.org/ - + - - + + - + - - + + - - + + - + - + - + - - + + - + - - + + - - + + - + - - + + - - + + - + - + - + - - + + - + - - + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - - + + + - - - + + + - - - - - + + + + + - - - + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + - + - - - - + + + + - + - - + + - - - + + + - + - - - + + + - - - - - - - + + + + + + + - + - + - - - + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - + - + - + - - - - - + + + + + - + - + - - + + - - - - - + + + + + - + - - - + + + - + - - - - + + + + - - + + - + - + - + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - + + + + + + + - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - + + - - - - - - - + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - + + - - - - - - + + + + + + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - + + + + + - + - - - - - + + + + + - + - - + + - - + + - - + + - + - - + + - + - + - - + + - - - - + + + + - - - - - - + + + + + + - - + + - - + + - - + + - + - + - + - - -a + + +a - + - + - - + + - - - + + + @@ -4266,1120 +4254,1124 @@ http://www.inkscape.org/ - + - - + + - + - + - - + + - - + + - - + + - - + + - - - + + + - + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - + - - - - - - - - - + + + + + + + + + - - - + + + - - - + + + - - + + - + - + - + - + - + - + - + - + - + - - - + + + - - - - - + + + + + - - - + + + - - - + + + - + - - + + - - + + - - + + - - - - - - - - + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - + - + - + - - - - + + + + - + - + - - + + - - + + - + - - + + - + - + - - + + - + - + - - + + - - + + - - - - - - - + + + + + + + - + - + - - + + - - - + + + - - + + - + - + - - + + - - + + - - + + - + - - + + - - - + + + - - + + - - + + - - - + + + - - + + - - - + + + - + - + - - - - - + + + + + - - - + + + - + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - + - - + + - + - - + + - - - - + + + + - - - - + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - + - - - - - - + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + + + + + - - - + + + - - - - - - + + + + + + - - - - + + + + - - + + - - - - - - + + + + + + - - - + + + - - + + - + - - + + - + - - - - - - - + + + + + + + - - - + + + - + - - - + + + @@ -5387,1322 +5379,1322 @@ http://www.inkscape.org/ - + - - - + + + - - + + - + - - - - + + + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - + - - + + - - - - - - + + + + + + - + - - - + + + - - - - + + + + - - - - + + + + - - + + - - + + - - - + + + - - + + - + - + - - - - - - + + + + + + - - - - + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - + + - - - - - - - + + + + + + + - + - - - - + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + - - - - - - - + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - + - - - + + + - - - + + + - - - + + + - - - - + + + + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - - - - + + + + - - - + + + - + - - - - + + + + - - - + + + - + - - + + - + - - - - - + + + + + - - + + - - - + + + - - - + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - + + + + - - - + + + - - - + + + - + - - - - + + + + - - - - + + + + - - + + - - + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - + + + + + + - - - - - - - - - + + + + + + + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - - - - + + + + + + - - - - - - + + + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - - - + + + + - - - + + + - - - - - + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - - + + - - + + - + - - + + - + - - - - - - - - - + + + + + + + + + - + - + - + - - + + - + - + - - - - + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - + + - - + + - - + + - + - - - + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - + - - - - - - - + + + + + + + - + - - - - - - - - - + + + + + + + + + - - - - + + + + - + - - - + + + - - - + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - + + + + + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - + - - - + + + - - + + - - - - - + + + + + - + - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - + - + - - - - - + + + + + - - - - - - + + + + + + - + - - - + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - + + - + - - - - - - + + + + + + - - - + + + - + - + - - - - + + + + - - - - - + + + + + - - + + - + - + - - - - - - - + + + + + + + - - - + + + - + - - - - - - - + + + + + + + - + - - - - - - - + + + + + + + - - - + + + - + - + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - + + + + + + - - - + + + - - - + + + - - - + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -6710,1644 +6702,1644 @@ http://www.inkscape.org/ - - - - + + + + - - - + + + - - - + + + - - - + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - + + + - + - - - + + + - - + + - + - - - - - - + + + + + + - + - + - + - - - - - - - - - + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - + + + + + + + - - - + + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - + + + + + + - - - - - - - - - + + + + + + + + + - - - - - + + + + + - - + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - + + - - - - - - - + + + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - + + + - - - + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - - + + + - - - - - - - - - - + + + + + + + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - + + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - + + - - + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - + + - - + + - - + + - - - + + + - - + + - + - - + + - - - + + + - - + + - - - - - - + + + + + + - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + - - + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - - + + + - - - + + + - + - - + + - + - - + + - - - - + + + + - - + + - - + + - - - - - + + + + + - - - - - + + + + + - - + + - - + + - + - - + + - + - - + + - - - - + + + + - + - - + + - - - - + + + + - - - - - + + + + + - - + + - - + + - + - - + + - - - + + + - - - + + + - + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + - + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - + + + - - - + + + - + - - - - + + + + - - - + + + - - - - - - + + + + + + - + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - + + - - + + - + - + - - + + - - + + - + - - - - - + + + + + - + - - - - - - + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - + + + - + - - - - - - - - + + + + + + + + - + - - - - - - - - + + + + + + + + - + - - - - - - - - - + + + + + + + + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - + + - - - - + + + + - - - + + + - - - - + + + + - - + + - - + + - - - - + + + + - - - - - - - + + + + + + + - - + + - - - - + + + + - - - - + + + + - + - - + + - - + + - - + + - + - - + + - - + + - - + + - + - + - + - - - - + + + + - - - - - - + + + + + + - - - + + + - - - + + + - - - + + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - + - - - - + + + + - + - - + + - - + + - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - + + - - + + - + - - + + - + - + - - + + - - + + - - + + - + - - - + + + - - + + diff --git a/src/ui/tools/freehand-base.cpp b/src/ui/tools/freehand-base.cpp index 0f14d7534..5858bfcfd 100644 --- a/src/ui/tools/freehand-base.cpp +++ b/src/ui/tools/freehand-base.cpp @@ -21,6 +21,7 @@ #endif #include "live_effects/lpe-patternalongpath.h" +#include "live_effects/lpe-simplify.h" #include "display/canvas-bpath.h" #include "xml/repr.h" #include "svg/svg.h" @@ -266,6 +267,23 @@ static void spdc_apply_powerstroke_shape(const std::vector & points lpe->getRepr()->setAttribute("offset_points", s.str().c_str()); } +static void spdc_apply_simplify(std::string threshold, FreehandBase *dc, SPItem *item) +{ + using namespace Inkscape::LivePathEffect; + + Effect::createAndApply(SIMPLIFY, dc->desktop->doc(), item); + Effect* lpe = SP_LPE_ITEM(item)->getCurrentLPE(); + // write powerstroke parameters: + lpe->getRepr()->setAttribute("steps", "1"); + lpe->getRepr()->setAttribute("threshold", threshold); + lpe->getRepr()->setAttribute("Helper size", "0"); + lpe->getRepr()->setAttribute("smooth_angles", "360"); + lpe->getRepr()->setAttribute("nodes", "false"); + lpe->getRepr()->setAttribute("handles", "false"); + lpe->getRepr()->setAttribute("simplifyindividualpaths", "false"); + lpe->getRepr()->setAttribute("simplifyJustCoalesce", "false"); +} + static void spdc_check_for_and_apply_waiting_LPE(FreehandBase *dc, SPItem *item, SPCurve *curve) { using namespace Inkscape::LivePathEffect; @@ -287,6 +305,14 @@ static void spdc_check_for_and_apply_waiting_LPE(FreehandBase *dc, SPItem *item, shapeType shape = (shapeType)prefs->getInt(tool_name(dc) + "/shape", 0); + bool simplify = prefs->getInt(tool_name(dc) + "/simplify", 0); + if(simplify){ + double tol = prefs->getDoubleLimited("/tools/freehand/pencil/tolerance", 10.0, 1.0, 100.0); + tol = tol/(100.0*(101.0-tol)); + std::ostringstream ss; + ss << tol; + spdc_apply_simplify(ss.str(), dc, item); + } bool shape_applied = false; SPCSSAttr *css_item = sp_css_attr_from_object(item, SP_STYLE_FLAG_ALWAYS); const char *cstroke = sp_repr_css_property(css_item, "stroke", "none"); diff --git a/src/ui/tools/pencil-tool.cpp b/src/ui/tools/pencil-tool.cpp index db24c7432..e30bb3a7a 100644 --- a/src/ui/tools/pencil-tool.cpp +++ b/src/ui/tools/pencil-tool.cpp @@ -637,8 +637,11 @@ void PencilTool::_interpolate() { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); double const tol = prefs->getDoubleLimited("/tools/freehand/pencil/tolerance", 10.0, 1.0, 100.0) * 0.4; - double const tolerance_sq = 0.02 * square(this->desktop->w2d().descrim() * tol) * exp(0.2 * tol - 2); - + double tolerance_sq = 0.02 * square(this->desktop->w2d().descrim() * tol) * exp(0.2 * tol - 2); + bool simplify = prefs->getInt("/tools/freehand/pencil/simplify", 0); + if(simplify){ + tolerance_sq = 0; + } g_assert(is_zero(this->req_tangent) || is_unit_vector(this->req_tangent)); this->green_curve->reset(); @@ -705,8 +708,11 @@ void PencilTool::_sketchInterpolate() { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); double const tol = prefs->getDoubleLimited("/tools/freehand/pencil/tolerance", 10.0, 1.0, 100.0) * 0.4; - double const tolerance_sq = 0.02 * square(this->desktop->w2d().descrim() * tol) * exp(0.2 * tol - 2); - + double tolerance_sq = 0.02 * square(this->desktop->w2d().descrim() * tol) * exp(0.2 * tol - 2); + bool simplify = prefs->getInt("/tools/freehand/pencil/simplify", 0); + if(simplify){ + tolerance_sq = 0; + } bool average_all_sketches = prefs->getBool("/tools/freehand/pencil/average_all_sketches", true); g_assert(is_zero(this->req_tangent) || is_unit_vector(this->req_tangent)); diff --git a/src/widgets/pencil-toolbar.cpp b/src/widgets/pencil-toolbar.cpp index 1214a378a..43d73dbc6 100644 --- a/src/widgets/pencil-toolbar.cpp +++ b/src/widgets/pencil-toolbar.cpp @@ -28,6 +28,7 @@ # include "config.h" #endif +#include #include #include "pencil-toolbar.h" @@ -43,6 +44,11 @@ #include "ui/tools/pen-tool.h" #include "ui/uxmanager.h" #include "widgets/spinbutton-events.h" +#include +#include "live_effects/lpe-simplify.h" +#include "live_effects/effect-enum.h" +#include "live_effects/lpeobject.h" +#include "sp-lpe-item.h" using Inkscape::UI::UXManager; using Inkscape::DocumentUndo; @@ -151,6 +157,12 @@ static void freehand_change_shape(EgeSelectOneAction* act, GObject *dataKludge) prefs->setInt(freehand_tool_name(dataKludge) + "/shape", shape); } +static void freehand_simplify_lpe(InkToggleAction* itact, GObject *dataKludge) { + gint simplify = gtk_toggle_action_get_active( GTK_TOGGLE_ACTION(itact) ); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt(freehand_tool_name(dataKludge) + "/simplify", simplify); +} + /** * Generate the list of freehand advanced shape option entries. */ @@ -232,6 +244,24 @@ static void sp_pencil_tb_tolerance_value_changed(GtkAdjustment *adj, GObject *tb prefs->setDouble("/tools/freehand/pencil/tolerance", gtk_adjustment_get_value(adj)); g_object_set_data( tbl, "freeze", GINT_TO_POINTER(FALSE) ); + SPDesktop *desktop = static_cast(g_object_get_data(tbl, "desktop")); + SPItem * item = desktop->getSelection()->singleItem(); + if(item){ + SPLPEItem* lpeitem = dynamic_cast(item); + if (lpeitem && lpeitem->hasPathEffect()){ + Inkscape::LivePathEffect::Effect* thisEffect = lpeitem->getPathEffectOfType(Inkscape::LivePathEffect::SIMPLIFY); + if(thisEffect){ + Inkscape::LivePathEffect::LPESimplify *lpe = dynamic_cast(thisEffect->getLPEObj()->get_lpe()); + if (lpe) { + double tol = prefs->getDoubleLimited("/tools/freehand/pencil/tolerance", 10.0, 1.0, 100.0); + tol = tol/(100.0*(101.0-tol)); + std::ostringstream ss; + ss << tol; + lpe->getRepr()->setAttribute("threshold", ss.str()); + } + } + } + } } /* @@ -303,6 +333,18 @@ void sp_pencil_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GOb g_signal_connect_after( G_OBJECT(inky), "activate", G_CALLBACK(sp_pencil_tb_defaults), holder ); gtk_action_group_add_action( mainActions, GTK_ACTION(inky) ); } + /* LPE simplify based tolerance */ + { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + InkToggleAction* itact = ink_toggle_action_new( "PencilLpeSimplify", + _("LPE based interactive simplify"), + _("LPE based interactive simplify"), + INKSCAPE_ICON("interactive_simplify"), + Inkscape::ICON_SIZE_DECORATION ); + gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(itact), prefs->getInt("/tools/freehand/pencil/simplify", 0) ); + g_signal_connect_after( G_OBJECT(itact), "toggled", G_CALLBACK(freehand_simplify_lpe), holder) ; + gtk_action_group_add_action( mainActions, GTK_ACTION(itact) ); + } g_signal_connect( holder, "destroy", G_CALLBACK(purge_repr_listener), holder ); diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp index 5d52db6f2..83180e43d 100644 --- a/src/widgets/toolbox.cpp +++ b/src/widgets/toolbox.cpp @@ -403,6 +403,8 @@ static gchar const * ui_descr = " " " " " " + " " + " " " " " " " " -- cgit v1.2.3