[cairo] understanding scaling in _cairo_surface_fallback_fill actual drawing code

Abhijit Bhopatkar ext.abhijeet.bhopatkar at azingo.com
Mon Oct 13 21:27:05 PDT 2008


On Monday 13 October 2008 23:02:21 Carl Worth wrote:
> On Mon, 2008-10-13 at 16:02 +0530, Abhijit Bhopatkar wrote:
> > I am trying to understand how cairo does scaling on the images.
>
> ...
>
> > But tracing further down i could not find any function that does actual
> > scaling of the image data. Finally the calls end up doing
> > XRenderComposite
>
> You've traced it succesfully.
>
> Cairo uses the X Render extension to pass the scaling matrix to the X
>
> Finally, you don't say *why* you're wanting to look at the image-scaling
> code, but one long-term complaint with the software implementation in
> pixman has been that scaling down by more than a factor of 2 has very
> poor results, (with the default biliinear filter). Jeff Muizelaar
> recently posted a new box-filter implementation for pixman that improves
> this dramatically:
> 	http://lists.cairographics.org/archives/cairo/2008-October/015338.html
>
Actually this is the patch i was trying out, but the code never got executed 
so i started tracing what i need to set as the filter in    
cairo_pattern_set_filter call before i do cairo_fill, but got confused on the 
way.
Unfortunately this means i will either have to fall back to image backend or 
do some X hacking to get this right.

> I hope that helps, and I hope you have fun with cairo!
Helps a lot thanks.

Abhijit



More information about the cairo mailing list