diff options
Diffstat (limited to 'win32/deps/pixman/pixman.patch')
-rw-r--r-- | win32/deps/pixman/pixman.patch | 577 |
1 files changed, 577 insertions, 0 deletions
diff --git a/win32/deps/pixman/pixman.patch b/win32/deps/pixman/pixman.patch new file mode 100644 index 00000000..9c63841a --- /dev/null +++ b/win32/deps/pixman/pixman.patch @@ -0,0 +1,577 @@ +diff -ruN --strip-trailing-cr pixman-0.26.2.orig/pixman/pixman.h pixman-0.26.2/pixman/pixman.h +--- pixman-0.26.2.orig/pixman/pixman.h 2012-06-29 18:25:17 +0000 ++++ pixman-0.26.2/pixman/pixman.h 2012-02-22 10:01:16 +0000 +@@ -69,6 +69,16 @@ + #ifndef PIXMAN_H__ + #define PIXMAN_H__ + ++#if (defined(_MSC_VER) && !defined(PIXMAN_STATIC)) ++#ifdef BUILDING_PIXMAN ++#define PIXMAN_EXP __declspec(dllexport) ++#else ++#define PIXMAN_EXP __declspec(dllimport) ++#endif ++#else ++#define PIXMAN_EXP ++#endif ++ + #include <pixman-version.h> + + #ifdef __cplusplus +@@ -184,43 +194,43 @@ + struct pixman_box16; + typedef union pixman_image pixman_image_t; + +-void pixman_transform_init_identity (struct pixman_transform *matrix); +-pixman_bool_t pixman_transform_point_3d (const struct pixman_transform *transform, ++PIXMAN_EXP void pixman_transform_init_identity (struct pixman_transform *matrix); ++PIXMAN_EXP pixman_bool_t pixman_transform_point_3d (const struct pixman_transform *transform, + struct pixman_vector *vector); +-pixman_bool_t pixman_transform_point (const struct pixman_transform *transform, ++PIXMAN_EXP pixman_bool_t pixman_transform_point (const struct pixman_transform *transform, + struct pixman_vector *vector); +-pixman_bool_t pixman_transform_multiply (struct pixman_transform *dst, ++PIXMAN_EXP pixman_bool_t pixman_transform_multiply (struct pixman_transform *dst, + const struct pixman_transform *l, + const struct pixman_transform *r); +-void pixman_transform_init_scale (struct pixman_transform *t, ++PIXMAN_EXP void pixman_transform_init_scale (struct pixman_transform *t, + pixman_fixed_t sx, + pixman_fixed_t sy); +-pixman_bool_t pixman_transform_scale (struct pixman_transform *forward, ++PIXMAN_EXP pixman_bool_t pixman_transform_scale (struct pixman_transform *forward, + struct pixman_transform *reverse, + pixman_fixed_t sx, + pixman_fixed_t sy); +-void pixman_transform_init_rotate (struct pixman_transform *t, ++PIXMAN_EXP void pixman_transform_init_rotate (struct pixman_transform *t, + pixman_fixed_t cos, + pixman_fixed_t sin); +-pixman_bool_t pixman_transform_rotate (struct pixman_transform *forward, ++PIXMAN_EXP pixman_bool_t pixman_transform_rotate (struct pixman_transform *forward, + struct pixman_transform *reverse, + pixman_fixed_t c, + pixman_fixed_t s); +-void pixman_transform_init_translate (struct pixman_transform *t, ++PIXMAN_EXP void pixman_transform_init_translate (struct pixman_transform *t, + pixman_fixed_t tx, + pixman_fixed_t ty); +-pixman_bool_t pixman_transform_translate (struct pixman_transform *forward, ++PIXMAN_EXP pixman_bool_t pixman_transform_translate (struct pixman_transform *forward, + struct pixman_transform *reverse, + pixman_fixed_t tx, + pixman_fixed_t ty); +-pixman_bool_t pixman_transform_bounds (const struct pixman_transform *matrix, ++PIXMAN_EXP pixman_bool_t pixman_transform_bounds (const struct pixman_transform *matrix, + struct pixman_box16 *b); +-pixman_bool_t pixman_transform_invert (struct pixman_transform *dst, ++PIXMAN_EXP pixman_bool_t pixman_transform_invert (struct pixman_transform *dst, + const struct pixman_transform *src); +-pixman_bool_t pixman_transform_is_identity (const struct pixman_transform *t); +-pixman_bool_t pixman_transform_is_scale (const struct pixman_transform *t); +-pixman_bool_t pixman_transform_is_int_translate (const struct pixman_transform *t); +-pixman_bool_t pixman_transform_is_inverse (const struct pixman_transform *a, ++PIXMAN_EXP pixman_bool_t pixman_transform_is_identity (const struct pixman_transform *t); ++PIXMAN_EXP pixman_bool_t pixman_transform_is_scale (const struct pixman_transform *t); ++PIXMAN_EXP pixman_bool_t pixman_transform_is_int_translate (const struct pixman_transform *t); ++PIXMAN_EXP pixman_bool_t pixman_transform_is_inverse (const struct pixman_transform *a, + const struct pixman_transform *b); + + /* +@@ -236,43 +246,43 @@ + double m[3][3]; + }; + +-pixman_bool_t pixman_transform_from_pixman_f_transform (struct pixman_transform *t, ++PIXMAN_EXP pixman_bool_t pixman_transform_from_pixman_f_transform (struct pixman_transform *t, + const struct pixman_f_transform *ft); +-void pixman_f_transform_from_pixman_transform (struct pixman_f_transform *ft, ++PIXMAN_EXP void pixman_f_transform_from_pixman_transform (struct pixman_f_transform *ft, + const struct pixman_transform *t); +-pixman_bool_t pixman_f_transform_invert (struct pixman_f_transform *dst, ++PIXMAN_EXP pixman_bool_t pixman_f_transform_invert (struct pixman_f_transform *dst, + const struct pixman_f_transform *src); +-pixman_bool_t pixman_f_transform_point (const struct pixman_f_transform *t, ++PIXMAN_EXP pixman_bool_t pixman_f_transform_point (const struct pixman_f_transform *t, + struct pixman_f_vector *v); +-void pixman_f_transform_point_3d (const struct pixman_f_transform *t, ++PIXMAN_EXP void pixman_f_transform_point_3d (const struct pixman_f_transform *t, + struct pixman_f_vector *v); +-void pixman_f_transform_multiply (struct pixman_f_transform *dst, ++PIXMAN_EXP void pixman_f_transform_multiply (struct pixman_f_transform *dst, + const struct pixman_f_transform *l, + const struct pixman_f_transform *r); +-void pixman_f_transform_init_scale (struct pixman_f_transform *t, ++PIXMAN_EXP void pixman_f_transform_init_scale (struct pixman_f_transform *t, + double sx, + double sy); +-pixman_bool_t pixman_f_transform_scale (struct pixman_f_transform *forward, ++PIXMAN_EXP pixman_bool_t pixman_f_transform_scale (struct pixman_f_transform *forward, + struct pixman_f_transform *reverse, + double sx, + double sy); +-void pixman_f_transform_init_rotate (struct pixman_f_transform *t, ++PIXMAN_EXP void pixman_f_transform_init_rotate (struct pixman_f_transform *t, + double cos, + double sin); +-pixman_bool_t pixman_f_transform_rotate (struct pixman_f_transform *forward, ++PIXMAN_EXP pixman_bool_t pixman_f_transform_rotate (struct pixman_f_transform *forward, + struct pixman_f_transform *reverse, + double c, + double s); +-void pixman_f_transform_init_translate (struct pixman_f_transform *t, ++PIXMAN_EXP void pixman_f_transform_init_translate (struct pixman_f_transform *t, + double tx, + double ty); +-pixman_bool_t pixman_f_transform_translate (struct pixman_f_transform *forward, ++PIXMAN_EXP pixman_bool_t pixman_f_transform_translate (struct pixman_f_transform *forward, + struct pixman_f_transform *reverse, + double tx, + double ty); +-pixman_bool_t pixman_f_transform_bounds (const struct pixman_f_transform *t, ++PIXMAN_EXP pixman_bool_t pixman_f_transform_bounds (const struct pixman_f_transform *t, + struct pixman_box16 *b); +-void pixman_f_transform_init_identity (struct pixman_f_transform *t); ++PIXMAN_EXP void pixman_f_transform_init_identity (struct pixman_f_transform *t); + + typedef enum + { +@@ -399,74 +409,73 @@ + /* This function exists only to make it possible to preserve + * the X ABI - it should go away at first opportunity. + */ +-void pixman_region_set_static_pointers (pixman_box16_t *empty_box, ++PIXMAN_EXP void pixman_region_set_static_pointers (pixman_box16_t *empty_box, + pixman_region16_data_t *empty_data, + pixman_region16_data_t *broken_data); + + /* creation/destruction */ +-void pixman_region_init (pixman_region16_t *region); +-void pixman_region_init_rect (pixman_region16_t *region, ++PIXMAN_EXP void pixman_region_init (pixman_region16_t *region); ++PIXMAN_EXP void pixman_region_init_rect (pixman_region16_t *region, + int x, + int y, + unsigned int width, + unsigned int height); +-pixman_bool_t pixman_region_init_rects (pixman_region16_t *region, ++PIXMAN_EXP pixman_bool_t pixman_region_init_rects (pixman_region16_t *region, + const pixman_box16_t *boxes, + int count); +-void pixman_region_init_with_extents (pixman_region16_t *region, ++PIXMAN_EXP void pixman_region_init_with_extents (pixman_region16_t *region, + pixman_box16_t *extents); +-void pixman_region_init_from_image (pixman_region16_t *region, ++PIXMAN_EXP void pixman_region_init_from_image (pixman_region16_t *region, + pixman_image_t *image); +-void pixman_region_fini (pixman_region16_t *region); ++PIXMAN_EXP void pixman_region_fini (pixman_region16_t *region); + + + /* manipulation */ +-void pixman_region_translate (pixman_region16_t *region, ++PIXMAN_EXP void pixman_region_translate (pixman_region16_t *region, + int x, + int y); +-pixman_bool_t pixman_region_copy (pixman_region16_t *dest, ++PIXMAN_EXP pixman_bool_t pixman_region_copy (pixman_region16_t *dest, + pixman_region16_t *source); +-pixman_bool_t pixman_region_intersect (pixman_region16_t *new_reg, ++PIXMAN_EXP pixman_bool_t pixman_region_intersect (pixman_region16_t *new_reg, + pixman_region16_t *reg1, + pixman_region16_t *reg2); +-pixman_bool_t pixman_region_union (pixman_region16_t *new_reg, ++PIXMAN_EXP pixman_bool_t pixman_region_union (pixman_region16_t *new_reg, + pixman_region16_t *reg1, + pixman_region16_t *reg2); +-pixman_bool_t pixman_region_union_rect (pixman_region16_t *dest, ++PIXMAN_EXP pixman_bool_t pixman_region_union_rect (pixman_region16_t *dest, + pixman_region16_t *source, + int x, + int y, + unsigned int width, + unsigned int height); +-pixman_bool_t pixman_region_intersect_rect (pixman_region16_t *dest, ++PIXMAN_EXP pixman_bool_t pixman_region_intersect_rect (pixman_region16_t *dest, + pixman_region16_t *source, + int x, + int y, + unsigned int width, + unsigned int height); +-pixman_bool_t pixman_region_subtract (pixman_region16_t *reg_d, ++PIXMAN_EXP pixman_bool_t pixman_region_subtract (pixman_region16_t *reg_d, + pixman_region16_t *reg_m, + pixman_region16_t *reg_s); +-pixman_bool_t pixman_region_inverse (pixman_region16_t *new_reg, ++PIXMAN_EXP pixman_bool_t pixman_region_inverse (pixman_region16_t *new_reg, + pixman_region16_t *reg1, + pixman_box16_t *inv_rect); +-pixman_bool_t pixman_region_contains_point (pixman_region16_t *region, ++PIXMAN_EXP pixman_bool_t pixman_region_contains_point (pixman_region16_t *region, + int x, + int y, + pixman_box16_t *box); +-pixman_region_overlap_t pixman_region_contains_rectangle (pixman_region16_t *region, ++PIXMAN_EXP pixman_region_overlap_t pixman_region_contains_rectangle (pixman_region16_t *region, + pixman_box16_t *prect); +-pixman_bool_t pixman_region_not_empty (pixman_region16_t *region); +-pixman_box16_t * pixman_region_extents (pixman_region16_t *region); +-int pixman_region_n_rects (pixman_region16_t *region); +-pixman_box16_t * pixman_region_rectangles (pixman_region16_t *region, ++PIXMAN_EXP pixman_bool_t pixman_region_not_empty (pixman_region16_t *region); ++PIXMAN_EXP pixman_box16_t * pixman_region_extents (pixman_region16_t *region); ++PIXMAN_EXP int pixman_region_n_rects (pixman_region16_t *region); ++PIXMAN_EXP pixman_box16_t * pixman_region_rectangles (pixman_region16_t *region, + int *n_rects); +-pixman_bool_t pixman_region_equal (pixman_region16_t *region1, ++PIXMAN_EXP pixman_bool_t pixman_region_equal (pixman_region16_t *region1, + pixman_region16_t *region2); +-pixman_bool_t pixman_region_selfcheck (pixman_region16_t *region); +-void pixman_region_reset (pixman_region16_t *region, ++PIXMAN_EXP pixman_bool_t pixman_region_selfcheck (pixman_region16_t *region); ++PIXMAN_EXP void pixman_region_reset (pixman_region16_t *region, + pixman_box16_t *box); +-void pixman_region_clear (pixman_region16_t *region); + /* + * 32 bit regions + */ +@@ -499,73 +508,72 @@ + }; + + /* creation/destruction */ +-void pixman_region32_init (pixman_region32_t *region); +-void pixman_region32_init_rect (pixman_region32_t *region, ++PIXMAN_EXP void pixman_region32_init (pixman_region32_t *region); ++PIXMAN_EXP void pixman_region32_init_rect (pixman_region32_t *region, + int x, + int y, + unsigned int width, + unsigned int height); +-pixman_bool_t pixman_region32_init_rects (pixman_region32_t *region, ++PIXMAN_EXP pixman_bool_t pixman_region32_init_rects (pixman_region32_t *region, + const pixman_box32_t *boxes, + int count); +-void pixman_region32_init_with_extents (pixman_region32_t *region, ++PIXMAN_EXP void pixman_region32_init_with_extents (pixman_region32_t *region, + pixman_box32_t *extents); +-void pixman_region32_init_from_image (pixman_region32_t *region, ++PIXMAN_EXP void pixman_region32_init_from_image (pixman_region32_t *region, + pixman_image_t *image); +-void pixman_region32_fini (pixman_region32_t *region); ++PIXMAN_EXP void pixman_region32_fini (pixman_region32_t *region); + + + /* manipulation */ +-void pixman_region32_translate (pixman_region32_t *region, ++PIXMAN_EXP void pixman_region32_translate (pixman_region32_t *region, + int x, + int y); +-pixman_bool_t pixman_region32_copy (pixman_region32_t *dest, ++PIXMAN_EXP pixman_bool_t pixman_region32_copy (pixman_region32_t *dest, + pixman_region32_t *source); +-pixman_bool_t pixman_region32_intersect (pixman_region32_t *new_reg, ++PIXMAN_EXP pixman_bool_t pixman_region32_intersect (pixman_region32_t *new_reg, + pixman_region32_t *reg1, + pixman_region32_t *reg2); +-pixman_bool_t pixman_region32_union (pixman_region32_t *new_reg, ++PIXMAN_EXP pixman_bool_t pixman_region32_union (pixman_region32_t *new_reg, + pixman_region32_t *reg1, + pixman_region32_t *reg2); +-pixman_bool_t pixman_region32_intersect_rect (pixman_region32_t *dest, ++PIXMAN_EXP pixman_bool_t pixman_region32_intersect_rect (pixman_region32_t *dest, + pixman_region32_t *source, + int x, + int y, + unsigned int width, + unsigned int height); +-pixman_bool_t pixman_region32_union_rect (pixman_region32_t *dest, ++PIXMAN_EXP pixman_bool_t pixman_region32_union_rect (pixman_region32_t *dest, + pixman_region32_t *source, + int x, + int y, + unsigned int width, + unsigned int height); +-pixman_bool_t pixman_region32_subtract (pixman_region32_t *reg_d, ++PIXMAN_EXP pixman_bool_t pixman_region32_subtract (pixman_region32_t *reg_d, + pixman_region32_t *reg_m, + pixman_region32_t *reg_s); +-pixman_bool_t pixman_region32_inverse (pixman_region32_t *new_reg, ++PIXMAN_EXP pixman_bool_t pixman_region32_inverse (pixman_region32_t *new_reg, + pixman_region32_t *reg1, + pixman_box32_t *inv_rect); +-pixman_bool_t pixman_region32_contains_point (pixman_region32_t *region, ++PIXMAN_EXP pixman_bool_t pixman_region32_contains_point (pixman_region32_t *region, + int x, + int y, + pixman_box32_t *box); +-pixman_region_overlap_t pixman_region32_contains_rectangle (pixman_region32_t *region, ++PIXMAN_EXP pixman_region_overlap_t pixman_region32_contains_rectangle (pixman_region32_t *region, + pixman_box32_t *prect); +-pixman_bool_t pixman_region32_not_empty (pixman_region32_t *region); +-pixman_box32_t * pixman_region32_extents (pixman_region32_t *region); +-int pixman_region32_n_rects (pixman_region32_t *region); +-pixman_box32_t * pixman_region32_rectangles (pixman_region32_t *region, ++PIXMAN_EXP pixman_bool_t pixman_region32_not_empty (pixman_region32_t *region); ++PIXMAN_EXP pixman_box32_t * pixman_region32_extents (pixman_region32_t *region); ++PIXMAN_EXP int pixman_region32_n_rects (pixman_region32_t *region); ++PIXMAN_EXP pixman_box32_t * pixman_region32_rectangles (pixman_region32_t *region, + int *n_rects); +-pixman_bool_t pixman_region32_equal (pixman_region32_t *region1, ++PIXMAN_EXP pixman_bool_t pixman_region32_equal (pixman_region32_t *region1, + pixman_region32_t *region2); +-pixman_bool_t pixman_region32_selfcheck (pixman_region32_t *region); +-void pixman_region32_reset (pixman_region32_t *region, ++PIXMAN_EXP pixman_bool_t pixman_region32_selfcheck (pixman_region32_t *region); ++PIXMAN_EXP void pixman_region32_reset (pixman_region32_t *region, + pixman_box32_t *box); +-void pixman_region32_clear (pixman_region32_t *region); + + + /* Copy / Fill / Misc */ +-pixman_bool_t pixman_blt (uint32_t *src_bits, ++PIXMAN_EXP pixman_bool_t pixman_blt (uint32_t *src_bits, + uint32_t *dst_bits, + int src_stride, + int dst_stride, +@@ -577,7 +585,7 @@ + int dest_y, + int width, + int height); +-pixman_bool_t pixman_fill (uint32_t *bits, ++PIXMAN_EXP pixman_bool_t pixman_fill (uint32_t *bits, + int stride, + int bpp, + int x, +@@ -586,8 +594,8 @@ + int height, + uint32_t _xor); + +-int pixman_version (void); +-const char* pixman_version_string (void); ++PIXMAN_EXP int pixman_version (void); ++PIXMAN_EXP const char* pixman_version_string (void); + + /* + * Images +@@ -729,88 +737,88 @@ + } pixman_format_code_t; + + /* Querying supported format values. */ +-pixman_bool_t pixman_format_supported_destination (pixman_format_code_t format); +-pixman_bool_t pixman_format_supported_source (pixman_format_code_t format); ++PIXMAN_EXP pixman_bool_t pixman_format_supported_destination (pixman_format_code_t format); ++PIXMAN_EXP pixman_bool_t pixman_format_supported_source (pixman_format_code_t format); + + /* Constructors */ +-pixman_image_t *pixman_image_create_solid_fill (pixman_color_t *color); +-pixman_image_t *pixman_image_create_linear_gradient (pixman_point_fixed_t *p1, ++PIXMAN_EXP pixman_image_t *pixman_image_create_solid_fill (pixman_color_t *color); ++PIXMAN_EXP pixman_image_t *pixman_image_create_linear_gradient (pixman_point_fixed_t *p1, + pixman_point_fixed_t *p2, + const pixman_gradient_stop_t *stops, + int n_stops); +-pixman_image_t *pixman_image_create_radial_gradient (pixman_point_fixed_t *inner, ++PIXMAN_EXP pixman_image_t *pixman_image_create_radial_gradient (pixman_point_fixed_t *inner, + pixman_point_fixed_t *outer, + pixman_fixed_t inner_radius, + pixman_fixed_t outer_radius, + const pixman_gradient_stop_t *stops, + int n_stops); +-pixman_image_t *pixman_image_create_conical_gradient (pixman_point_fixed_t *center, ++PIXMAN_EXP pixman_image_t *pixman_image_create_conical_gradient (pixman_point_fixed_t *center, + pixman_fixed_t angle, + const pixman_gradient_stop_t *stops, + int n_stops); +-pixman_image_t *pixman_image_create_bits (pixman_format_code_t format, ++PIXMAN_EXP pixman_image_t *pixman_image_create_bits (pixman_format_code_t format, + int width, + int height, + uint32_t *bits, + int rowstride_bytes); + + /* Destructor */ +-pixman_image_t *pixman_image_ref (pixman_image_t *image); +-pixman_bool_t pixman_image_unref (pixman_image_t *image); ++PIXMAN_EXP pixman_image_t *pixman_image_ref (pixman_image_t *image); ++PIXMAN_EXP pixman_bool_t pixman_image_unref (pixman_image_t *image); + +-void pixman_image_set_destroy_function (pixman_image_t *image, ++PIXMAN_EXP void pixman_image_set_destroy_function (pixman_image_t *image, + pixman_image_destroy_func_t function, + void *data); +-void * pixman_image_get_destroy_data (pixman_image_t *image); ++PIXMAN_EXP void * pixman_image_get_destroy_data (pixman_image_t *image); + + /* Set properties */ +-pixman_bool_t pixman_image_set_clip_region (pixman_image_t *image, ++PIXMAN_EXP pixman_bool_t pixman_image_set_clip_region (pixman_image_t *image, + pixman_region16_t *region); +-pixman_bool_t pixman_image_set_clip_region32 (pixman_image_t *image, ++PIXMAN_EXP pixman_bool_t pixman_image_set_clip_region32 (pixman_image_t *image, + pixman_region32_t *region); +-void pixman_image_set_has_client_clip (pixman_image_t *image, ++PIXMAN_EXP void pixman_image_set_has_client_clip (pixman_image_t *image, + pixman_bool_t clien_clip); +-pixman_bool_t pixman_image_set_transform (pixman_image_t *image, ++PIXMAN_EXP pixman_bool_t pixman_image_set_transform (pixman_image_t *image, + const pixman_transform_t *transform); +-void pixman_image_set_repeat (pixman_image_t *image, ++PIXMAN_EXP void pixman_image_set_repeat (pixman_image_t *image, + pixman_repeat_t repeat); +-pixman_bool_t pixman_image_set_filter (pixman_image_t *image, ++PIXMAN_EXP pixman_bool_t pixman_image_set_filter (pixman_image_t *image, + pixman_filter_t filter, + const pixman_fixed_t *filter_params, + int n_filter_params); +-void pixman_image_set_source_clipping (pixman_image_t *image, ++PIXMAN_EXP void pixman_image_set_source_clipping (pixman_image_t *image, + pixman_bool_t source_clipping); +-void pixman_image_set_alpha_map (pixman_image_t *image, ++PIXMAN_EXP void pixman_image_set_alpha_map (pixman_image_t *image, + pixman_image_t *alpha_map, + int16_t x, + int16_t y); +-void pixman_image_set_component_alpha (pixman_image_t *image, ++PIXMAN_EXP void pixman_image_set_component_alpha (pixman_image_t *image, + pixman_bool_t component_alpha); +-pixman_bool_t pixman_image_get_component_alpha (pixman_image_t *image); +-void pixman_image_set_accessors (pixman_image_t *image, ++PIXMAN_EXP pixman_bool_t pixman_image_get_component_alpha (pixman_image_t *image); ++PIXMAN_EXP void pixman_image_set_accessors (pixman_image_t *image, + pixman_read_memory_func_t read_func, + pixman_write_memory_func_t write_func); +-void pixman_image_set_indexed (pixman_image_t *image, ++PIXMAN_EXP void pixman_image_set_indexed (pixman_image_t *image, + const pixman_indexed_t *indexed); +-uint32_t *pixman_image_get_data (pixman_image_t *image); +-int pixman_image_get_width (pixman_image_t *image); +-int pixman_image_get_height (pixman_image_t *image); +-int pixman_image_get_stride (pixman_image_t *image); /* in bytes */ +-int pixman_image_get_depth (pixman_image_t *image); +-pixman_format_code_t pixman_image_get_format (pixman_image_t *image); +-pixman_bool_t pixman_image_fill_rectangles (pixman_op_t op, ++PIXMAN_EXP uint32_t *pixman_image_get_data (pixman_image_t *image); ++PIXMAN_EXP int pixman_image_get_width (pixman_image_t *image); ++PIXMAN_EXP int pixman_image_get_height (pixman_image_t *image); ++PIXMAN_EXP int pixman_image_get_stride (pixman_image_t *image); /* in bytes */ ++PIXMAN_EXP int pixman_image_get_depth (pixman_image_t *image); ++PIXMAN_EXP pixman_format_code_t pixman_image_get_format (pixman_image_t *image); ++PIXMAN_EXP pixman_bool_t pixman_image_fill_rectangles (pixman_op_t op, + pixman_image_t *image, + pixman_color_t *color, + int n_rects, + const pixman_rectangle16_t *rects); +-pixman_bool_t pixman_image_fill_boxes (pixman_op_t op, ++PIXMAN_EXP pixman_bool_t pixman_image_fill_boxes (pixman_op_t op, + pixman_image_t *dest, + pixman_color_t *color, + int n_boxes, + const pixman_box32_t *boxes); + + /* Composite */ +-pixman_bool_t pixman_compute_composite_region (pixman_region16_t *region, ++PIXMAN_EXP pixman_bool_t pixman_compute_composite_region (pixman_region16_t *region, + pixman_image_t *src_image, + pixman_image_t *mask_image, + pixman_image_t *dest_image, +@@ -822,7 +830,7 @@ + int16_t dest_y, + uint16_t width, + uint16_t height); +-void pixman_image_composite (pixman_op_t op, ++PIXMAN_EXP void pixman_image_composite (pixman_op_t op, + pixman_image_t *src, + pixman_image_t *mask, + pixman_image_t *dest, +@@ -834,7 +842,7 @@ + int16_t dest_y, + uint16_t width, + uint16_t height); +-void pixman_image_composite32 (pixman_op_t op, ++PIXMAN_EXP void pixman_image_composite32 (pixman_op_t op, + pixman_image_t *src, + pixman_image_t *mask, + pixman_image_t *dest, +@@ -865,7 +873,7 @@ + * Since 0.21.2, pixman doesn't do these workarounds anymore, so now this + * function is a no-op. + */ +-void pixman_disable_out_of_bounds_workaround (void); ++PIXMAN_EXP void pixman_disable_out_of_bounds_workaround (void); + + /* + * Trapezoids +@@ -923,45 +931,45 @@ + pixman_span_fix_t top, bot; + }; + +-pixman_fixed_t pixman_sample_ceil_y (pixman_fixed_t y, ++PIXMAN_EXP pixman_fixed_t pixman_sample_ceil_y (pixman_fixed_t y, + int bpp); +-pixman_fixed_t pixman_sample_floor_y (pixman_fixed_t y, ++PIXMAN_EXP pixman_fixed_t pixman_sample_floor_y (pixman_fixed_t y, + int bpp); +-void pixman_edge_step (pixman_edge_t *e, ++PIXMAN_EXP void pixman_edge_step (pixman_edge_t *e, + int n); +-void pixman_edge_init (pixman_edge_t *e, ++PIXMAN_EXP void pixman_edge_init (pixman_edge_t *e, + int bpp, + pixman_fixed_t y_start, + pixman_fixed_t x_top, + pixman_fixed_t y_top, + pixman_fixed_t x_bot, + pixman_fixed_t y_bot); +-void pixman_line_fixed_edge_init (pixman_edge_t *e, ++PIXMAN_EXP void pixman_line_fixed_edge_init (pixman_edge_t *e, + int bpp, + pixman_fixed_t y, + const pixman_line_fixed_t *line, + int x_off, + int y_off); +-void pixman_rasterize_edges (pixman_image_t *image, ++PIXMAN_EXP void pixman_rasterize_edges (pixman_image_t *image, + pixman_edge_t *l, + pixman_edge_t *r, + pixman_fixed_t t, + pixman_fixed_t b); +-void pixman_add_traps (pixman_image_t *image, ++PIXMAN_EXP void pixman_add_traps (pixman_image_t *image, + int16_t x_off, + int16_t y_off, + int ntrap, + pixman_trap_t *traps); +-void pixman_add_trapezoids (pixman_image_t *image, ++PIXMAN_EXP void pixman_add_trapezoids (pixman_image_t *image, + int16_t x_off, + int y_off, + int ntraps, + const pixman_trapezoid_t *traps); +-void pixman_rasterize_trapezoid (pixman_image_t *image, ++PIXMAN_EXP void pixman_rasterize_trapezoid (pixman_image_t *image, + const pixman_trapezoid_t *trap, + int x_off, + int y_off); +-void pixman_composite_trapezoids (pixman_op_t op, ++PIXMAN_EXP void pixman_composite_trapezoids (pixman_op_t op, + pixman_image_t * src, + pixman_image_t * dst, + pixman_format_code_t mask_format, +@@ -971,7 +979,7 @@ + int y_dst, + int n_traps, + const pixman_trapezoid_t * traps); +-void pixman_composite_triangles (pixman_op_t op, ++PIXMAN_EXP void pixman_composite_triangles (pixman_op_t op, + pixman_image_t * src, + pixman_image_t * dst, + pixman_format_code_t mask_format, +@@ -981,7 +989,7 @@ + int y_dst, + int n_tris, + const pixman_triangle_t * tris); +-void pixman_add_triangles (pixman_image_t *image, ++PIXMAN_EXP void pixman_add_triangles (pixman_image_t *image, + int32_t x_off, + int32_t y_off, + int n_tris, |