Eliminate the following deprecated functions from cairo's interface:

cairo_copy cairo_get_path cairo_get_path_flat cairo_matrix_create cairo_matrix_destroy cairo_matrix_copy cairo_matrix_get_affine cairo_surface_set_repeat cairo_surface_set_matrix cairo_surface_get_matrix cairo_surface_set_filter cairo_surface_get_filter
Also, eliminate all support for compiling against, or running with old, deprecated names for functions.
Deal with all of the removals.
This commit is contained in:
Carl Worth 2005-05-06 13:32:53 +00:00
parent a790a2ea79
commit d7fe527e0f
24 changed files with 271 additions and 602 deletions

View file

@ -1,3 +1,68 @@
2005-05-06 Carl Worth <cworth@cworth.org>
* src/cairo.c:
* src/cairo.h: Eliminate the following deprecated functions from
cairo's interface:
cairo_copy
cairo_get_path
cairo_get_path_flat
cairo_matrix_create
cairo_matrix_destroy
cairo_matrix_copy
cairo_matrix_get_affine
cairo_surface_set_repeat
cairo_surface_set_matrix
cairo_surface_get_matrix
cairo_surface_set_filter
cairo_surface_get_filter
Also, eliminate all support for compiling against, or running with
old, deprecated names for functions.
* src/cairo-ft-font.c: (_compute_transform):
* src/cairo-gstate.c:
* src/cairo-image-surface.c: (cairo_image_surface_create_for_data):
* src/cairo-matrix.c: (_cairo_matrix_get_affine),
(_cairo_matrix_compute_adjoint),
(_cairo_matrix_is_integer_translation):
* src/cairo-pattern.c: (cairo_pattern_add_color_stop_rgba),
(cairo_pattern_set_matrix), (cairo_pattern_get_matrix),
(_cairo_image_data_set_linear), (_cairo_linear_pattern_classify),
(_cairo_image_data_set_radial):
* src/cairo-pdf-surface.c: (_cairo_pdf_surface_composite_image),
(_cairo_pdf_surface_composite_pdf), (emit_surface_pattern),
(emit_linear_pattern), (emit_radial_pattern):
* src/cairo-surface.c:
* src/cairo-xlib-surface.c:
(_cairo_xlib_surface_acquire_source_image),
(cairo_xlib_surface_create):
* src/cairo.c: (cairo_set_source_rgba), (cairo_set_source),
(cairo_get_source), (cairo_transform), (cairo_identity_matrix),
(cairo_user_to_device), (cairo_user_to_device_distance),
(cairo_device_to_user), (cairo_device_to_user_distance),
(cairo_reset_clip), (cairo_select_font_face), (cairo_font_extents),
(cairo_set_font_size), (cairo_get_operator), (cairo_get_rgb_color),
(cairo_get_tolerance), (cairo_get_fill_rule),
(cairo_get_line_width), (cairo_get_line_cap),
(cairo_get_line_join), (cairo_get_miter_limit), (cairo_get_matrix),
(cairo_get_target), (cairo_status), (cairo_status_string):
* src/cairoint.h:
* test/cairo-test.c: (cairo_test_create_png_pattern):
* test/gradient-alpha.c: (draw):
* test/mask.c: (set_gradient_pattern), (set_image_pattern):
* test/move-to-show-surface.c: (draw):
* test/select-font-no-show-text.c: (draw):
* test/set-source.c: (draw):
* test/text-cache-crash.c: (draw):
* test/text-rotate.c: (draw):
* test/transforms.c: (draw_L_shape):
* test/translate-show-surface.c: (draw):
* test/trap-clip.c: (set_gradient_pattern), (set_image_pattern):
* util/cairo-api-update:
Deal with all of the removals.
2005-05-06 Carl Worth <cworth@cworth.org>
* src/cairo-glitz-surface.c: (_glitz_operator),

View file

