mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
There seems to be some odd behaviour when GTK is asked to draw an
outline polygon with a clipping rectangle active. I don't know or care whether this is GTK or my X server or what, but I'm working around it by drawing the lines myself, which seems to sort it out. [originally from svn r6227]
This commit is contained in:
12
gtk.c
12
gtk.c
@ -373,7 +373,17 @@ void gtk_draw_poly(void *handle, int *coords, int npoints,
|
||||
}
|
||||
assert(outlinecolour >= 0);
|
||||
gdk_gc_set_foreground(fe->gc, &fe->colours[outlinecolour]);
|
||||
gdk_draw_polygon(fe->pixmap, fe->gc, FALSE, points, npoints);
|
||||
|
||||
/*
|
||||
* In principle we ought to be able to use gdk_draw_polygon for
|
||||
* the outline as well. In fact, it turns out to interact badly
|
||||
* with a clipping region, for no terribly obvious reason, so I
|
||||
* draw the outline as a sequence of lines instead.
|
||||
*/
|
||||
for (i = 0; i < npoints; i++)
|
||||
gdk_draw_line(fe->pixmap, fe->gc,
|
||||
points[i].x, points[i].y,
|
||||
points[(i+1)%npoints].x, points[(i+1)%npoints].y);
|
||||
|
||||
sfree(points);
|
||||
}
|
||||
|
Reference in New Issue
Block a user