summaryrefslogtreecommitdiffstats
path: root/tksao/frame/ellipse.C
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2017-03-28 15:24:09 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2017-03-28 15:24:09 (GMT)
commitf3354d608a38ceee396fc4d2f28c069a83346145 (patch)
tree169d8942f496f46d08869121587fd0b7aca5e727 /tksao/frame/ellipse.C
parent89ffa4a4bf0b10854c25503493fdeeb5235d128e (diff)
downloadblt-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.C8
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);