summaryrefslogtreecommitdiffstats
path: root/src/sp-ellipse.cpp
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2009-02-24 22:35:23 +0000
committertweenk <tweenk@users.sourceforge.net>2009-02-24 22:35:23 +0000
commitf6273b99839d47ae61816026047f69fef5d70573 (patch)
tree8064a96b29a44baa1c2a308155188887b17f5ef7 /src/sp-ellipse.cpp
parentfix win build (diff)
downloadinkscape-f6273b99839d47ae61816026047f69fef5d70573.tar.gz
inkscape-f6273b99839d47ae61816026047f69fef5d70573.zip
Fix for imprecise ellipse drawing by Alvin Penner.
(bzr r7366)
Diffstat (limited to 'src/sp-ellipse.cpp')
-rw-r--r--src/sp-ellipse.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/sp-ellipse.cpp b/src/sp-ellipse.cpp
index 976563754..8022be560 100644
--- a/src/sp-ellipse.cpp
+++ b/src/sp-ellipse.cpp
@@ -180,9 +180,6 @@ sp_genericellipse_update_patheffect(SPLPEItem *lpeitem, bool write)
((SPObject *)shape)->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG);
}
-
-#define C1 0.552
-
/* fixme: Think (Lauris) */
/* Can't we use arcto in this method? */
static void sp_genericellipse_set_shape(SPShape *shape)
@@ -220,7 +217,7 @@ static void sp_genericellipse_set_shape(SPShape *shape)
e = s + M_PI_2;
if (e > ellipse->end)
e = ellipse->end;
- len = C1 * (e - s) / M_PI_2;
+ len = 4*tan((e - s)/4)/3;
x0 = cos(s);
y0 = sin(s);
x1 = x0 + len * cos(s + M_PI_2);