Re: Unsymmetrical rotation

Blagoj Kupev <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <CAB=Grm3dY31+OeANf27i3uz+wZm0bUUHoAzCB9HgHE24ag1d_A@mail.gmail.com>
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 <[email protected]> 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
> [email protected]
> http://lists.cairographics.**org/mailman/listinfo/cairo<http://lists.cairographics.org/mailman/listinfo/cairo>
>

-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.