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