diff --git a/src/live_effects/lpe-tiling.cpp b/src/live_effects/lpe-tiling.cpp index 73c35bc47e25d2314a85b3c046e11142452961b0..ced8e3fbac8882c7c5d080c726f85562e58f3a3f 100644 --- a/src/live_effects/lpe-tiling.cpp +++ b/src/live_effects/lpe-tiling.cpp @@ -16,6 +16,7 @@ #include #include #include +#include #include <2geom/intersection-graph.h> #include <2geom/path-intersection.h> #include <2geom/sbasis-to-bezier.h> @@ -329,14 +330,13 @@ void LPETiling::doAfterEffect(SPLPEItem const* lpeitem, Geom::PathVector *) { rotatein *=-1; } - double scalein = 1; - double scalegap = scaleok - scalein; + double scalein = 1.0; if (interpolate_scalex && interpolate_scaley) { - scalein = (scalegap * (i + j)) + 1; + scalein = pow(scaleok, i + j); } else if (interpolate_scalex) { - scalein = (scalegap * j) + 1; + scalein = pow(scaleok, j); } else if (interpolate_scaley) { - scalein = (scalegap * i) + 1; + scalein = pow(scaleok, i); } else { scalein = scaleok; } @@ -1394,14 +1394,13 @@ LPETiling::doEffect_path_post (Geom::PathVector const & path_in, FillRuleBool fi { rotatein *=-1; } - double scalein = 1; - double scalegap = scaleok - scalein; + double scalein = 1.0; if (interpolate_scalex && interpolate_scaley) { - scalein = (scalegap * (i + j)) + 1; + scalein = pow(scaleok, i + j); } else if (interpolate_scalex) { - scalein = (scalegap * j) + 1; + scalein = pow(scaleok, j); } else if (interpolate_scaley) { - scalein = (scalegap * i) + 1; + scalein = pow(scaleok, i); } else { scalein = scaleok; }