diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2017-05-04 19:27:51 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2017-05-04 19:27:51 (GMT) |
commit | 667315bf9bfdea07e8ac360ea2d833303988f0c9 (patch) | |
tree | 48a5908a54c0f32cb335b84aa166e605fc467580 /tksao/frame | |
parent | 3a54289e2fa00adf31513f22e5b547636aa242ee (diff) | |
download | blt-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.C | 5 |
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); |