Hi,<br><br>I am using cairo on Windows to draw into Windows metafiles using the printing surface. Unfortunately the printing surface takes its surface extents from the original clip defined in the metafile device context, which by default is the physical screen size (I found no ways to change this). Then, if I draw on the surface outside its extent then some drawing operations (e.g., strokes) end up in the makefile, some others (fonts) do not. This is very annoying as I need to use co-ordinates larger than the current screen size. Right now I have patched my cairo copy to set the extents to a big enough value, but I hope a real solution can be made part of the next release. Also, I believe it is incorrect behaviour: a mechanism similar to clipping should clip either everything or nothing. <br>
<br>I am not that deep into cairo internals, but I remember seeing something as an unbounded surface: I think this is the right type of surface for a windows metafile (especially if its device context is passed unclipped to cairo). However, specifically for a printing surface I found no ways to indicate this. I am also a bit unsure what would be the impact of removing the extent for real printer device.<br>
<br>
I have submitted a bug (#25893) with example code quite some time ago and would be willing to contribute, but I think I need to discuss the above issues with someone knowing more of then win32 backend before just proposing a patch.<br>
<br>Here is a PNG rendering of an erroneous makefile to demo my effect.
(Each box is aligned at 100 boundaries and my screen size was something
like 1600x1120. Fonts do not show outside.)<br><span id="goog_2088534754"></span><span id="goog_2088534755"></span><a href="http://bugs.freedesktop.org/attachment.cgi?id=36266">http://bugs.freedesktop.org/attachment.cgi?id=36266</a><br>
<br>Can anyone help me how to progress this? <br><br>Zoltan<br>