diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2017-03-28 15:24:09 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2017-03-28 15:24:09 (GMT) |
commit | f3354d608a38ceee396fc4d2f28c069a83346145 (patch) | |
tree | 169d8942f496f46d08869121587fd0b7aca5e727 /tksao/frame/ellipse.C | |
parent | 89ffa4a4bf0b10854c25503493fdeeb5235d128e (diff) | |
download | blt-f3354d608a38ceee396fc4d2f28c069a83346145.zip blt-f3354d608a38ceee396fc4d2f28c069a83346145.tar.gz blt-f3354d608a38ceee396fc4d2f28c069a83346145.tar.bz2 |
filled regions rendered XOR as non-filled
Diffstat (limited to 'tksao/frame/ellipse.C')
-rw-r--r-- | tksao/frame/ellipse.C | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tksao/frame/ellipse.C b/tksao/frame/ellipse.C index ca712cf..c07513a 100644 --- a/tksao/frame/ellipse.C +++ b/tksao/frame/ellipse.C @@ -48,17 +48,17 @@ Ellipse::Ellipse(Base* p, const Vector& ctr, void Ellipse::renderXCircleDraw(Drawable drawable, GC lgc, Vector& st, Vector& size, - int a1, int aa) + int a1, int aa, RenderMode mode) { - if (fill_) + if (fill_ && mode == SRC) XFillArc(display, drawable, lgc, st[0], st[1], size[0], size[1], a1, aa); else XDrawArc(display, drawable, lgc, st[0], st[1], size[0], size[1], a1, aa); } -void Ellipse::renderXEllipseDraw(Drawable drawable, GC lgc) +void Ellipse::renderXEllipseDraw(Drawable drawable, GC lgc, RenderMode mode) { - if (fill_) + if (fill_ && mode == SRC) XFillPolygon(display, drawable, lgc, xpoint_, xpointNum_, Convex, CoordModeOrigin); else if ((properties & SOURCE) && !(properties & DASH)) XDrawLines(display, drawable, lgc, xpoint_, xpointNum_, CoordModeOrigin); |