Le 13 juin 2011 à 14:41, Fred Kiefer a écrit :
I had to restrict the usage of the new image drawing mechanism for
the cairo backend to the cases where the clipping region is
representable as a list of rectangles. With the new drawing code we
store and restore the GState and this only works correctly when the
clipping region is composed of rectangles.
I don't see where the gstate is saved/restored in the new drawing
code and not in the old code path. I checked both Back and Gui.
Which lines are you referring to precisely? In Back cairo_save() and
cairo_restore() seems to be used in both cases. On the Gui side,
PSgsave(), DPSgsave(), PSgrestore() or DPSgrestore() seems to be used
in the same way in the two drawing methods.
The problem became obvious in the JigSaw Application which is now
part of GAP and which does use non-rectangular shapes for its
pieces. These pieces where drawn incorrectly with the new drawing
mechanism but correctly with the old one.
Are they drawn correctly on Mac OS X?
I would love to see a better solution for this, so feel free to
suggest one.
Agreed :-)