<br><br><div class="gmail_quote">On Dec 13, 2007 10:14 PM, Carl Worth &lt;<a href="mailto:cworth@cworth.org">cworth@cworth.org</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br>&gt; If I understand correctly (maybe I even read it somewhere), there are<br>&gt; basically to &quot;kinds&quot; of surfaces - the ones which do preserve drawing<br>&gt; operations (PDF, SVG, ...) and the ones which do not (xlib, image, ...). Is
<br>&gt; it so?<br><br></div>Yes, definitely. Those are basically vector vs. raster surfaces in<br>cairo.<br><div class="Ih2E3d"></div></blockquote><div><br>Maybe I overlooked something or it&#39;s very much obvious but is this in the docs somewhere? Because from API reference manual all the Surfaces look fairly equal -- a FAQ candidate? (I&#39;m not sure about that F, though).
<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d"><br></div><div class="Ih2E3d"><br>&gt; My original thought was that I will create an Image (or meta) surface, do
<br>&gt; all the drawing, then serialize this surface via programming language (e.g.<br>&gt; in python via pickle) and then reuse. In that way i wouldn&#39;t need to use<br>&gt; Poppler or librsvg.<br><br></div>So there&#39;s not really anything like that in cairo.
<br><br>What I would recommend is that in your program you have your own data<br>structures, and write code so that those data structures know how to<br>&quot;draw themselves&quot; given a cairo context. Then, you can pickle (or
<br>otherwise serialize) your objects and draw them with cairo however<br>you&#39;d like.<br><br>Does that make sense for your application?</blockquote><div>&nbsp;</div><div>Ok, that&#39;s cool, have to think about it. Thanks!
<br>&nbsp;</div></div>T.<br>