[cairo] understanding scaling in _cairo_surface_fallback_fill actual drawing code

Abhijit Bhopatkar ext.abhijeet.bhopatkar at azingo.com
Mon Oct 13 03:32:12 PDT 2008


Hi all,

I am trying to understand how cairo does scaling on the images.
In particular i am trying to change the filtering code used by cairo to scale 
images.
The cairo version i am using is 1.6.4

So far the call trace i have found for image surface is as below
I see that the entry for backend->fill for image surface is NULL hence cairo 
will use its fallback fill function.
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

cairo_fill_preserve->
....
->_cairo_surface_fill
->_cario_surface_fallback_fill  
...
->_cairo_xlib_surface_composite
->XRenderComposite

So where exactly does scaling get implemented?
Is it in XRenderer or X library or it happens somewhere in the middle of the 
above call trace.


Thanks 
Abhijit



More information about the cairo mailing list