Re: Unsymmetrical rotation
Blagoj Kupev <[email protected]>
| Newsgroups | gmane.comp.lib.cairo |
|---|---|
| Message-ID | <CAB=Grm1fYL=3iK0n8sOSvJzWwzLZTXQWA=RoEHkgvd64vSPzDQ@mail.gmail.com> |
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 <[email protected]> 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 <[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