That&#39;s a really nice approach. However, there are still situations where we want the rasterization of gradients to be independent of the surface extents, even the extents of the final destination surface. For example, when resizing the window, we do not necessarily repaint the entire window, and we may draw using the contents of cached surfaces representing &quot;layers&quot; of content in the window.<br>
<br>So I think we need some API to override the &quot;virtual extents&quot;, or some other way we can have the gradient rasterization in a fill(), stroke() or show_glyphs() depend only on the path/glyph extents.<br><br>I also think we need to have a public discussion about exactly what guarantees cairo should offer in this area. For example, for an interactive application the ideal would be if cairo can promise:<br>
1) Rasterization of pixels completely inside the clip region is independent of the clip region.<br>2) Rasterization of pixels inside the surface extents is independent of the surface extents.<br>but I understand that this is too restrictive on implementations as a general rule.<br>
<br clear="all">Rob<br>-- <br>&quot;Now the Bereans were of more noble character than the 
Thessalonians, for they received the message with great eagerness and 
examined the Scriptures every day to see if what Paul said was true.&quot; [Acts 17:11]<br>