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/circle.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/circle.C')
-rw-r--r-- | tksao/frame/circle.C | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tksao/frame/circle.C b/tksao/frame/circle.C index 6d4971d..e643e47 100644 --- a/tksao/frame/circle.C +++ b/tksao/frame/circle.C @@ -60,17 +60,17 @@ void Circle::edit(const Vector& v, int h) void Circle::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 Circle::renderXEllipseDraw(Drawable drawable, GC lgc) +void Circle::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); |