[cairo] create_surface_for_cg_context behavior in Cairo 1.9 vs. 1.12
cu
cairouser at yahoo.com
Sat Jun 2 05:44:59 PDT 2012
Andrea,
Please take a careful look at sample code. Source surface is an *image
surface* created previously (not shown in the sample) with
cairo_surface_create. CGContext surface is the *destination*.
Note that source pattern "qpat" is created from "source_surf".
Note that destination context "qcr" is created from "qsurf" which is the
CGContext surface.
Andrea Canciani wrote:
> On Sat, Jun 2, 2012 at 2:01 PM, cu <cairouser at yahoo.com> wrote:
>
>> The test case is quite simple:
>>
>> // .. set up source_surf as an image surface of the same size as the
>> UIView, draw into it...
>>
>> CGContextRef cgref = UIGraphicsGetCurrentContext();
>> qsurf = cairo_quartz_surface_create_for_cg_context(cgref,
>> source_surf_width, source_surf_height);
>> qpat = cairo_pattern_create_for_surface(source_surf);
>> qcr = cairo_create(qsurf);
>> cairo_set_source(qcr, qpat);
>> cairo_paint(qcr);
>>
> It looks like you're using a surface created with
> cairo_quartz_surface_create_for_cg_context() as source.
> That is quite a bad idea (see the "bad things" I warned you about).
>
> Would it be possible to draw on a surface created with
> cairo_quartz_surface_create(), instead?
> (I guess it might involve performing an additional blit)
>
More information about the cairo
mailing list