Add implementation of cairo_get_matrix

This commit is contained in:
Carl Worth 2003-09-03 07:14:18 +00:00
parent 1a6496eaec
commit 1568c818da
6 changed files with 29 additions and 4 deletions

View file

@ -1,3 +1,10 @@
2003-09-03 Carl Worth <cworth@east.isi.edu>
* src/cairo.h: Change cairo_get_matrix interface to accept a
cairo_matrix_t* rather than 6 double*.
* src/cairo.c (cairo_get_matrix): Add implementation of cairo_get_matrix.
2003-08-29 Carl Worth <cworth@isi.edu>
* src/cairo_surface.c (_cairo_surface_composite): Optimized case

View file

@ -498,6 +498,12 @@ _cairo_gstate_get_miter_limit (cairo_gstate_t *gstate)
return gstate->miter_limit;
}
void
_cairo_gstate_get_matrix (cairo_gstate_t *gstate, cairo_matrix_t *matrix)
{
cairo_matrix_copy (matrix, &gstate->ctm);
}
cairo_status_t
_cairo_gstate_translate (cairo_gstate_t *gstate, double tx, double ty)
{

View file

@ -688,6 +688,12 @@ cairo_get_miter_limit (cairo_t *cr)
return _cairo_gstate_get_miter_limit (cr->gstate);
}
void
cairo_get_matrix (cairo_t *cr, cairo_matrix_t *matrix)
{
_cairo_gstate_get_matrix (cr->gstate, matrix);
}
cairo_surface_t *
cairo_get_target_surface (cairo_t *cr)
{

View file

@ -370,10 +370,7 @@ cairo_get_miter_limit (cairo_t *cr);
/* XXX: How to do cairo_get_dash??? Do we want to switch to a cairo_dash object? */
extern void __external_linkage
cairo_get_matrix (cairo_t *cr,
double *a, double *b,
double *c, double *d,
double *tx, double *ty);
cairo_get_matrix (cairo_t *cr, cairo_matrix_t *matrix);
extern cairo_surface_t * __external_linkage
cairo_get_target_surface (cairo_t *cr);

View file

@ -498,6 +498,12 @@ _cairo_gstate_get_miter_limit (cairo_gstate_t *gstate)
return gstate->miter_limit;
}
void
_cairo_gstate_get_matrix (cairo_gstate_t *gstate, cairo_matrix_t *matrix)
{
cairo_matrix_copy (matrix, &gstate->ctm);
}
cairo_status_t
_cairo_gstate_translate (cairo_gstate_t *gstate, double tx, double ty)
{

View file

@ -456,6 +456,9 @@ _cairo_gstate_set_miter_limit (cairo_gstate_t *gstate, double limit);
extern double __internal_linkage
_cairo_gstate_get_miter_limit (cairo_gstate_t *gstate);
extern void __internal_linkage
_cairo_gstate_get_matrix (cairo_gstate_t *gstate, cairo_matrix_t *matrix);
extern cairo_status_t __internal_linkage
_cairo_gstate_translate (cairo_gstate_t *gstate, double tx, double ty);