[cairo] Unsymmetrical rotation

Blagoj Kupev bkupev at gmail.com
Mon Mar 4 13:03:34 PST 2013


Hello,
Does anyone else have any other idea? Can this be a bug in cairo?
Best regards,
Blagoj

On Sun, Mar 3, 2013 at 9:59 PM, Blagoj Kupev <bkupev at gmail.com> wrote:

> Hello,
> Already tried, and does not work... as i can understand the documentation
> the functions cairo_translate and cairo_rotate only modify the current
> transformation matrix and then the transformation is applied when the
> function cairo_set_source_surface is called. Then as i understand,
> cairo_set_source_surface is doing additional matrix transformation with the
> x and y offsets prior the matrix is executed.
>
> It seems that:
>
>    cairo_translate (cr, x_origin, y_origin);
>    cairo_rotate (cr, (2*3.14*angle/360));
>    cairo_set_source_surface(cr, surf1, x, y);
>
> Is the same as:
>
>    cairo_translate (cr, x_origin, y_origin);
>    cairo_rotate (cr, (2*3.14*angle/360));
>    cairo_translate (cr, x, y);
>    cairo_set_source_surface(cr, surf1, 0, 0);
>
> Thanks,
> Blagoj
>
> On Sun, Mar 3, 2013 at 9:37 PM, Bill Spitzak <spitzak at gmail.com> wrote:
>
>> On 03/03/2013 06:33 AM, Blagoj Kupev wrote:
>>
>>     cairo_translate (cr, x_origin, y_origin);
>>>    cairo_rotate (cr, (2*3.14*angle/360));
>>>
>>>    cairo_set_source_surface(cr, surf1, -x_origin+x_offset, -y_origin);
>>>    cairo_paint(cr);
>>>
>>
>> I think this will work:
>>
>>
>>     cairo_translate (cr, x_origin, y_origin);
>>     cairo_rotate (cr, (2*3.14*angle/360));
>>     cairo_translate (cr, x_offset, 0);
>>     cairo_set_source_surface(cr, surf1, -x_origin, -y_origin);
>>
>> --
>> cairo mailing list
>> cairo at cairographics.org
>> http://lists.cairographics.**org/mailman/listinfo/cairo<http://lists.cairographics.org/mailman/listinfo/cairo>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cairographics.org/archives/cairo/attachments/20130304/cf026feb/attachment.html>


More information about the cairo mailing list