[cairo] Adding cairo_shear and family

Carl Worth cworth at cworth.org
Thu Feb 12 17:06:31 PST 2009

On Tue, 2009-01-20 at 16:14 -0500, Behdad Esfahbod wrote:
> Well, yeah.  That's the other thing I was thinking about: maybe we don't need
> cairo_shear() afterall?

Sorry that I'm so late to the cairo_shear discussion.

As a historical note, it wasn't accidental that cairo has had translate,
rotate, and scale, but not shear. I went through a mental process much
like what was evidenced in the thread here, and I decided that there's
no obviously simple way to expose a shear operation. (This is in stark
contrast to tranlate, scale, and rotate which are easily understood from
the name alone---well, except for rotation direction and units I guess.)

So instead, we could adopt one of the more complex schemes described in
this thread. But in that case, the user couldn't have any hope of
getting things right without really studying the documentation and
understanding it. But at that point, it seems to me that it would be
just as easy to understand how to use cairo_matrix_init and

Particularly since shear isn't used as frequently, it doesn't seem like
it's worth the extra API complexity.

How about this as a compromise. Shall we use a shear matrix as an
example for cairo_matrix_init and cairo_transform? Then users searching
the documentation will at least find an answer telling them how to do
what they want.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.cairographics.org/archives/cairo/attachments/20090212/d910347a/attachment.pgp 

More information about the cairo mailing list