[Commit] cairo/src cairo.c, 1.4, 1.5 cairo.h, 1.3,
1.4 cairo_matrix.c, 1.1, 1.2 cairo_surface.c, 1.2,
1.3 cairo_traps.c, 1.7, 1.8 cairoint.h, 1.7, 1.8
Richard Henderson
commit at keithp.com
Thu Jul 31 23:41:47 PDT 2003
Committed by: rth
Update of /local/src/CVS/cairo/src
In directory home.keithp.com:/tmp/cvs-serv4890/src
Modified Files:
cairo.c cairo.h cairo_matrix.c cairo_surface.c cairo_traps.c
cairoint.h
Log Message:
* cairo.pc.in: Depend on slim.
* configure.in: Check for slim.
* src/cairo.h: Include slim_{export,import}.h as needed; mark all
symbols __external_linkage.
* src/cairoint.h: Include slim_internal.h; mark all symbols
__internal_linkage. Provide slim_hidden_proto symbols as needed.
* src/cairo.c, src/cairo_matrix.c, src/cairo_surface.c,
Provide slim_hidden_def symbols as needed.
* src/cairo_traps.c (cairo_traps_add_trap): Mark static.
(cairo_traps_add_trap_from_points): Likewise.
Index: cairo.c
===================================================================
RCS file: /local/src/CVS/cairo/src/cairo.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- cairo.c 30 Jul 2003 17:48:28 -0000 1.4
+++ cairo.c 1 Aug 2003 05:41:44 -0000 1.5
@@ -103,6 +103,7 @@
top->next = cr->gstate;
cr->gstate = top;
}
+slim_hidden_def(cairo_save)
void
cairo_restore (cairo_t *cr)
@@ -122,6 +123,7 @@
_cairo_gstate_destroy (top);
}
+slim_hidden_def(cairo_restore)
/* XXX: I want to rethink this API
void
@@ -159,6 +161,7 @@
cr->status = _cairo_gstate_set_target_surface (cr->gstate, surface);
}
+slim_hidden_def(cairo_set_target_surface)
void
cairo_set_target_drawable (cairo_t *cr,
@@ -435,6 +438,7 @@
cr->status = _cairo_gstate_move_to (cr->gstate, x, y);
}
+slim_hidden_def(cairo_move_to)
void
cairo_line_to (cairo_t *cr, double x, double y)
@@ -477,6 +481,7 @@
cr->status = _cairo_gstate_rel_line_to (cr->gstate, dx, dy);
}
+slim_hidden_def(cairo_rel_line_to)
void
cairo_rel_curve_to (cairo_t *cr,
@@ -527,6 +532,7 @@
cr->status = _cairo_gstate_close_path (cr->gstate);
}
+slim_hidden_def(cairo_close_path)
void
cairo_stroke (cairo_t *cr)
Index: cairo.h
===================================================================
RCS file: /local/src/CVS/cairo/src/cairo.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- cairo.h 30 Jul 2003 15:30:51 -0000 1.3
+++ cairo.h 1 Aug 2003 05:41:44 -0000 1.4
@@ -32,6 +32,12 @@
#include <fontconfig/fontconfig.h>
#include <ic.h>
+#ifdef _CAIROINT_H_
+#include <slim_export.h>
+#else
+#include <slim_import.h>
+#endif
+
typedef struct cairo cairo_t;
typedef struct cairo_surface cairo_surface_t;
typedef struct cairo_matrix cairo_matrix_t;
@@ -41,28 +47,28 @@
#endif
/* Functions for manipulating state objects */
-cairo_t *
+extern cairo_t * __external_linkage
cairo_create (void);
-void
+extern void __external_linkage
cairo_destroy (cairo_t *cr);
-void
+extern void __external_linkage
cairo_save (cairo_t *cr);
-void
+extern void __external_linkage
cairo_restore (cairo_t *cr);
/* XXX: I want to rethink this API
-void
+extern void __external_linkage
cairo_push_group (cairo_t *cr);
-void
+extern void __external_linkage
cairo_pop_group (cairo_t *cr);
*/
/* Modify state */
-void
+extern void __external_linkage
cairo_set_target_surface (cairo_t *cr, cairo_surface_t *surface);
typedef enum cairo_format {
@@ -72,12 +78,12 @@
CAIRO_FORMAT_A1 = PictStandardA1
} cairo_format_t;
-void
+extern void __external_linkage
cairo_set_target_drawable (cairo_t *cr,
Display *dpy,
Drawable drawable);
-void
+extern void __external_linkage
cairo_set_target_image (cairo_t *cr,
char *data,
cairo_format_t format,
@@ -128,7 +134,7 @@
CAIRO_OPERATOR_CONJOINT_XOR = PictOpConjointXor
} cairo_operator_t;
-void
+extern void __external_linkage
cairo_set_operator (cairo_t *cr, cairo_operator_t op);
/* XXX: Probably want to bite the bullet and expose a cairo_color_t object */
@@ -148,16 +154,16 @@
the behavior of cairo_show_surface.
*/
-void
+extern void __external_linkage
cairo_set_rgb_color (cairo_t *cr, double red, double green, double blue);
-void
+extern void __external_linkage
cairo_set_alpha (cairo_t *cr, double alpha);
-void
+extern void __external_linkage
cairo_set_pattern (cairo_t *cr, cairo_surface_t *pattern);
-void
+extern void __external_linkage
cairo_set_tolerance (cairo_t *cr, double tolerance);
typedef enum cairo_fill_rule {
@@ -165,10 +171,10 @@
CAIRO_FILL_RULE_EVEN_ODD
} cairo_fill_rule_t;
-void
+extern void __external_linkage
cairo_set_fill_rule (cairo_t *cr, cairo_fill_rule_t fill_rule);
-void
+extern void __external_linkage
cairo_set_line_width (cairo_t *cr, double width);
typedef enum cairo_line_cap {
@@ -177,7 +183,7 @@
CAIRO_LINE_CAP_SQUARE
} cairo_line_cap_t;
-void
+extern void __external_linkage
cairo_set_line_cap (cairo_t *cr, cairo_line_cap_t line_cap);
typedef enum cairo_line_join {
@@ -186,81 +192,81 @@
CAIRO_LINE_JOIN_BEVEL
} cairo_line_join_t;
-void
+extern void __external_linkage
cairo_set_line_join (cairo_t *cr, cairo_line_join_t line_join);
-void
+extern void __external_linkage
cairo_set_dash (cairo_t *cr, double *dashes, int ndash, double offset);
-void
+extern void __external_linkage
cairo_set_miter_limit (cairo_t *cr, double limit);
-void
+extern void __external_linkage
cairo_translate (cairo_t *cr, double tx, double ty);
-void
+extern void __external_linkage
cairo_scale (cairo_t *cr, double sx, double sy);
-void
+extern void __external_linkage
cairo_rotate (cairo_t *cr, double angle);
-void
+extern void __external_linkage
cairo_concat_matrix (cairo_t *cr,
cairo_matrix_t *matrix);
-void
+extern void __external_linkage
cairo_set_matrix (cairo_t *cr,
cairo_matrix_t *matrix);
-void
+extern void __external_linkage
cairo_default_matrix (cairo_t *cr);
/* XXX: There's been a proposal to add cairo_default_matrix_exact */
-void
+extern void __external_linkage
cairo_identity_matrix (cairo_t *cr);
-void
+extern void __external_linkage
cairo_transform_point (cairo_t *cr, double *x, double *y);
-void
+extern void __external_linkage
cairo_transform_distance (cairo_t *cr, double *dx, double *dy);
-void
+extern void __external_linkage
cairo_inverse_transform_point (cairo_t *cr, double *x, double *y);
-void
+extern void __external_linkage
cairo_inverse_transform_distance (cairo_t *cr, double *dx, double *dy);
/* Path creation functions */
-void
+extern void __external_linkage
cairo_new_path (cairo_t *cr);
-void
+extern void __external_linkage
cairo_move_to (cairo_t *cr, double x, double y);
-void
+extern void __external_linkage
cairo_line_to (cairo_t *cr, double x, double y);
-void
+extern void __external_linkage
cairo_curve_to (cairo_t *cr,
double x1, double y1,
double x2, double y2,
double x3, double y3);
-void
+extern void __external_linkage
cairo_rel_move_to (cairo_t *cr, double dx, double dy);
-void
+extern void __external_linkage
cairo_rel_line_to (cairo_t *cr, double dx, double dy);
-void
+extern void __external_linkage
cairo_rel_curve_to (cairo_t *cr,
double dx1, double dy1,
double dx2, double dy2,
double dx3, double dy3);
-void
+extern void __external_linkage
cairo_rectangle (cairo_t *cr,
double x, double y,
double width, double height);
@@ -273,22 +279,22 @@
Maybe we could use something like "cairo_outline_path (cairo_t *)"?
*/
/* XXX: NYI
-void
+extern void __external_linkage
cairo_stroke_path (cairo_t *cr);
*/
-void
+extern void __external_linkage
cairo_close_path (cairo_t *cr);
/* Painting functions */
-void
+extern void __external_linkage
cairo_stroke (cairo_t *cr);
-void
+extern void __external_linkage
cairo_fill (cairo_t *cr);
/* Clipping */
-void
+extern void __external_linkage
cairo_clip (cairo_t *cr);
/* Font/Text functions */
@@ -296,32 +302,32 @@
/* XXX: The font support should probably expose a cairo_font_t object with
several functions, (cairo_font_transform, etc.) in a parallel manner as
cairo_matrix_t and (eventually) cairo_color_t */
-void
+extern void __external_linkage
cairo_select_font (cairo_t *cr, const char *key);
-void
+extern void __external_linkage
cairo_scale_font (cairo_t *cr, double scale);
/* XXX: Probably want to use a cairo_matrix_t here, (to fix as part of the
big text support rewrite) */
-void
+extern void __external_linkage
cairo_transform_font (cairo_t *cr,
double a, double b,
double c, double d);
-void
+extern void __external_linkage
cairo_text_extents (cairo_t *cr,
const unsigned char *utf8,
double *x, double *y,
double *width, double *height,
double *dx, double *dy);
-void
+extern void __external_linkage
cairo_show_text (cairo_t *cr, const unsigned char *utf8);
/* Image functions */
-void
+extern void __external_linkage
cairo_show_surface (cairo_t *cr,
cairo_surface_t *surface,
int width,
@@ -329,47 +335,47 @@
/* Query functions */
-cairo_operator_t
+extern cairo_operator_t __external_linkage
cairo_get_operator (cairo_t *cr);
-void
+extern void __external_linkage
cairo_get_rgb_color (cairo_t *cr, double *red, double *green, double *blue);
-double
+extern double __external_linkage
cairo_get_alpha (cairo_t *cr);
/* XXX: Do we want cairo_get_pattern as well? */
-double
+extern double __external_linkage
cairo_get_tolerance (cairo_t *cr);
-void
+extern void __external_linkage
cairo_get_current_point (cairo_t *cr, double *x, double *y);
-cairo_fill_rule_t
+extern cairo_fill_rule_t __external_linkage
cairo_get_fill_rule (cairo_t *cr);
-double
+extern double __external_linkage
cairo_get_line_width (cairo_t *cr);
-cairo_line_cap_t
+extern cairo_line_cap_t __external_linkage
cairo_get_line_cap (cairo_t *cr);
-cairo_line_join_t
+extern cairo_line_join_t __external_linkage
cairo_get_line_join (cairo_t *cr);
-double
+extern double __external_linkage
cairo_get_miter_limit (cairo_t *cr);
/* XXX: How to do cairo_get_dash??? Do we want to switch to a cairo_dash object? */
-void
+extern void __external_linkage
cairo_get_matrix (cairo_t *cr,
double *a, double *b,
double *c, double *d,
double *tx, double *ty);
-cairo_surface_t *
+extern cairo_surface_t * __external_linkage
cairo_get_target_surface (cairo_t *cr);
/* Error status queries */
@@ -383,10 +389,10 @@
CAIRO_STATUS_INVALID_MATRIX
} cairo_status_t;
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_get_status (cairo_t *cr);
-const char *
+extern const char * __external_linkage
cairo_get_status_string (cairo_t *cr);
/* Surface mainpulation */
@@ -396,21 +402,21 @@
cairo_surface_create_for_window with a visual, and
cairo_surface_create_for_pixmap with a cairo_format_t. Would that work?
*/
-cairo_surface_t *
+extern cairo_surface_t * __external_linkage
cairo_surface_create_for_drawable (Display *dpy,
Drawable drawable,
Visual *visual,
cairo_format_t format,
Colormap colormap);
-cairo_surface_t *
+extern cairo_surface_t * __external_linkage
cairo_surface_create_for_image (char *data,
cairo_format_t format,
int width,
int height,
int stride);
-cairo_surface_t *
+extern cairo_surface_t * __external_linkage
cairo_surface_create_similar (cairo_surface_t *other,
cairo_format_t format,
int width,
@@ -420,7 +426,7 @@
it introduces the question of pre-multiplied vs. non-pre-multiplied
alpha. Do I want to export a cairo_color_t structure instead? So far, no
other public functions need it. */
-cairo_surface_t *
+extern cairo_surface_t * __external_linkage
cairo_surface_create_similar_solid (cairo_surface_t *other,
cairo_format_t format,
int width,
@@ -430,10 +436,10 @@
double blue,
double alpha);
-void
+extern void __external_linkage
cairo_surface_destroy (cairo_surface_t *surface);
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_surface_put_image (cairo_surface_t *surface,
char *data,
int width,
@@ -441,9 +447,10 @@
int stride);
/* XXX: NYI
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_surface_clip_restore (cairo_surface_t *surface);
-cairo_status_t
+
+extern cairo_status_t __external_linkage
cairo_surface_clip_rectangle (cairo_surface_t *surface,
int x, int y,
int width, int height);
@@ -451,13 +458,13 @@
/* XXX: Note: The current Render/Ic implementations don't do the right
thing with repeat when the surface has a non-identity matrix. */
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_surface_set_repeat (cairo_surface_t *surface, int repeat);
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_surface_set_matrix (cairo_surface_t *surface, cairo_matrix_t *matrix);
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_surface_get_matrix (cairo_surface_t *surface, cairo_matrix_t *matrix);
typedef enum cairo_filter {
@@ -468,59 +475,60 @@
CAIRO_FILTER_BILINEAR = IcFilterBilinear
} cairo_filter_t;
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_surface_set_filter (cairo_surface_t *surface, cairo_filter_t filter);
/* Matrix functions */
-cairo_matrix_t *
+extern cairo_matrix_t * __external_linkage
cairo_matrix_create (void);
-void
+extern void __external_linkage
cairo_matrix_destroy (cairo_matrix_t *matrix);
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_matrix_copy (cairo_matrix_t *matrix, const cairo_matrix_t *other);
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_matrix_set_identity (cairo_matrix_t *matrix);
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_matrix_set_affine (cairo_matrix_t *cr,
double a, double b,
double c, double d,
double tx, double ty);
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_matrix_get_affine (cairo_matrix_t *matrix,
double *a, double *b,
double *c, double *d,
double *tx, double *ty);
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_matrix_translate (cairo_matrix_t *matrix, double tx, double ty);
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_matrix_scale (cairo_matrix_t *matrix, double sx, double sy);
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_matrix_rotate (cairo_matrix_t *matrix, double radians);
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_matrix_invert (cairo_matrix_t *matrix);
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_matrix_multiply (cairo_matrix_t *result, const cairo_matrix_t *a, const cairo_matrix_t *b);
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_matrix_transform_distance (cairo_matrix_t *matrix, double *dx, double *dy);
-cairo_status_t
+extern cairo_status_t __external_linkage
cairo_matrix_transform_point (cairo_matrix_t *matrix, double *x, double *y);
#ifdef __cplusplus
}
#endif
-#endif
+#undef __external_linkage
+#endif
Index: cairo_matrix.c
===================================================================
RCS file: /local/src/CVS/cairo/src/cairo_matrix.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- cairo_matrix.c 18 Jul 2003 18:34:19 -0000 1.1
+++ cairo_matrix.c 1 Aug 2003 05:41:44 -0000 1.2
@@ -84,6 +84,7 @@
return CAIRO_STATUS_SUCCESS;
}
+slim_hidden_def(cairo_matrix_copy)
cairo_status_t
cairo_matrix_set_identity (cairo_matrix_t *matrix)
@@ -92,6 +93,7 @@
return CAIRO_STATUS_SUCCESS;
}
+slim_hidden_def(cairo_matrix_set_identity)
cairo_status_t
cairo_matrix_set_affine (cairo_matrix_t *matrix,
@@ -105,6 +107,7 @@
return CAIRO_STATUS_SUCCESS;
}
+slim_hidden_def(cairo_matrix_set_affine)
cairo_status_t
cairo_matrix_get_affine (cairo_matrix_t *matrix,
@@ -158,6 +161,7 @@
return cairo_matrix_multiply (matrix, &tmp, matrix);
}
+slim_hidden_def(cairo_matrix_scale)
cairo_status_t
_cairo_matrix_set_rotate (cairo_matrix_t *matrix,
@@ -203,6 +207,7 @@
return CAIRO_STATUS_SUCCESS;
}
+slim_hidden_def(cairo_matrix_multiply)
cairo_status_t
cairo_matrix_transform_distance (cairo_matrix_t *matrix, double *dx, double *dy)
@@ -219,6 +224,7 @@
return CAIRO_STATUS_SUCCESS;
}
+slim_hidden_def(cairo_matrix_transform_distance)
cairo_status_t
cairo_matrix_transform_point (cairo_matrix_t *matrix, double *x, double *y)
@@ -230,6 +236,7 @@
return CAIRO_STATUS_SUCCESS;
}
+slim_hidden_def(cairo_matrix_transform_point)
cairo_status_t
cairo_matrix_transform_bounding_box (cairo_matrix_t *matrix,
@@ -331,6 +338,7 @@
return CAIRO_STATUS_SUCCESS;
}
+slim_hidden_def(cairo_matrix_invert)
cairo_status_t
_cairo_matrix_compute_determinant (cairo_matrix_t *matrix, double *det)
Index: cairo_surface.c
===================================================================
RCS file: /local/src/CVS/cairo/src/cairo_surface.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- cairo_surface.c 30 Jul 2003 15:30:51 -0000 1.2
+++ cairo_surface.c 1 Aug 2003 05:41:44 -0000 1.3
@@ -101,6 +101,7 @@
return surface;
}
+slim_hidden_def(cairo_surface_create_for_drawable)
/* XXX: These definitions are 100% bogus. The problem that needs to be
fixed is that Ic needs to export a real API for passing in
@@ -215,6 +216,7 @@
return surface;
}
+slim_hidden_def(cairo_surface_create_for_image)
cairo_surface_t *
cairo_surface_create_similar (cairo_surface_t *other,
@@ -297,6 +299,7 @@
_cairo_surface_fill_rectangle (surface, CAIRO_OPERATOR_SRC, &color, 0, 0, width, height);
return surface;
}
+slim_hidden_def(cairo_surface_create_similar_solid)
void
_cairo_surface_reference (cairo_surface_t *surface)
@@ -331,6 +334,7 @@
free (surface);
}
+slim_hidden_def(cairo_surface_destroy)
static void
_cairo_surface_ensure_gc (cairo_surface_t *surface)
@@ -476,6 +480,7 @@
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)
@@ -492,6 +497,7 @@
return CAIRO_STATUS_SUCCESS;
}
+slim_hidden_def(cairo_surface_get_matrix)
/* XXX: The Render specification has capitalized versions of these
strings. However, the current implementation is case-sensitive and
@@ -564,6 +570,7 @@
return CAIRO_STATUS_SUCCESS;
}
+slim_hidden_def(cairo_surface_set_repeat)
void
_cairo_surface_composite (cairo_operator_t operator,
Index: cairo_traps.c
===================================================================
RCS file: /local/src/CVS/cairo/src/cairo_traps.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- cairo_traps.c 30 Jul 2003 15:30:51 -0000 1.7
+++ cairo_traps.c 1 Aug 2003 05:41:44 -0000 1.8
@@ -31,11 +31,11 @@
static cairo_status_t
cairo_traps_grow_by (cairo_traps_t *traps, int additional);
-cairo_status_t
+static cairo_status_t
cairo_traps_add_trap (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bottom,
cairo_line_t *left, cairo_line_t *right);
-cairo_status_t
+static cairo_status_t
cairo_traps_add_trap_from_points (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bottom,
cairo_point_t left_p1, cairo_point_t left_p2,
cairo_point_t right_p1, cairo_point_t right_p2);
@@ -81,7 +81,7 @@
}
}
-cairo_status_t
+static cairo_status_t
cairo_traps_add_trap (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bottom,
cairo_line_t *left, cairo_line_t *right)
{
@@ -109,7 +109,7 @@
return CAIRO_STATUS_SUCCESS;
}
-cairo_status_t
+static cairo_status_t
cairo_traps_add_trap_from_points (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bottom,
cairo_point_t left_p1, cairo_point_t left_p2,
cairo_point_t right_p1, cairo_point_t right_p2)
Index: cairoint.h
===================================================================
RCS file: /local/src/CVS/cairo/src/cairoint.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- cairoint.h 30 Jul 2003 17:48:28 -0000 1.7
+++ cairoint.h 1 Aug 2003 05:41:44 -0000 1.8
@@ -44,7 +44,9 @@
#include "cairo.h"
-#ifndef __GCC__
+#include <slim_internal.h>
+
+#ifndef __GNUC__
#define __attribute__(x)
#endif
@@ -355,305 +357,305 @@
} cairo_stroke_face_t;
/* cairo_gstate_t.c */
-cairo_gstate_t *
+extern cairo_gstate_t * __internal_linkage
_cairo_gstate_create (void);
-void
+extern void __internal_linkage
_cairo_gstate_init (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_init_copy (cairo_gstate_t *gstate, cairo_gstate_t *other);
-void
+extern void __internal_linkage
_cairo_gstate_fini (cairo_gstate_t *gstate);
-void
+extern void __internal_linkage
_cairo_gstate_destroy (cairo_gstate_t *gstate);
-cairo_gstate_t *
+extern cairo_gstate_t * __internal_linkage
_cairo_gstate_clone (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_begin_group (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_end_group (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_set_drawable (cairo_gstate_t *gstate, Drawable drawable);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_set_visual (cairo_gstate_t *gstate, Visual *visual);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_set_format (cairo_gstate_t *gstate, cairo_format_t format);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_set_target_surface (cairo_gstate_t *gstate, cairo_surface_t *surface);
-cairo_surface_t *
+extern cairo_surface_t * __internal_linkage
_cairo_gstate_get_target_surface (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_set_pattern (cairo_gstate_t *gstate, cairo_surface_t *pattern);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_set_operator (cairo_gstate_t *gstate, cairo_operator_t operator);
-cairo_operator_t
+extern cairo_operator_t __internal_linkage
_cairo_gstate_get_operator (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_set_rgb_color (cairo_gstate_t *gstate, double red, double green, double blue);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_get_rgb_color (cairo_gstate_t *gstate, double *red, double *green, double *blue);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_set_tolerance (cairo_gstate_t *gstate, double tolerance);
-double
+extern double __internal_linkage
_cairo_gstate_get_tolerance (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_set_alpha (cairo_gstate_t *gstate, double alpha);
-double
+extern double __internal_linkage
_cairo_gstate_get_alpha (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_set_fill_rule (cairo_gstate_t *gstate, cairo_fill_rule_t fill_rule);
-cairo_fill_rule_t
+extern cairo_fill_rule_t __internal_linkage
_cairo_gstate_get_fill_rule (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_set_line_width (cairo_gstate_t *gstate, double width);
-double
+extern double __internal_linkage
_cairo_gstate_get_line_width (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_set_line_cap (cairo_gstate_t *gstate, cairo_line_cap_t line_cap);
-cairo_line_cap_t
+extern cairo_line_cap_t __internal_linkage
_cairo_gstate_get_line_cap (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_set_line_join (cairo_gstate_t *gstate, cairo_line_join_t line_join);
-cairo_line_join_t
+extern cairo_line_join_t __internal_linkage
_cairo_gstate_get_line_join (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_set_dash (cairo_gstate_t *gstate, double *dash, int num_dashes, double offset);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_set_miter_limit (cairo_gstate_t *gstate, double limit);
-double
+extern double __internal_linkage
_cairo_gstate_get_miter_limit (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_translate (cairo_gstate_t *gstate, double tx, double ty);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_scale (cairo_gstate_t *gstate, double sx, double sy);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_rotate (cairo_gstate_t *gstate, double angle);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_concat_matrix (cairo_gstate_t *gstate,
cairo_matrix_t *matrix);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_set_matrix (cairo_gstate_t *gstate,
cairo_matrix_t *matrix);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_default_matrix (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_identity_matrix (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_transform_point (cairo_gstate_t *gstate, double *x, double *y);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_transform_distance (cairo_gstate_t *gstate, double *dx, double *dy);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_inverse_transform_point (cairo_gstate_t *gstate, double *x, double *y);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_inverse_transform_distance (cairo_gstate_t *gstate, double *dx, double *dy);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_new_path (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_move_to (cairo_gstate_t *gstate, double x, double y);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_line_to (cairo_gstate_t *gstate, double x, double y);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_curve_to (cairo_gstate_t *gstate,
double x1, double y1,
double x2, double y2,
double x3, double y3);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_rel_move_to (cairo_gstate_t *gstate, double dx, double dy);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_rel_line_to (cairo_gstate_t *gstate, double dx, double dy);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_rel_curve_to (cairo_gstate_t *gstate,
double dx1, double dy1,
double dx2, double dy2,
double dx3, double dy3);
/* XXX: NYI
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_stroke_path (cairo_gstate_t *gstate);
*/
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_close_path (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_get_current_point (cairo_gstate_t *gstate, double *x, double *y);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_stroke (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_fill (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_clip (cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_select_font (cairo_gstate_t *gstate, const char *key);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_scale_font (cairo_gstate_t *gstate, double scale);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_transform_font (cairo_gstate_t *gstate,
double a, double b,
double c, double d);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_text_extents (cairo_gstate_t *gstate,
const unsigned char *utf8,
double *x, double *y,
double *width, double *height,
double *dx, double *dy);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_show_text (cairo_gstate_t *gstate, const unsigned char *utf8);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_gstate_show_surface (cairo_gstate_t *gstate,
cairo_surface_t *surface,
int width,
int height);
/* cairo_color_t.c */
-void
+extern void __internal_linkage
_cairo_color_init (cairo_color_t *color);
-void
+extern void __internal_linkage
_cairo_color_fini (cairo_color_t *color);
-void
+extern void __internal_linkage
_cairo_color_set_rgb (cairo_color_t *color, double red, double green, double blue);
-void
+extern void __internal_linkage
_cairo_color_get_rgb (cairo_color_t *color, double *red, double *green, double *blue);
-void
+extern void __internal_linkage
_cairo_color_set_alpha (cairo_color_t *color, double alpha);
/* cairo_font_t.c */
-void
+extern void __internal_linkage
_cairo_font_init (cairo_font_t *font);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_font_init_copy (cairo_font_t *font, cairo_font_t *other);
-void
+extern void __internal_linkage
_cairo_font_fini (cairo_font_t *font);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_font_select (cairo_font_t *font, const char *key);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_font_scale (cairo_font_t *font, double scale);
-cairo_status_t
+extern cairo_status_t __internal_linkage
cairo_font_transform (cairo_font_t *font,
double a, double b,
double c, double d);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_font_resolve_xft_font (cairo_font_t *font, cairo_gstate_t *gstate, XftFont **xft_font);
/* cairo_path_t.c */
-void
+extern void __internal_linkage
_cairo_path_init (cairo_path_t *path);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_path_init_copy (cairo_path_t *path, cairo_path_t *other);
-void
+extern void __internal_linkage
_cairo_path_fini (cairo_path_t *path);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_path_move_to (cairo_path_t *path, double x, double y);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_path_line_to (cairo_path_t *path, double x, double y);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_path_curve_to (cairo_path_t *path,
double x1, double y1,
double x2, double y2,
double x3, double y3);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_path_close_path (cairo_path_t *path);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_path_interpret (cairo_path_t *path,
cairo_path_direction_t dir,
const cairo_path_callbacks_t *cb,
void *closure);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_path_bounds (cairo_path_t *path, double *x1, double *y1, double *x2, double *y2);
/* cairo_path_tfill.c */
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_path_fill_to_traps (cairo_path_t *path, cairo_gstate_t *gstate, cairo_traps_t *traps);
/* cairo_path_tstroke.c */
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_path_stroke_to_traps (cairo_path_t *path, cairo_gstate_t *gstate, cairo_traps_t *traps);
/* cairo_surface_t.c */
-void
+extern void __internal_linkage
_cairo_surface_reference (cairo_surface_t *surface);
-void
+extern void __internal_linkage
_cairo_surface_fill_rectangle (cairo_surface_t *surface,
cairo_operator_t operator,
cairo_color_t *color,
@@ -662,7 +664,7 @@
int width,
int height);
-void
+extern void __internal_linkage
_cairo_surface_composite (cairo_operator_t operator,
cairo_surface_t *src,
cairo_surface_t *mask,
@@ -676,14 +678,14 @@
unsigned int width,
unsigned int height);
-void
+extern void __internal_linkage
_cairo_surface_fill_rectangles (cairo_surface_t *surface,
cairo_operator_t operator,
const cairo_color_t *color,
cairo_rectangle_t *rects,
int num_rects);
-void
+extern void __internal_linkage
_cairo_surface_composite_trapezoids (cairo_operator_t operator,
cairo_surface_t *src,
cairo_surface_t *dst,
@@ -692,138 +694,162 @@
const cairo_trapezoid_t *traps,
int ntraps);
-void
+extern void __internal_linkage
_cairo_surface_pull_image (cairo_surface_t *surface);
-void
+extern void __internal_linkage
_cairo_surface_push_image (cairo_surface_t *surface);
/* cairo_pen_t.c */
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_pen_init (cairo_pen_t *pen, double radius, cairo_gstate_t *gstate);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_pen_init_empty (cairo_pen_t *pen);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_pen_init_copy (cairo_pen_t *pen, cairo_pen_t *other);
-void
+extern void __internal_linkage
_cairo_pen_fini (cairo_pen_t *pen);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_pen_add_points (cairo_pen_t *pen, cairo_point_t *pt, int num_pts);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_pen_add_points_for_slopes (cairo_pen_t *pen,
cairo_point_t *a,
cairo_point_t *b,
cairo_point_t *c,
cairo_point_t *d);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_pen_find_active_cw_vertex_index (cairo_pen_t *pen,
cairo_slope_t *slope,
int *active);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_pen_find_active_ccw_vertex_index (cairo_pen_t *pen,
cairo_slope_t *slope,
int *active);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_pen_stroke_spline (cairo_pen_t *pen,
cairo_spline_t *spline,
double tolerance,
cairo_traps_t *traps);
/* cairo_polygon_t.c */
-void
+extern void __internal_linkage
_cairo_polygon_init (cairo_polygon_t *polygon);
-void
+extern void __internal_linkage
_cairo_polygon_fini (cairo_polygon_t *polygon);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_polygon_add_edge (cairo_polygon_t *polygon, cairo_point_t *p1, cairo_point_t *p2);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_polygon_add_point (cairo_polygon_t *polygon, cairo_point_t *pt);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_polygon_close (cairo_polygon_t *polygon);
/* cairo_spline_t.c */
-cairo_int_status_t
+extern cairo_int_status_t __internal_linkage
_cairo_spline_init (cairo_spline_t *spline,
cairo_point_t *a,
cairo_point_t *b,
cairo_point_t *c,
cairo_point_t *d);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_spline_decompose (cairo_spline_t *spline, double tolerance);
-void
+extern void __internal_linkage
_cairo_spline_fini (cairo_spline_t *spline);
/* cairo_matrix_t.c */
-void
+extern void __internal_linkage
_cairo_matrix_init (cairo_matrix_t *matrix);
-void
+extern void __internal_linkage
_cairo_matrix_fini (cairo_matrix_t *matrix);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_matrix_set_translate (cairo_matrix_t *matrix,
double tx, double ty);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_matrix_set_scale (cairo_matrix_t *matrix,
double sx, double sy);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_matrix_set_rotate (cairo_matrix_t *matrix,
double angle);
-cairo_status_t
+extern cairo_status_t __internal_linkage
cairo_matrix_transform_bounding_box (cairo_matrix_t *matrix,
double *x, double *y,
double *width, double *height);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_matrix_compute_determinant (cairo_matrix_t *matrix, double *det);
-cairo_status_t
+extern cairo_status_t __internal_linkage
_cairo_matrix_compute_eigen_values (cairo_matrix_t *matrix, double *lambda1, double *lambda2);
/* cairo_traps.c */
-void
+extern void __internal_linkage
cairo_traps_init (cairo_traps_t *traps);
-void
+extern void __internal_linkage
cairo_traps_fini (cairo_traps_t *traps);
-cairo_status_t
+extern cairo_status_t __internal_linkage
cairo_traps_tessellate_triangle (cairo_traps_t *traps, cairo_point_t t[3]);
-cairo_status_t
+extern cairo_status_t __internal_linkage
cairo_traps_tessellate_rectangle (cairo_traps_t *traps, cairo_point_t q[4]);
-cairo_status_t
+extern cairo_status_t __internal_linkage
cairo_traps_tessellate_polygon (cairo_traps_t *traps,
cairo_polygon_t *poly,
cairo_fill_rule_t fill_rule);
/* cairo_slope.c */
-void
+extern void __internal_linkage
_cairo_slope_init (cairo_slope_t *slope, cairo_point_t *a, cairo_point_t *b);
-int
+extern int __internal_linkage
_cairo_slope_clockwise (cairo_slope_t *a, cairo_slope_t *b);
-int
+extern int __internal_linkage
_cairo_slope_counter_clockwise (cairo_slope_t *a, cairo_slope_t *b);
+
+/* Avoid unnecessary PLT entries. */
+
+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)
+slim_hidden_proto(cairo_matrix_set_affine)
+slim_hidden_proto(cairo_matrix_set_identity)
+slim_hidden_proto(cairo_matrix_transform_distance)
+slim_hidden_proto(cairo_matrix_transform_point)
+slim_hidden_proto(cairo_move_to)
+slim_hidden_proto(cairo_rel_line_to)
+slim_hidden_proto(cairo_restore)
+slim_hidden_proto(cairo_save)
+slim_hidden_proto(cairo_set_target_surface)
+slim_hidden_proto(cairo_surface_create_for_drawable)
+slim_hidden_proto(cairo_surface_create_for_image)
+slim_hidden_proto(cairo_surface_create_similar_solid)
+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
More information about the Commit
mailing list