summaryrefslogtreecommitdiffstats
path: root/tksao/frame
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2017-05-04 19:27:51 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2017-05-04 19:27:51 (GMT)
commit667315bf9bfdea07e8ac360ea2d833303988f0c9 (patch)
tree48a5908a54c0f32cb335b84aa166e605fc467580 /tksao/frame
parent3a54289e2fa00adf31513f22e5b547636aa242ee (diff)
downloadblt-667315bf9bfdea07e8ac360ea2d833303988f0c9.zip
blt-667315bf9bfdea07e8ac360ea2d833303988f0c9.tar.gz
blt-667315bf9bfdea07e8ac360ea2d833303988f0c9.tar.bz2
enhanced circle/ellipse X11 render
Diffstat (limited to 'tksao/frame')
-rw-r--r--tksao/frame/baseellipse.C5
1 files changed, 3 insertions, 2 deletions
diff --git a/tksao/frame/baseellipse.C b/tksao/frame/baseellipse.C
index f55989a..f041d7a 100644
--- a/tksao/frame/baseellipse.C
+++ b/tksao/frame/baseellipse.C
@@ -54,11 +54,12 @@ void BaseEllipse::renderX(Drawable drawable, Coord::InternalSystem sys,
parent->getWCSOrientation() == Coord::NORMAL;
int isRound = r[0] == r[1];
int isScale = z[0] == z[1];
- // int isAngle = teq(ang,0,FLT_EPSILON) || teq(ang,M_PI,FLT_EPSILON);
+ int isAng0 = teq(ang,0,FLT_EPSILON)||teq(ang,M_PI,FLT_EPSILON);
+ int is360 = teq(startAng_,0,FLT_EPSILON)&&teq(stopAng_,M_TWOPI,FLT_EPSILON);
if (isRound && isScale && isOrient && parent->isAzElZero())
renderXCircle(drawable, sys, ang, mode);
- else if (!ang && parent->isAzElZero())
+ else if (isAng0 && is360 && parent->isAzElZero())
renderXEllipse(drawable, sys, ang, mode);
else
renderXBezier(drawable, sys, mode);