Carl,<br><br>Thanks! I appreciate the help. I should have posted here a few months ago when I first found the problem!<br><br>Your solution worked perfect.<br><br>To fix, I replaced these lines:<br><br> cairo_scale (cr, width, height);<br>
cairo_set_source_surface (cr, widget->bg_image_surface, 0, 0);<br> cairo_paint (cr);<br><br><br>With these lines:<br><br> cairo_scale (cr, width, height);<br> cairo_set_source_surface (cr, widget->bg_image_surface, 0, 0);<br>
cairo_pattern_set_extend(cairo_get_source(cr), CAIRO_EXTEND_PAD);<br> cairo_rectangle(cr, 0, 0, width, height);<br> cairo_fill(cr);<br><br><br>One thing to note, in my particular case, using cairo_paint worked fine. I figured I would add the cairo_rectangle & cairo_fill calls anyway, just to be safe.<br>
<br><br>If I can be of more help in tracking down this bug I'll lend my assistance. I'm personally out of ideas except for tracking down the issue to a block of code based on two versions of the intel drivers, which seems extremely painful.<br>
<br><br><br>Thanks,<br>Mike<br><br>--<br><div class="gmail_quote">On Thu, Jul 30, 2009 at 2:06 PM, Carl Worth <span dir="ltr"><<a href="mailto:cworth@cworth.org">cworth@cworth.org</a>></span> 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="im">On Thu, 2009-07-30 at 10:54 -0700, Bill Spitzak wrote:<br>
> Hate to be a pain about this, but I want to point out that this is yet<br>
> ANOTHER example that this is in fact NOT what any user expects or wants.<br>
> They think the driver is broken, in no way do they think it is doing the<br>
> correct thing!<br>
<br>
</div>Yes, Bill. We know that this is a common cause of confusion. I probably<br>
made a mistake in making EXTEND_NONE the default for surface-based<br>
patterns, (compare with gradient patterns where EXTEND_PAD is the<br>
default). If we had EXTEND_PAD as the default, then it would be that<br>
much easier for people to understand what cairo_paint() does and they<br>
would be forced to fix their code to do things like<br>
cairo_rectangle()cairo_fill() even before usiong a non-identity<br>
transformation.<br>
<div class="im"><br>
> I still think Cairo could be changed to do EXTEND_REPEAT and clip with<br>
> an antialiased polygon and everybody would be happier.<br>
<br>
</div>Certainly you mean EXTEND_PAD here, not EXTEND_REPEAT, (since<br>
EXTEND_REPEAT will give you discontinuities unless your image happens to<br>
be periodic).<br>
<br>
But still, adding an additional stage of compositing to all operations<br>
would not make me happy at all, (nor anybody else who cares about<br>
performance).<br>
<br>
The operation that people want is available in cairo, it just takes a<br>
little more typing, (set_extend;rectangle;fill rather than paint), but<br>
it's the kind of thing that's easy to wrap up as a "draw_image" function<br>
in whatever environment is calling into cairo.<br>
<font color="#888888"><br>
-Carl<br>
<br>
</font><br>_______________________________________________<br>
cairo mailing list<br>
<a href="mailto:cairo@cairographics.org">cairo@cairographics.org</a><br>
<a href="http://lists.cairographics.org/mailman/listinfo/cairo" target="_blank">http://lists.cairographics.org/mailman/listinfo/cairo</a><br></blockquote></div><br>