@ -432,10 +432,10 @@ _compute_transform (ft_font_transform_t *sf,
&sf->x_scale, &sf->y_scale,
/* XXX */ 1);
cairo_matrix_scale (&normalized, 1.0 / sf->x_scale, 1.0 / sf->y_scale);
cairo_matrix_get_affine (&normalized,
&sf->shape[0][0], &sf->shape[0][1],
&sf->shape[1][0], &sf->shape[1][1],
&tx, &ty);
_cairo_matrix_get_affine (&normalized,
&sf->shape[0][0], &sf->shape[0][1],
&sf->shape[1][0], &sf->shape[1][1],
&tx, &ty);
}
/* Temporarily scales an unscaled font to the give scale. We catch

View file

@ -251,21 +251,6 @@ _cairo_gstate_clone (cairo_gstate_t *gstate)
return clone;
}
cairo_status_t
_cairo_gstate_copy (cairo_gstate_t *dest, cairo_gstate_t *src)
{
cairo_status_t status;
cairo_gstate_t *next;
/* Preserve next pointer over fini/init */
next = dest->next;
_cairo_gstate_fini (dest);
status = _cairo_gstate_init_copy (dest, src);
dest->next = next;
return status;
}
/* Push rendering off to an off-screen group. */
/* XXX: Rethinking this API
cairo_status_t

View file

@ -223,7 +223,6 @@ cairo_image_surface_create_for_data (unsigned char *data,
return &surface->base;
}
DEPRECATE(cairo_surface_create_for_image, cairo_image_surface_create_for_data);
/**
* cairo_image_surface_get_width:

View file

@ -46,67 +46,6 @@ _cairo_matrix_scalar_multiply (cairo_matrix_t *matrix, double scalar);
static void
_cairo_matrix_compute_adjoint (cairo_matrix_t *matrix);
/**
* cairo_matrix_create:
*
* Creates a new identity matrix.
*
* Return value: a newly created matrix; free with cairo_matrix_destroy(),
* or %NULL if memory couldn't be allocated.
*
* WARNING: This function is deprecated and will be disappearing
* shortly. Now that the structure of #cairo_matrix_t is exposed,
* users can manage the memory on their own, (in particular by putting
* a cairo_matrix_t on the stack).
**/
cairo_matrix_t *
cairo_matrix_create (void)
{
cairo_matrix_t *matrix;
matrix = malloc (sizeof (cairo_matrix_t));
if (matrix == NULL)
return NULL;
cairo_matrix_init_identity (matrix);
return matrix;
}
/**
* cairo_matrix_destroy:
* @matrix: a #cairo_matrix_t
*
* Frees a matrix created with cairo_matrix_create.
*
* WARNING: This function is deprecated and will be disappearing
* shortly. Now that the structure of #cairo_matrix_t is exposed,
* users can manage the memory on their own, (in particular by putting
* a cairo_matrix_t on the stack).
**/
void
cairo_matrix_destroy (cairo_matrix_t *matrix)
{
free (matrix);
}
/**
* cairo_matrix_copy:
* @matrix: a #cairo_matrix_t
* @other: another #cairo_
*
* Modifies @matrix to be identical to @other.
*
* WARNING: This function is deprecated and will be disappearing
* shortly. Now that the structure of #cairo_matrix_t is exposed,
* users can copy a matrix by direct assignment.
**/
void
cairo_matrix_copy (cairo_matrix_t *matrix, const cairo_matrix_t *other)
{
*matrix = *other;
}
/**
* cairo_matrix_init_identity:
* @matrix: a #cairo_matrix_t
@ -122,7 +61,6 @@ cairo_matrix_init_identity (cairo_matrix_t *matrix)
0, 0);
}
slim_hidden_def(cairo_matrix_init_identity);
DEPRECATE(cairo_matrix_set_identity, cairo_matrix_init_identity);
/**
* cairo_matrix_init:
@ -153,40 +91,38 @@ cairo_matrix_init (cairo_matrix_t *matrix,
matrix->x0 = x0; matrix->y0 = y0;
}
slim_hidden_def(cairo_matrix_init);
DEPRECATE(cairo_matrix_set_affine, cairo_matrix_init);
/**
* cairo_matrix_get_affine:
* _cairo_matrix_get_affine:
* @matrix: a @cairo_matrix_t
* @a: location to store a component of affine transformation, or %NULL
* @b: location to store b component of affine transformation, or %NULL
* @c: location to store c component of affine transformation, or %NULL
* @d: location to store d component of affine transformation, or %NULL
* @tx: location to store X-translation component of affine transformation, or %NULL
* @ty: location to store Y-translation component of affine transformation, or %NULL
* @xx: location to store xx component of matrix
* @yx: location to store yx component of matrix
* @xy: location to store xy component of matrix
* @yy: location to store yy component of matrix
* @x0: location to store x0 (X-translation component) of matrix, or %NULL
* @y0: location to store y0 (Y-translation component) of matrix, or %NULL
*
* Gets the matrix values for the affine tranformation that @matrix represents.
* See cairo_matrix_init().
*
* WARNING: This function is deprecated and will be disappearing
* shortly. Now that the structure of #cairo_matrix_t is exposed,
* users can just examine the matrix values directly.
*
* This function is a leftover from the old public API, but is still
* mildly useful as an internal means for getting at the matrix
* members in a positional way. For example, when reassigning to some
* external matrix type, or when renaming members to more meaningful
* names (such as a,b,c,d,e,f) for particular manipulations.
**/
void
cairo_matrix_get_affine (cairo_matrix_t *matrix,
double *xx, double *yx,
double *xy, double *yy,
double *x0, double *y0)
_cairo_matrix_get_affine (cairo_matrix_t *matrix,
double *xx, double *yx,
double *xy, double *yy,
double *x0, double *y0)
{
if (xx)
*xx = matrix->xx;
if (yx)
*yx = matrix->yx;
*xx = matrix->xx;
*yx = matrix->yx;
if (xy)
*xy = matrix->xy;
if (yy)
*yy = matrix->yy;
*xy = matrix->xy;
*yy = matrix->yy;
if (x0)
*x0 = matrix->x0;
@ -495,10 +431,10 @@ _cairo_matrix_compute_adjoint (cairo_matrix_t *matrix)
/* adj (A) = transpose (C:cofactor (A,i,j)) */
double a, b, c, d, tx, ty;
cairo_matrix_get_affine (matrix,
&a, &b,
&c, &d,
&tx, &ty);
_cairo_matrix_get_affine (matrix,
&a, &b,
&c, &d,
&tx, &ty);
cairo_matrix_init (matrix,
d, -b,
@ -627,7 +563,7 @@ _cairo_matrix_is_integer_translation(cairo_matrix_t *mat,
double a, b, c, d, tx, ty;
int ttx, tty;
int ok = 0;
cairo_matrix_get_affine (mat, &a, &b, &c, &d, &tx, &ty);
_cairo_matrix_get_affine (mat, &a, &b, &c, &d, &tx, &ty);
ttx = _cairo_fixed_from_double (tx);
tty = _cairo_fixed_from_double (ty);
ok = ((a == 1.0)

View file

@ -368,12 +368,11 @@ cairo_pattern_add_color_stop_rgba (cairo_pattern_t *pattern,
offset,
&color);
}
DEPRECATE (cairo_pattern_add_color_stop, cairo_pattern_add_color_stop_rgba);
cairo_status_t
cairo_pattern_set_matrix (cairo_pattern_t *pattern, cairo_matrix_t *matrix)
{
cairo_matrix_copy (&pattern->matrix, matrix);
pattern->matrix = *matrix;
return CAIRO_STATUS_SUCCESS;
}
@ -381,7 +380,7 @@ cairo_pattern_set_matrix (cairo_pattern_t *pattern, cairo_matrix_t *matrix)
cairo_status_t
cairo_pattern_get_matrix (cairo_pattern_t *pattern, cairo_matrix_t *matrix)
{
cairo_matrix_copy (matrix, &pattern->matrix);
*matrix = pattern->matrix;
return CAIRO_STATUS_SUCCESS;
}
@ -681,8 +680,8 @@ _cairo_image_data_set_linear (cairo_linear_pattern_t *pattern,
point1.x = pattern->point1.x;
point1.y = pattern->point1.y;
cairo_matrix_get_affine (&pattern->base.base.matrix,
&a, &b, &c, &d, &tx, &ty);
_cairo_matrix_get_affine (&pattern->base.base.matrix,
&a, &b, &c, &d, &tx, &ty);
dx = point1.x - point0.x;
dy = point1.y - point0.y;
@ -736,8 +735,8 @@ _cairo_linear_pattern_classify (cairo_linear_pattern_t *pattern,
point1.x = pattern->point1.x;
point1.y = pattern->point1.y;
cairo_matrix_get_affine (&pattern->base.base.matrix,
&a, &b, &c, &d, &tx, &ty);
_cairo_matrix_get_affine (&pattern->base.base.matrix,
&a, &b, &c, &d, &tx, &ty);
dx = point1.x - point0.x;
dy = point1.y - point0.y;
@ -810,8 +809,8 @@ _cairo_image_data_set_radial (cairo_radial_pattern_t *pattern,
r1_2 = c0_c1 = 0.0; /* shut up compiler */
}
cairo_matrix_get_affine (&pattern->base.base.matrix,
&a, &b, &c, &d, &tx, &ty);
_cairo_matrix_get_affine (&pattern->base.base.matrix,
&a, &b, &c, &d, &tx, &ty);
for (y = 0; y < height; y++) {
for (x = 0; x < width; x++) {

View file

@ -1243,7 +1243,7 @@ _cairo_pdf_surface_composite_image (cairo_pdf_surface_t *dst,
_cairo_pdf_surface_ensure_stream (dst);
cairo_matrix_copy (&i2u, &pattern->base.matrix);
i2u = pattern->base.matrix;
cairo_matrix_invert (&i2u);
cairo_matrix_translate (&i2u, 0, image->height);
cairo_matrix_scale (&i2u, image->width, -image->height);
@ -1286,7 +1286,7 @@ _cairo_pdf_surface_composite_pdf (cairo_pdf_surface_t *dst,
src = (cairo_pdf_surface_t *) pattern->surface;
cairo_matrix_copy (&i2u, &src->base.matrix);
i2u = src->base.matrix;
cairo_matrix_invert (&i2u);
cairo_matrix_scale (&i2u,
1.0 / (src->width_inches * document->x_ppi),
@ -1420,7 +1420,7 @@ emit_surface_pattern (cairo_pdf_surface_t *dst,
cairo_matrix_init_identity (&pm);
cairo_matrix_scale (&pm, image->width, image->height);
cairo_matrix_copy (&pm, &pattern->base.matrix);
pm = pattern->base.matrix;
cairo_matrix_invert (&pm);
snprintf (entries, sizeof entries,
@ -1502,7 +1502,7 @@ emit_linear_pattern (cairo_pdf_surface_t *surface, cairo_linear_pattern_t *patte
function_id = emit_pattern_stops (surface, &pattern->base);
cairo_matrix_copy (&p2u, &pattern->base.base.matrix);
p2u = pattern->base.base.matrix;
cairo_matrix_invert (&p2u);
x0 = pattern->point0.x;
@ -1556,7 +1556,7 @@ emit_radial_pattern (cairo_pdf_surface_t *surface, cairo_radial_pattern_t *patte
function_id = emit_pattern_stops (surface, &pattern->base);
cairo_matrix_copy (&p2u, &pattern->base.base.matrix);
p2u = pattern->base.base.matrix;
cairo_matrix_invert (&p2u);
x0 = pattern->center0.x;

View file

@ -540,85 +540,6 @@ _cairo_surface_clone_similar (cairo_surface_t *surface,
return status;
}
cairo_status_t
cairo_surface_set_matrix (cairo_surface_t *surface, cairo_matrix_t *matrix)
{
if (surface->finished)
return CAIRO_STATUS_SURFACE_FINISHED;
if (surface == NULL)
return CAIRO_STATUS_NULL_POINTER;
cairo_matrix_copy (&surface->matrix, matrix);
return CAIRO_STATUS_SUCCESS;
}
slim_hidden_def(cairo_surface_set_matrix);
cairo_status_t
cairo_surface_get_matrix (cairo_surface_t *surface, cairo_matrix_t *matrix)
{
if (surface->finished)
return CAIRO_STATUS_SURFACE_FINISHED;
if (surface == NULL)
return CAIRO_STATUS_NULL_POINTER;
cairo_matrix_copy (matrix, &surface->matrix);
return CAIRO_STATUS_SUCCESS;
}
slim_hidden_def(cairo_surface_get_matrix);
cairo_status_t
cairo_surface_set_filter (cairo_surface_t *surface, cairo_filter_t filter)
{
if (surface->finished)
return CAIRO_STATUS_SURFACE_FINISHED;
if (surface == NULL)
return CAIRO_STATUS_NULL_POINTER;
surface->filter = filter;
return CAIRO_STATUS_SUCCESS;
}
cairo_filter_t
cairo_surface_get_filter (cairo_surface_t *surface)
{
return surface->filter;
}
/* XXX: NYI
cairo_status_t
cairo_surface_clip_rectangle (cairo_surface_t *surface,
int x, int y,
int width, int height)
{
}
*/
/* XXX: NYI
cairo_status_t
cairo_surface_clip_restore (cairo_surface_t *surface);
*/
cairo_status_t
cairo_surface_set_repeat (cairo_surface_t *surface, int repeat)
{
if (surface->finished)
return CAIRO_STATUS_SURFACE_FINISHED;
if (surface == NULL)
return CAIRO_STATUS_NULL_POINTER;
surface->repeat = repeat;
return CAIRO_STATUS_SUCCESS;
}
slim_hidden_def(cairo_surface_set_repeat);
typedef struct {
cairo_surface_t *dst;
cairo_rectangle_t extents;

View file

@ -377,13 +377,8 @@ _cairo_xlib_surface_acquire_source_image (void *abstract_surf
cairo_status_t status;
status = _get_image_surface (surface, NULL, &image, NULL);
if (status == CAIRO_STATUS_SUCCESS) {
cairo_surface_set_filter (&image->base, surface->base.filter);
cairo_surface_set_matrix (&image->base, &surface->base.matrix);
cairo_surface_set_repeat (&image->base, surface->base.repeat);
if (status == CAIRO_STATUS_SUCCESS)
*image_out = image;
}
return status;
}
@ -1023,7 +1018,6 @@ cairo_xlib_surface_create (Display *dpy,
visual,
format);
}
DEPRECATE (cairo_surface_create_for_drawable, cairo_xlib_surface_create);
/**
* cairo_xlib_surface_create_for_pixmap:

View file

@ -248,38 +248,6 @@ cairo_restore (cairo_t *cr)
}
slim_hidden_def(cairo_restore);
/**
* cairo_copy:
* @dest: a #cairo_t
* @src: another #cairo_t
*
* This function copies all current state information from src to
* dest. This includes the current point and path, the target surface,
* the transformation matrix, and so forth.
*
* The stack of states saved with cairo_save() is <emphasis>not</emphasis>
* not copied; nor are any saved states on @dest cleared. The
* operation only copies the current state of @src to the current
* state of @dest.
**/
void
cairo_copy (cairo_t *dest, cairo_t *src)
{
CAIRO_CHECK_SANITY (src);
CAIRO_CHECK_SANITY (dest);
if (dest->status)
return;
if (src->status) {
dest->status = src->status;
return;
}
dest->status = _cairo_gstate_copy (dest->gstate, src->gstate);
CAIRO_CHECK_SANITY (src);
CAIRO_CHECK_SANITY (dest);
}
/* XXX: I want to rethink this API
void
cairo_push_group (cairo_t *cr)
@ -405,7 +373,6 @@ cairo_set_source_rgba (cairo_t *cr,
CAIRO_CHECK_SANITY (cr);
}
DEPRECATE(cairo_set_rgb_color, cairo_set_source_rgb);
void
cairo_set_source_surface (cairo_t *cr,
@ -459,7 +426,6 @@ cairo_set_source (cairo_t *cr, cairo_pattern_t *source)
cr->status = _cairo_gstate_set_source (cr->gstate, source);
CAIRO_CHECK_SANITY (cr);
}
DEPRECATE(cairo_set_pattern, cairo_set_source);
/**
* cairo_get_source:
@ -482,7 +448,6 @@ cairo_get_source (cairo_t *cr)
return _cairo_gstate_get_source (cr->gstate);
}
DEPRECATE(cairo_current_pattern, cairo_get_source);
/**
* cairo_set_tolerance:
@ -720,7 +685,6 @@ cairo_transform (cairo_t *cr, cairo_matrix_t *matrix)
cr->status = _cairo_gstate_transform (cr->gstate, matrix);
CAIRO_CHECK_SANITY (cr);
}
DEPRECATE(cairo_concat_matrix, cairo_transform);
/**
* cairo_set_matrix:
@ -761,7 +725,6 @@ cairo_identity_matrix (cairo_t *cr)
cr->status = _cairo_gstate_identity_matrix (cr->gstate);
CAIRO_CHECK_SANITY (cr);
}
DEPRECATE(cairo_default_matrix, cairo_identity_matrix);
/**
* cairo_user_to_device:
@ -783,7 +746,6 @@ cairo_user_to_device (cairo_t *cr, double *x, double *y)
cr->status = _cairo_gstate_user_to_device (cr->gstate, x, y);
CAIRO_CHECK_SANITY (cr);
}
DEPRECATE(cairo_transform_point, cairo_user_to_device);
/**
* cairo_user_to_device_distance:
@ -806,7 +768,6 @@ cairo_user_to_device_distance (cairo_t *cr, double *dx, double *dy)
cr->status = _cairo_gstate_user_to_device_distance (cr->gstate, dx, dy);
CAIRO_CHECK_SANITY (cr);
}
DEPRECATE(cairo_transform_distance, cairo_user_to_device_distance);
/**
* cairo_device_to_user:
@ -828,7 +789,6 @@ cairo_device_to_user (cairo_t *cr, double *x, double *y)
cr->status = _cairo_gstate_device_to_user (cr->gstate, x, y);
CAIRO_CHECK_SANITY (cr);
}
DEPRECATE(cairo_inverse_transform_point, cairo_device_to_user);
/**
* cairo_device_to_user_distance:
@ -851,7 +811,6 @@ cairo_device_to_user_distance (cairo_t *cr, double *dx, double *dy)
cr->status = _cairo_gstate_device_to_user_distance (cr->gstate, dx, dy);
CAIRO_CHECK_SANITY (cr);
}
DEPRECATE(cairo_inverse_transform_distance, cairo_device_to_user_distance);
void
cairo_new_path (cairo_t *cr)
@ -1548,7 +1507,6 @@ cairo_reset_clip (cairo_t *cr)
cr->status = _cairo_gstate_reset_clip (cr->gstate);
CAIRO_CHECK_SANITY (cr);
}
DEPRECATE (cairo_init_clip, cairo_reset_clip);
/**
* cairo_select_font_face:
@ -1578,7 +1536,6 @@ cairo_select_font_face (cairo_t *cr,
cr->status = _cairo_gstate_select_font_face (cr->gstate, family, slant, weight);
CAIRO_CHECK_SANITY (cr);
}
DEPRECATE (cairo_select_font, cairo_select_font_face);
/**
* cairo_get_font_face:
@ -1624,8 +1581,6 @@ cairo_font_extents (cairo_t *cr,
cr->status = _cairo_gstate_get_font_extents (cr->gstate, extents);
CAIRO_CHECK_SANITY (cr);
}
DEPRECATE (cairo_current_font_extents, cairo_font_extents);
DEPRECATE (cairo_get_font_extents, cairo_font_extents);
/**
* cairo_set_font_face:
@ -1669,7 +1624,6 @@ cairo_set_font_size (cairo_t *cr, double size)
cr->status = _cairo_gstate_set_font_size (cr->gstate, size);
CAIRO_CHECK_SANITY (cr);
}
DEPRECATE (cairo_scale_font, cairo_set_font_size);
/**
* cairo_set_font_matrix
@ -1912,7 +1866,6 @@ cairo_get_operator (cairo_t *cr)
CAIRO_CHECK_SANITY (cr);
return _cairo_gstate_get_operator (cr->gstate);
}
DEPRECATE (cairo_current_operator, cairo_get_operator);
/**
* cairo_get_rgb_color:
@ -1938,7 +1891,6 @@ cairo_get_rgb_color (cairo_t *cr, double *red, double *green, double *blue)
_cairo_gstate_get_rgb_color (cr->gstate, red, green, blue);
CAIRO_CHECK_SANITY (cr);
}
DEPRECATE (cairo_current_rgb_color, cairo_get_rgb_color);
/**
* cairo_get_tolerance:
@ -1954,7 +1906,6 @@ cairo_get_tolerance (cairo_t *cr)
CAIRO_CHECK_SANITY (cr);
return _cairo_gstate_get_tolerance (cr->gstate);
}
DEPRECATE (cairo_current_tolerance, cairo_get_tolerance);
/**
* cairo_get_current_point:
@ -2004,7 +1955,6 @@ cairo_get_current_point (cairo_t *cr, double *x_ret, double *y_ret)
CAIRO_CHECK_SANITY (cr);
}
slim_hidden_def(cairo_get_current_point);
DEPRECATE (cairo_current_point, cairo_get_current_point);
/**
* cairo_get_fill_rule:
@ -2020,7 +1970,6 @@ cairo_get_fill_rule (cairo_t *cr)
CAIRO_CHECK_SANITY (cr);
return _cairo_gstate_get_fill_rule (cr->gstate);
}
DEPRECATE (cairo_current_fill_rule, cairo_get_fill_rule);
/**
* cairo_get_line_width:
@ -2036,7 +1985,6 @@ cairo_get_line_width (cairo_t *cr)
CAIRO_CHECK_SANITY (cr);
return _cairo_gstate_get_line_width (cr->gstate);
}
DEPRECATE (cairo_current_line_width, cairo_get_line_width);
/**
* cairo_get_line_cap:
@ -2052,7 +2000,6 @@ cairo_get_line_cap (cairo_t *cr)
CAIRO_CHECK_SANITY (cr);
return _cairo_gstate_get_line_cap (cr->gstate);
}
DEPRECATE (cairo_current_line_cap, cairo_get_line_cap);
/**
* cairo_get_line_join:
@ -2068,7 +2015,6 @@ cairo_get_line_join (cairo_t *cr)
CAIRO_CHECK_SANITY (cr);
return _cairo_gstate_get_line_join (cr->gstate);
}
DEPRECATE (cairo_current_line_join, cairo_get_line_join);
/**
* cairo_get_miter_limit:
@ -2084,7 +2030,6 @@ cairo_get_miter_limit (cairo_t *cr)
CAIRO_CHECK_SANITY (cr);
return _cairo_gstate_get_miter_limit (cr->gstate);
}
DEPRECATE (cairo_current_miter_limit, cairo_get_miter_limit);
/**
* cairo_get_matrix:
@ -2099,7 +2044,6 @@ cairo_get_matrix (cairo_t *cr, cairo_matrix_t *matrix)
CAIRO_CHECK_SANITY (cr);
_cairo_gstate_get_matrix (cr->gstate, matrix);
}
DEPRECATE(cairo_current_matrix, cairo_get_matrix);
/**
* cairo_get_target:
@ -2121,93 +2065,6 @@ cairo_get_target (cairo_t *cr)
return _cairo_gstate_get_target (cr->gstate);
}
DEPRECATE (cairo_current_target_surface, cairo_get_target);
void
cairo_get_path (cairo_t *cr,
cairo_move_to_func_t *move_to,
cairo_line_to_func_t *line_to,
cairo_curve_to_func_t *curve_to,
cairo_close_path_func_t *close_path,
void *closure)
{
int i;
cairo_path_t *path;
cairo_path_data_t *data;
CAIRO_CHECK_SANITY (cr);
if (cr->status)
return;
path = cairo_copy_path (cr);
for (i=0; i < path->num_data; i += path->data[i].header.length) {
data = &path->data[i];
switch (data->header.type) {
case CAIRO_PATH_MOVE_TO:
(move_to) (closure, data[1].point.x, data[1].point.y);
break;
case CAIRO_PATH_LINE_TO:
(line_to) (closure, data[1].point.x, data[1].point.y);
break;
case CAIRO_PATH_CURVE_TO:
(curve_to) (closure,
data[1].point.x, data[1].point.y,
data[2].point.x, data[2].point.y,
data[3].point.x, data[3].point.y);
break;
case CAIRO_PATH_CLOSE_PATH:
(close_path) (closure);
break;
}
}
cairo_path_destroy (path);
CAIRO_CHECK_SANITY (cr);
}
DEPRECATE (cairo_current_path, cairo_get_path);
void
cairo_get_path_flat (cairo_t *cr,
cairo_move_to_func_t *move_to,
cairo_line_to_func_t *line_to,
cairo_close_path_func_t *close_path,
void *closure)
{
int i;
cairo_path_t *path;
cairo_path_data_t *data;
CAIRO_CHECK_SANITY (cr);
if (cr->status)
return;
path = cairo_copy_path_flat (cr);
for (i=0; i < path->num_data; i += path->data[i].header.length) {
data = &path->data[i];
switch (data->header.type) {
case CAIRO_PATH_MOVE_TO:
(move_to) (closure, data[1].point.x, data[1].point.y);
break;
case CAIRO_PATH_LINE_TO:
(line_to) (closure, data[1].point.x, data[1].point.y);
break;
case CAIRO_PATH_CLOSE_PATH:
(close_path) (closure);
break;
case CAIRO_PATH_CURVE_TO:
ASSERT_NOT_REACHED;
break;
}
}
cairo_path_destroy (path);
CAIRO_CHECK_SANITY (cr);
}
DEPRECATE (cairo_current_path_flat, cairo_get_path_flat);
/**
* cairo_copy_path:
@ -2301,7 +2158,6 @@ cairo_status (cairo_t *cr)
CAIRO_CHECK_SANITY (cr);
return cr->status;
}
DEPRECATE (cairo_get_status, cairo_status);
const char *
cairo_status_string (cairo_t *cr)
@ -2341,7 +2197,6 @@ cairo_status_string (cairo_t *cr)
return "<unknown error status>";
}
DEPRECATE (cairo_get_status_string, cairo_status_string);
void
_cairo_restrict_value (double *value, double min, double max)

View file

@ -214,10 +214,6 @@ cairo_save (cairo_t *cr);
void
cairo_restore (cairo_t *cr);
/* XXX: Replace with cairo_get_gstate/cairo_set_gstate */
void
cairo_copy (cairo_t *dest, cairo_t *src);
/* XXX: I want to rethink this API
void
cairo_push_group (cairo_t *cr);
@ -268,10 +264,6 @@ cairo_set_source_surface (cairo_t *cr,
double x,
double y);
/* XXX: Currently, the tolerance value is specified by the user in
terms of device-space units. If I'm not mistaken, this is the only
value in this API that is not expressed in user-space units. I
should think whether this value should be user-space instead. */
void
cairo_set_tolerance (cairo_t *cr, double tolerance);
@ -425,16 +417,9 @@ cairo_rectangle (cairo_t *cr,
double x, double y,
double width, double height);
/* XXX: This is the same name that PostScript uses, but to me the name
suggests an actual drawing operation ala cairo_stroke --- especially
since I want to add a cairo_path_t and with that it would be
natural to have "cairo_stroke_path (cairo_t *, cairo_path_t *)"
Maybe we could use something like "cairo_outline_path (cairo_t *)"?
*/
/* XXX: NYI
void
cairo_stroke_path (cairo_t *cr);
cairo_stroke_to_path (cairo_t *cr);
*/
void
@ -524,7 +509,7 @@ typedef struct _cairo_scaled_font cairo_scaled_font_t;
* a font by sheering it or scaling it unequally in the two
* directions) . A font face can be set on a #cairo_t by using
* cairo_set_font_face(); the size and font matrix are set with
* cairo_scale_font() and cairo_transform_font().
* cairo_set_font_size() and cairo_set_font_matrix().
*/
typedef struct _cairo_font_face cairo_font_face_t;
@ -749,12 +734,6 @@ cairo_scaled_font_glyph_extents (cairo_scaled_font_t *scaled_font,
/* Query functions */
/* XXX: It would be nice if I could find a simpler way to make the
definitions for the deprecated functions. Ideally, I would just
have to put DEPRECATE (cairo_get_operator, cairo_current_operator)
into one file and be done with it. For now, I've got a little more
typing than that. */
cairo_operator_t
cairo_get_operator (cairo_t *cr);
@ -764,11 +743,6 @@ cairo_get_rgb_color (cairo_t *cr, double *red, double *green, double *blue);
cairo_pattern_t *
cairo_get_source (cairo_t *cr);
double
cairo_get_alpha (cairo_t *cr);
/* XXX: Do we want cairo_get_pattern as well? */
double
cairo_get_tolerance (cairo_t *cr);
@ -800,34 +774,6 @@ cairo_get_matrix (cairo_t *cr, cairo_matrix_t *matrix);
cairo_surface_t *
cairo_get_target (cairo_t *cr);
typedef void (cairo_move_to_func_t) (void *closure,
double x, double y);
typedef void (cairo_line_to_func_t) (void *closure,
double x, double y);
typedef void (cairo_curve_to_func_t) (void *closure,
double x1, double y1,
double x2, double y2,
double x3, double y3);
typedef void (cairo_close_path_func_t) (void *closure);
void
cairo_get_path (cairo_t *cr,
cairo_move_to_func_t *move_to,
cairo_line_to_func_t *line_to,
cairo_curve_to_func_t *curve_to,
cairo_close_path_func_t *close_path,
void *closure);
void
cairo_get_path_flat (cairo_t *cr,
cairo_move_to_func_t *move_to,
cairo_line_to_func_t *line_to,
cairo_close_path_func_t *close_path,
void *closure);
/**
* cairo_path_data_t:
*
@ -1004,36 +950,6 @@ cairo_surface_write_to_png_stream (cairo_surface_t *surface,
#endif
/* XXX: Note: The current Render/Ic implementations don't do the right
thing with repeat when the surface has a non-identity matrix. */
/* XXX: Rework this as a cairo function with an enum: cairo_set_pattern_extend */
cairo_status_t
cairo_surface_set_repeat (cairo_surface_t *surface, int repeat);
/* XXX: Rework this as a cairo function: cairo_set_pattern_transform */
cairo_status_t
cairo_surface_set_matrix (cairo_surface_t *surface, cairo_matrix_t *matrix);
/* XXX: Rework this as a cairo function: cairo_get_pattern_transform */
cairo_status_t
cairo_surface_get_matrix (cairo_surface_t *surface, cairo_matrix_t *matrix);
typedef enum {
CAIRO_FILTER_FAST,
CAIRO_FILTER_GOOD,
CAIRO_FILTER_BEST,
CAIRO_FILTER_NEAREST,
CAIRO_FILTER_BILINEAR,
CAIRO_FILTER_GAUSSIAN
} cairo_filter_t;
/* XXX: Rework this as a cairo function: cairo_set_pattern_filter */
cairo_status_t
cairo_surface_set_filter (cairo_surface_t *surface, cairo_filter_t filter);
cairo_filter_t
cairo_surface_get_filter (cairo_surface_t *surface);
void *
cairo_surface_get_user_data (cairo_surface_t *surface,
const cairo_user_data_key_t *key);
@ -1127,6 +1043,15 @@ cairo_pattern_set_extend (cairo_pattern_t *pattern, cairo_extend_t extend);
cairo_extend_t
cairo_pattern_get_extend (cairo_pattern_t *pattern);
typedef enum {
CAIRO_FILTER_FAST,
CAIRO_FILTER_GOOD,
CAIRO_FILTER_BEST,
CAIRO_FILTER_NEAREST,
CAIRO_FILTER_BILINEAR,
CAIRO_FILTER_GAUSSIAN
} cairo_filter_t;
cairo_status_t
cairo_pattern_set_filter (cairo_pattern_t *pattern, cairo_filter_t filter);
@ -1135,18 +1060,6 @@ cairo_pattern_get_filter (cairo_pattern_t *pattern);
/* Matrix functions */
/* XXX: Deprecated. To be removed in favor of a structure of known size. */
cairo_matrix_t *
cairo_matrix_create (void);
/* XXX: Deprecated. To be removed in favor of a structure of known size. */
void
cairo_matrix_destroy (cairo_matrix_t *matrix);
/* XXX: Deprecated. To be removed in favor of direct assignment. */
void
cairo_matrix_copy (cairo_matrix_t *matrix, const cairo_matrix_t *other);
void
cairo_matrix_init (cairo_matrix_t *matrix,
double xx, double yx,
@ -1168,13 +1081,6 @@ void
cairo_matrix_init_rotate (cairo_matrix_t *matrix,
double radians);
/* XXX: Deprecated. To be removed in favor of direct access. */
void
cairo_matrix_get_affine (cairo_matrix_t *matrix,
double *a, double *b,
double *c, double *d,
double *tx, double *ty);
void
cairo_matrix_translate (cairo_matrix_t *matrix, double tx, double ty);
@ -1192,98 +1098,79 @@ cairo_matrix_multiply (cairo_matrix_t *result,
const cairo_matrix_t *a,
const cairo_matrix_t *b);
/* XXX: Need a new name here perhaps. */
void
cairo_matrix_transform_distance (cairo_matrix_t *matrix, double *dx, double *dy);
/* XXX: Need a new name here perhaps. */
void
cairo_matrix_transform_point (cairo_matrix_t *matrix, double *x, double *y);
#define CAIRO_API_SHAKEUP_FLAG_DAY 0
#ifndef _CAIROINT_H_
#if CAIRO_API_SHAKEUP_FLAG_DAY
/* Obsolete functions. These definitions exist to coerce the compiler
* into providing a little bit of guidance with its error
* messages. The idea is to help users port their old code without
* having to dig through lots of documentation.
*
* The first set of REPLACED_BY functions is for functions whose names
* have just been changed. So fixing these up is mechanical, (and
* automated by means of the cairo/util/cairo-api-update script.
*
* The second set of DEPRECATED_BY functions is for functions where
* the replacement is used in a different way, (ie. different
* arguments, multiple functions instead of one, etc). Fixing these up
* will require a bit more work on the user's part, (and hopefully we
* can get cairo-api-update to find these and print some guiding
* information).
*/
#define cairo_current_font_extents cairo_current_font_extents_REPLACED_BY_cairo_font_extents
#define cairo_get_font_extents cairo_get_font_extents_REPLACED_BY_cairo_font_extents
#define cairo_current_operator cairo_current_operator_REPLACED_BY_cairo_get_operator
#define cairo_current_tolerance cairo_current_tolerance_REPLACED_BY_cairo_get_tolerance
#define cairo_current_point cairo_current_point_REPLACED_BY_cairo_get_current_point
#define cairo_current_fill_rule cairo_current_fill_rule_REPLACED_BY_cairo_get_fill_rule
#define cairo_current_line_width cairo_current_line_width_REPLACED_BY_cairo_get_line_width
#define cairo_current_line_cap cairo_current_line_cap_REPLACED_BY_cairo_get_line_cap
#define cairo_current_line_join cairo_current_line_join_REPLACED_BY_cairo_get_line_join
#define cairo_current_miter_limit cairo_current_miter_limit_REPLACED_BY_cairo_get_miter_limit
#define cairo_current_matrix cairo_current_matrix_REPLACED_BY_cairo_get_matrix
#define cairo_current_target_surface cairo_current_target_surface_REPLACED_BY_cairo_get_target_surface
#define cairo_get_status cairo_get_status_REPLACED_BY_cairo_status
#define cairo_get_status_string cairo_get_status_string_REPLACED_BY_cairo_status_string
#define cairo_concat_matrix cairo_concat_matrix_REPLACED_BY_cairo_transform
#define cairo_scale_font cairo_scale_font_REPLACED_BY_cairo_set_font_size
#define cairo_select_font cairo_select_font_REPLACED_BY_cairo_select_font_face
#define cairo_transform_font cairo_transform_font_REPLACED_BY_cairo_set_font_matrix
#define cairo_transform_point cairo_transform_point_REPLACED_BY_cairo_user_to_device
#define cairo_transform_distance cairo_transform_distance_REPLACED_BY_cairo_user_to_device_distance
#define cairo_inverse_transform_point cairo_inverse_transform_point_REPLACED_BY_cairo_device_to_user
#define cairo_inverse_transform_distance cairo_inverse_transform_distance_REPLACED_BY_cairo_device_to_user_distance
#define cairo_init_clip cairo_init_clip_REPLACED_BY_cairo_reset_clip
#define cairo_surface_create_for_image cairo_surface_create_for_image_REPLACED_BY_cairo_image_surface_create_for_data
#define cairo_default_matrix cairo_default_matrix_REPLACED_BY_cairo_identity_matrix
#define cairo_matrix_set_affine cairo_matrix_set_affine_REPLACED_BY_cairo_matrix_init
#define cairo_matrix_set_identity cairo_matrix_set_identity_REPLACED_BY_cairo_matrix_init_identity
#define cairo_pattern_add_color_stop cairo_pattern_add_color_stop_REPLACED_BY_cairo_pattern_add_color_stop_rgba
#define cairo_set_rgb_color cairo_set_rgb_color_REPLACED_BY_cairo_set_source_rgb
#define cairo_set_pattern cairo_set_pattern_REPLACED_BY_cairo_set_source
/* Deprecated functions. We've made some effort to allow the
deprecated functions to continue to work for now, (with useful
warnings). But the deprecated functions will not appear in the next
release. */
#define cairo_current_path cairo_current_path_DEPRECATED_BY_cairo_get_path
#define cairo_current_path_flat cairo_current_path_flat_DEPRECATED_BY_cairo_get_path_flat
#define cairo_current_font_extents cairo_current_font_extents_DEPRECATED_BY_cairo_font_extents
#define cairo_get_font_extents cairo_get_font_extents_DEPRECATED_BY_cairo_font_extents
#define cairo_current_operator cairo_current_operator_DEPRECATED_BY_cairo_get_operator
#define cairo_current_rgb_color cairo_current_rgb_color_DEPRECATED_BY_cairo_get_rgb_color
#define cairo_current_alpha cairo_current_alpha_DEPRECATED_BY_cairo_get_alpha
#define cairo_current_tolerance cairo_current_tolerance_DEPRECATED_BY_cairo_get_tolerance
#define cairo_current_point cairo_current_point_DEPRECATED_BY_cairo_get_current_point
#define cairo_current_fill_rule cairo_current_fill_rule_DEPRECATED_BY_cairo_get_fill_rule
#define cairo_current_line_width cairo_current_line_width_DEPRECATED_BY_cairo_get_line_width
#define cairo_current_line_cap cairo_current_line_cap_DEPRECATED_BY_cairo_get_line_cap
#define cairo_current_line_join cairo_current_line_join_DEPRECATED_BY_cairo_get_line_join
#define cairo_current_miter_limit cairo_current_miter_limit_DEPRECATED_BY_cairo_get_miter_limit
#define cairo_current_matrix cairo_current_matrix_DEPRECATED_BY_cairo_get_matrix
#define cairo_current_target_surface cairo_current_target_surface_DEPRECATED_BY_cairo_get_target_surface
#define cairo_get_status cairo_get_status_DEPRECATED_BY_cairo_status
#define cairo_get_status_string cairo_get_status_string_DEPRECATED_BY_cairo_status_string
#define cairo_concat_matrix cairo_concat_matrix_DEPRECATED_BY_cairo_transform
#define cairo_scale_font cairo_scale_font_DEPRECATED_BY_cairo_set_font_size
#define cairo_select_font cairo_select_font_face_DEPRECATED_BY_cairo_select_font_face
#define cairo_transform_font cairo_transform_font_DEPRECATED_BY_cairo_set_font_matrix
#define cairo_transform_point cairo_transform_point_DEPRECATED_BY_cairo_user_to_device
#define cairo_transform_distance cairo_transform_distance_DEPRECATED_BY_cairo_user_to_device_distance
#define cairo_inverse_transform_point cairo_inverse_transform_point_DEPRECATED_BY_cairo_device_to_user
#define cairo_inverse_transform_distance cairo_inverse_transform_distance_DEPRECATED_BY_cairo_device_to_user_distance
#define cairo_init_clip cairo_init_clip_DEPRECATED_BY_cairo_reset_clip
#define cairo_surface_create_for_image cairo_surface_create_for_image_DEPRECATED_BY_cairo_image_surface_create_for_data
#define cairo_default_matrix cairo_default_matrix_DEPRECATED_BY_cairo_identity_matrix
#define cairo_matrix_set_affine cairo_matrix_set_affine_DEPRECTATED_BY_cairo_matrix_init
#define cairo_matrix_set_identity cairo_matrix_set_identity_DEPRECATED_BY_cairo_matrix_init_identity
#define cairo_pattern_add_color_stop cairo_pattern_add_color_stop_DEPRECATED_BY_cairo_pattern_add_color_stop_rgba
#define cairo_set_rgb_color cairo_set_rgb_color_DEPRECATED_BY_cairo_set_source_rgb
#define cairo_set_pattern cairo_set_pattern_DEPRECATED_BY_cairo_set_source
#define cairo_set_alpha cairo_set_alpha_DEPRECATED_BY_cairo_set_source_rgba
#else /* CAIRO_API_SHAKEUP_FLAG_DAY */
#define cairo_current_path cairo_get_path
#define cairo_current_path_flat cairo_get_path_flat
#define cairo_current_font cairo_get_font
#define cairo_current_font_extents cairo_font_extents
#define cairo_current_operator cairo_get_operator
#define cairo_current_rgb_color cairo_get_rgb_color
#define cairo_current_alpha cairo_get_alpha
#define cairo_current_tolerance cairo_get_tolerance
#define cairo_current_point cairo_get_current_point
#define cairo_current_fill_rule cairo_get_fill_rule
#define cairo_current_line_width cairo_get_line_width
#define cairo_current_line_cap cairo_get_line_cap
#define cairo_current_line_join cairo_get_line_join
#define cairo_current_miter_limit cairo_get_miter_limit
#define cairo_current_matrix cairo_get_matrix
#define cairo_current_target_surface cairo_get_target_surface
#define cairo_get_font_extents cairo_font_extents
#define cairo_get_status cairo_status
#define cairo_get_status_string cairo_status_string
#define cairo_concat_matrix cairo_transform
#define cairo_transform_point cairo_user_to_device
#define cairo_transform_distance cairo_user_to_device_distance
#define cairo_inverse_transform_point cairo_device_to_user
#define cairo_inverse_transform_distance cairo_device_to_user_distance
#define cairo_init_clip cairo_reset_clip
#define cairo_scale_font cairo_set_font_size
#define cairo_select_font cairo_select_font_face
#define cairo_surface_create_for_image cairo_image_surface_create_for_data
#define cairo_transform_font cairo_set_font_matrix
#define cairo_default_matrix cairo_identity_matrix
#define cairo_matrix_set_affine cairo_matrix_init
#define cairo_matrix_set_identity cairo_matrix_init_identity
#define cairo_pattern_add_color_stop cairo_pattern_add_color_stop_rgba
#define cairo_set_rgb_color cairo_set_source_rgb
#define cairo_set_pattern cairo_set_source
#define cairo_set_alpha cairo_set_alpha_DEPRECATED_BY_cairo_set_source_rgba
#endif /* CAIRO_API_SHAKEUP_FLAG_DAY */
#define cairo_current_path cairo_current_path_DEPRECATED_BY_cairo_copy_path
#define cairo_current_path_flat cairo_current_path_flat_DEPRECATED_BY_cairo_copy_path_flat
#define cairo_get_path cairo_get_path_DEPRECATED_BY_cairo_copy_path
#define cairo_get_path_flat cairo_get_path_flat_DEPRECATED_BY_cairo_get_path_flat
#define cairo_set_alpha cairo_set_alpha_DEPRECATED_BY_cairo_set_source_rgba
#define cairo_show_surface cairo_show_surface_DEPRECATED_BY_cairo_set_source_surface_AND_cairo_paint
#define cairo_copy cairo_copy_DEPRECATED_BY_cairo_create_AND_MANY_INDIVIDUAL_FUNCTIONS
#define cairo_surface_set_repeat cairo_surface_set_repeat_DEPRECATED_BY_cairo_pattern_set_extend
#define cairo_surface_set_matrix cairo_surface_set_matrix_DEPRECATED_BY_cairo_pattern_set_matrix
#define cairo_surface_get_matrix cairo_surface_get_matrix_DEPRECATED_BY_cairo_pattern_get_matrix
#define cairo_surface_set_filter cairo_surface_set_filter_DEPRECATED_BY_cairo_pattern_set_filter
#define cairo_surface_get_filter cairo_surface_get_filter_DEPRECATED_BY_cairo_pattern_get_filter
#define cairo_matrix_create cairo_matrix_create_DEPRECATED_BY_cairo_matrix_t
#define cairo_matrix_destroy cairo_matrix_create_DEPRECATED_BY_cairo_matrix_t
#define cairo_matrix_copy cairo_matrix_create_DEPRECATED_BY_cairo_matrix_t
#define cairo_matrix_get_affine cairo_matrix_create_DEPRECATED_BY_cairo_matrix_t
#endif

View file

@ -91,7 +91,7 @@
#define cairo_private
#endif
/* These macros allow us to deprecate a function by providing an alias
/* This macro allow us to deprecate a function by providing an alias
for the old function name to the new function name. With this
macro, binary compatibility is preserved. The macro only works on
some platforms --- tough.
@ -100,14 +100,15 @@
source code so that it will no longer link against the old
symbols. Instead it will give a descriptive error message
indicating that the old function has been deprecated by the new
function. */
function.
*/
#if __GNUC__ >= 2 && defined(__ELF__)
# define DEPRECATE(old, new) \
# define CAIRO_FUNCTION_ALIAS(old, new) \
extern __typeof (new) old \
__asm__ ("" #old) \
__attribute__((__alias__("" #new)))
#else
# define DEPRECATE(old, new)
# define CAIRO_FUNCTION_ALIAS(old, new)
#endif
#ifndef __GNUC__
@ -1619,6 +1620,12 @@ cairo_private void
_cairo_spline_fini (cairo_spline_t *spline);
/* cairo_matrix.c */
cairo_private void
_cairo_matrix_get_affine (cairo_matrix_t *matrix,
double *xx, double *yx,
double *xy, double *yy,
double *x0, double *y0);
cairo_private void
_cairo_matrix_transform_bounding_box (cairo_matrix_t *matrix,
double *x, double *y,
@ -1800,7 +1807,6 @@ slim_hidden_proto(cairo_get_current_point)
slim_hidden_proto(cairo_fill_preserve)
slim_hidden_proto(cairo_clip_preserve)
slim_hidden_proto(cairo_close_path)
slim_hidden_proto(cairo_matrix_copy)
slim_hidden_proto(cairo_matrix_invert)
slim_hidden_proto(cairo_matrix_multiply)
slim_hidden_proto(cairo_matrix_scale)
@ -1818,8 +1824,5 @@ slim_hidden_proto(cairo_restore)
slim_hidden_proto(cairo_save)
slim_hidden_proto(cairo_stroke_preserve)
slim_hidden_proto(cairo_surface_destroy)
slim_hidden_proto(cairo_surface_get_matrix)
slim_hidden_proto(cairo_surface_set_matrix)
slim_hidden_proto(cairo_surface_set_repeat)
#endif

View file

@ -410,12 +410,11 @@ cairo_test_create_png_pattern (cairo_t *cr, const char *filename)
if (status != READ_PNG_SUCCESS)
return NULL;
image = cairo_surface_create_for_image (buffer, CAIRO_FORMAT_ARGB32,
w, h, stride);
cairo_surface_set_repeat (image, 1);
image = cairo_image_surface_create_for_data (buffer, CAIRO_FORMAT_ARGB32,
w, h, stride);
pattern = cairo_pattern_create_for_surface (image);
cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
return pattern;
}

View file

@ -38,14 +38,14 @@ draw (cairo_t *cr, int width, int height)
gradient = cairo_pattern_create_linear (0, -height,
0, height);
cairo_pattern_add_color_stop (gradient, 0.0,
1.0, 0.0, 0.0,
1.0);
cairo_pattern_add_color_stop (gradient, 1.0,
0.0, 0.0, 1.0,
0.5);
cairo_pattern_add_color_stop_rgba (gradient, 0.0,
1.0, 0.0, 0.0,
1.0);
cairo_pattern_add_color_stop_rgba (gradient, 1.0,
0.0, 0.0, 1.0,
0.5);
cairo_set_pattern (cr, gradient);
cairo_set_source (cr, gradient);
cairo_paint (cr);

View file

@ -53,9 +53,9 @@ set_gradient_pattern (cairo_t *cr, int x, int y)
pattern =
cairo_pattern_create_linear (x, y, x + WIDTH, y + HEIGHT);
cairo_pattern_add_color_stop (pattern, 0, 1, 1, 1, 1);
cairo_pattern_add_color_stop (pattern, 1, 0, 0, 0.4, 1);
cairo_set_pattern (cr, pattern);
cairo_pattern_add_color_stop_rgba (pattern, 0, 1, 1, 1, 1);
cairo_pattern_add_color_stop_rgba (pattern, 1, 0, 0, 0.4, 1);
cairo_set_source (cr, pattern);
}
static void
@ -64,7 +64,7 @@ set_image_pattern (cairo_t *cr, int x, int y)
cairo_pattern_t *pattern;
pattern = cairo_test_create_png_pattern (cr, png_filename);
cairo_set_pattern (cr, pattern);
cairo_set_source (cr, pattern);
}
static void

View file

@ -62,8 +62,9 @@ draw (cairo_t *cr, int width, int height)
int i;
for (i=0; i < 4; i++) {
surface = cairo_surface_create_for_image ((unsigned char *) &colors[i],
CAIRO_FORMAT_ARGB32, 1, 1, 4);
surface = cairo_image_surface_create_for_data ((unsigned char *) &colors[i],
CAIRO_FORMAT_ARGB32,
1, 1, 4);
cairo_set_source_surface (cr, surface,
i % 2, i / 2);
cairo_paint (cr);

View file

@ -50,9 +50,9 @@ static cairo_test_t test = {
static cairo_test_status_t
draw (cairo_t *cr, int width, int height)
{
cairo_select_font (cr, "Bitstream Vera Sans",
CAIRO_FONT_SLANT_NORMAL,
CAIRO_FONT_WEIGHT_BOLD);
cairo_select_font_face (cr, "Bitstream Vera Sans",
CAIRO_FONT_SLANT_NORMAL,
CAIRO_FONT_WEIGHT_BOLD);
return CAIRO_TEST_SUCCESS;
}

View file

@ -41,8 +41,8 @@ draw (cairo_t *cr, int width, int height)
cairo_surface_t *surface;
cairo_pattern_t *pattern;
surface = cairo_surface_create_for_image ((unsigned char *) &color,
CAIRO_FORMAT_ARGB32, 1, 1, 4);
surface = cairo_image_surface_create_for_data ((unsigned char *) &color,
CAIRO_FORMAT_ARGB32, 1, 1, 4);
pattern = cairo_pattern_create_for_surface (surface);
cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);

View file

@ -73,13 +73,15 @@ static cairo_test_status_t
draw (cairo_t *cr, int width, int height)
{
/* Once there was a bug that choked when selecting the same font twice. */
cairo_select_font(cr, "sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
cairo_set_font_size(cr, 40.0);
cairo_select_font_face (cr, "sans",
CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
cairo_set_font_size (cr, 40.0);
cairo_select_font(cr, "sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
cairo_set_font_size(cr, 40.0);
cairo_move_to(cr, 10, 50);
cairo_show_text(cr, "hello");
cairo_select_font_face (cr, "sans",
CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
cairo_set_font_size (cr, 40.0);
cairo_move_to (cr, 10, 50);
cairo_show_text (cr, "hello");
/* Then there was a bug that choked when selecting a font too big
* for the cache. */

View file

@ -78,9 +78,9 @@ draw (cairo_t *cr, int width, int height)
cairo_text_extents_t extents;
static char text[] = "cairo";
cairo_select_font (cr, "Bitstream Vera Sans",
CAIRO_FONT_SLANT_NORMAL,
CAIRO_FONT_WEIGHT_NORMAL);
cairo_select_font_face (cr, "Bitstream Vera Sans",
CAIRO_FONT_SLANT_NORMAL,
CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, TEXT_SIZE);
cairo_set_source_rgb (cr, 0, 0, 0);

View file

@ -42,7 +42,7 @@ draw_L_shape (cairo_t *cr)
cairo_rel_line_to (cr, 5, 0);
cairo_save (cr);
cairo_default_matrix (cr);
cairo_identity_matrix (cr);
cairo_set_line_width (cr, 2.0);
cairo_stroke (cr);
cairo_restore (cr);

View file

@ -60,8 +60,9 @@ draw (cairo_t *cr, int width, int height)
int i;
for (i=0; i < 4; i++) {
surface = cairo_surface_create_for_image ((unsigned char *) &colors[i],
CAIRO_FORMAT_ARGB32, 1, 1, 4);
surface = cairo_image_surface_create_for_data ((unsigned char *) &colors[i],
CAIRO_FORMAT_ARGB32,
1, 1, 4);
cairo_save (cr);
{
cairo_translate (cr, i % 2, i / 2);

View file

@ -52,9 +52,9 @@ set_gradient_pattern (cairo_t *cr, int x, int y)
pattern =
cairo_pattern_create_linear (x, y, x + WIDTH, y + HEIGHT);
cairo_pattern_add_color_stop (pattern, 0, 1, 1, 1, 1);
cairo_pattern_add_color_stop (pattern, 1, 0, 0, 0.4, 1);
cairo_set_pattern (cr, pattern);
cairo_pattern_add_color_stop_rgba (pattern, 0, 1, 1, 1, 1);
cairo_pattern_add_color_stop_rgba (pattern, 1, 0, 0, 0.4, 1);
cairo_set_source (cr, pattern);
}
static void
@ -63,7 +63,7 @@ set_image_pattern (cairo_t *cr, int x, int y)
cairo_pattern_t *pattern;
pattern = cairo_test_create_png_pattern (cr, png_filename);
cairo_set_pattern (cr, pattern);
cairo_set_source (cr, pattern);
}
static void

View file

@ -15,20 +15,42 @@ cairo_api_update() {
cp $file $backup
sed -e '
s/cairo_get_operator/cairo_current_operator/g
s/cairo_get_rgb_color/cairo_current_rgb_color/g
s/cairo_get_alpha/cairo_current_alpha/g
s/cairo_get_tolerance/cairo_current_tolerance/g
s/cairo_get_current_point/cairo_current_point/g
s/cairo_get_fill_rule/cairo_current_fill_rule/g
s/cairo_get_line_width/cairo_current_line_width/g
s/cairo_get_line_cap/cairo_current_line_cap/g
s/cairo_get_line_join/cairo_current_line_join/g
s/cairo_get_miter_limit/cairo_current_miter_limit/g
s/cairo_get_matrix/cairo_current_matrix/g
s/cairo_get_target_surface/cairo_current_target_surface/g
s/cairo_get_status_string/cairo_status_string/g
s/cairo_current_font_extents/cairo_font_extents/g
s/cairo_get_font_extents/cairo_font_extents/g
s/cairo_current_operator/cairo_get_operator/g
s/cairo_current_tolerance/cairo_get_tolerance/g
s/cairo_current_point/cairo_get_current_point/g
s/cairo_current_fill_rule/cairo_get_fill_rule/g
s/cairo_current_line_width/cairo_get_line_width/g
s/cairo_current_line_cap/cairo_get_line_cap/g
s/cairo_current_line_join/cairo_get_line_join/g
s/cairo_current_miter_limit/cairo_get_miter_limit/g
s/cairo_current_matrix/cairo_get_matrix/g
s/cairo_current_target_surface/cairo_get_target_surface/g
s/cairo_get_status/cairo_status/g
s/cairo_get_status_string/cairo_status_string/g
s/cairo_concat_matrix/cairo_transform/g
s/cairo_scale_font/cairo_set_font_size/g
s/cairo_select_font/cairo_select_font_face/g
s/cairo_transform_font/cairo_set_font_matrix/g
s/cairo_transform_point/cairo_user_to_device/g
s/cairo_transform_distance/cairo_user_to_device_distance/g
s/cairo_inverse_transform_point/cairo_device_to_user/g
s/cairo_inverse_transform_distance/cairo_device_to_user_distance/g
s/cairo_init_clip/cairo_reset_clip/g
s/cairo_surface_create_for_image/cairo_image_surface_create_for_data/g
s/cairo_default_matrix/cairo_identity_matrix/g
s/cairo_matrix_set_affine/cairo_matrix_init/g
s/cairo_matrix_set_identity/cairo_matrix_init_identity/g
s/cairo_pattern_add_color_stop/cairo_pattern_add_color_stop_rgba/g
s/cairo_set_rgb_color/cairo_set_source_rgb/g
s/cairo_set_pattern/cairo_set_source/g
s/CAIRO_OPERATOR_SRC/CAIRO_OPERATOR_SOURCE/g
s/CAIRO_OPERATOR_DST/CAIRO_OPERATOR_DEST/g
s/CAIRO_OPERATOR_OVER_REVERSE/CAIRO_OPERATOR_DEST_OVER/g
s/CAIRO_OPERATOR_IN_REVERSE/CAIRO_OPERATOR_DEST_IN/g
s/CAIRO_OPERATOR_OUT_REVERSE/CAIRO_OPERATOR_DEST_OUT/g
s/CAIRO_OPERATOR_ATOP_REVERSE/CAIRO_OPERATOR_DEST_ATOP/g
' $backup > $file
}