<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;" dir="ltr">
<p>Hello, I'm not that experienced with cairo.</p>
<p><br>
</p>
<p>Currently I have a program that draws a background, and then draws some text over that background.  The text moves around over the background.  The image is redrawn often (multiple times a second).</p>
<p><br>
</p>
<p>The background is generated through cairo, it is not an image or something like that.</p>
<p><br>
</p>
<p>What is the most efficient way to accomplish this?  I know that I could set the paint operator to source and redraw everything each frame, but it seems inefficient.</p>
<p>Is there a way to draw a layer, and then save that layer indefinitely (or have a layer dedicated to the text)?  So that then I could just clear just the text each time and draw it in a new location?</p>
<p><br>
</p>
<p>I'm using Xlib and drawing to an window through cairo_xlib_surface_create().</p>
<p><br>
</p>
<p>Heres what I'm basically trying to do:</p>
<p><br>
</p>
<p><span style="font-family: "Courier New", monospace;">    if (firstrun) {</span></p>
<p><span style="font-family: "Courier New", monospace;">        </span><span style="font-family: "Courier New", monospace;">draw_background();</span></p>
<p><span style="font-family: "Courier New", monospace;">    }</span></p>
<p><br>
</p>
<p><span style="font-family: "Courier New", monospace;">    clear_text();</span></p>
<p><span style="font-family: "Courier New", monospace;">    draw_text(new_location);</span></p>
<p><br>
</p>
</div>
</body>
</html>