summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Canciani <ranma42@gmail.com>2012-06-22 11:04:56 +0200
committerAndrea Canciani <ranma42@gmail.com>2012-07-31 16:06:33 +0200
commitb0ae2c971d08516dfc0822c70eaa458e8be58fd1 (patch)
tree8e6496792648e6c24b21ec8e3f844c874d385f15
parentc4932246a420c4e0e476fcbc582d48c31bb1ae2a (diff)
Prepare symbol declarations for DLL build
DLL symbols must be declared dllexport when building the DLL, dllimport when including the header. To make this easier, have the PIXMAN_EXPORT macro in front of each declaration.
-rw-r--r--pixman/pixman.h141
1 files changed, 141 insertions, 0 deletions
diff --git a/pixman/pixman.h b/pixman/pixman.h
index b6d169f..1c317c3 100644
--- a/pixman/pixman.h
+++ b/pixman/pixman.h
@@ -187,42 +187,58 @@ struct pixman_transform
struct pixman_box16;
typedef union pixman_image pixman_image_t;
+PIXMAN_EXPORT
void pixman_transform_init_identity (struct pixman_transform *matrix);
+PIXMAN_EXPORT
pixman_bool_t pixman_transform_point_3d (const struct pixman_transform *transform,
struct pixman_vector *vector);
+PIXMAN_EXPORT
pixman_bool_t pixman_transform_point (const struct pixman_transform *transform,
struct pixman_vector *vector);
+PIXMAN_EXPORT
pixman_bool_t pixman_transform_multiply (struct pixman_transform *dst,
const struct pixman_transform *l,
const struct pixman_transform *r);
+PIXMAN_EXPORT
void pixman_transform_init_scale (struct pixman_transform *t,
pixman_fixed_t sx,
pixman_fixed_t sy);
+PIXMAN_EXPORT
pixman_bool_t pixman_transform_scale (struct pixman_transform *forward,
struct pixman_transform *reverse,
pixman_fixed_t sx,
pixman_fixed_t sy);
+PIXMAN_EXPORT
void pixman_transform_init_rotate (struct pixman_transform *t,
pixman_fixed_t cos,
pixman_fixed_t sin);
+PIXMAN_EXPORT
pixman_bool_t pixman_transform_rotate (struct pixman_transform *forward,
struct pixman_transform *reverse,
pixman_fixed_t c,
pixman_fixed_t s);
+PIXMAN_EXPORT
void pixman_transform_init_translate (struct pixman_transform *t,
pixman_fixed_t tx,
pixman_fixed_t ty);
+PIXMAN_EXPORT
pixman_bool_t pixman_transform_translate (struct pixman_transform *forward,
struct pixman_transform *reverse,
pixman_fixed_t tx,
pixman_fixed_t ty);
+PIXMAN_EXPORT
pixman_bool_t pixman_transform_bounds (const struct pixman_transform *matrix,
struct pixman_box16 *b);
+PIXMAN_EXPORT
pixman_bool_t pixman_transform_invert (struct pixman_transform *dst,
const struct pixman_transform *src);
+PIXMAN_EXPORT
pixman_bool_t pixman_transform_is_identity (const struct pixman_transform *t);
+PIXMAN_EXPORT
pixman_bool_t pixman_transform_is_scale (const struct pixman_transform *t);
+PIXMAN_EXPORT
pixman_bool_t pixman_transform_is_int_translate (const struct pixman_transform *t);
+PIXMAN_EXPORT
pixman_bool_t pixman_transform_is_inverse (const struct pixman_transform *a,
const struct pixman_transform *b);
@@ -239,42 +255,56 @@ struct pixman_f_transform
double m[3][3];
};
+PIXMAN_EXPORT
pixman_bool_t pixman_transform_from_pixman_f_transform (struct pixman_transform *t,
const struct pixman_f_transform *ft);
+PIXMAN_EXPORT
void pixman_f_transform_from_pixman_transform (struct pixman_f_transform *ft,
const struct pixman_transform *t);
+PIXMAN_EXPORT
pixman_bool_t pixman_f_transform_invert (struct pixman_f_transform *dst,
const struct pixman_f_transform *src);
+PIXMAN_EXPORT
pixman_bool_t pixman_f_transform_point (const struct pixman_f_transform *t,
struct pixman_f_vector *v);
+PIXMAN_EXPORT
void pixman_f_transform_point_3d (const struct pixman_f_transform *t,
struct pixman_f_vector *v);
+PIXMAN_EXPORT
void pixman_f_transform_multiply (struct pixman_f_transform *dst,
const struct pixman_f_transform *l,
const struct pixman_f_transform *r);
+PIXMAN_EXPORT
void pixman_f_transform_init_scale (struct pixman_f_transform *t,
double sx,
double sy);
+PIXMAN_EXPORT
pixman_bool_t pixman_f_transform_scale (struct pixman_f_transform *forward,
struct pixman_f_transform *reverse,
double sx,
double sy);
+PIXMAN_EXPORT
void pixman_f_transform_init_rotate (struct pixman_f_transform *t,
double cos,
double sin);
+PIXMAN_EXPORT
pixman_bool_t pixman_f_transform_rotate (struct pixman_f_transform *forward,
struct pixman_f_transform *reverse,
double c,
double s);
+PIXMAN_EXPORT
void pixman_f_transform_init_translate (struct pixman_f_transform *t,
double tx,
double ty);
+PIXMAN_EXPORT
pixman_bool_t pixman_f_transform_translate (struct pixman_f_transform *forward,
struct pixman_f_transform *reverse,
double tx,
double ty);
+PIXMAN_EXPORT
pixman_bool_t pixman_f_transform_bounds (const struct pixman_f_transform *t,
struct pixman_box16 *b);
+PIXMAN_EXPORT
void pixman_f_transform_init_identity (struct pixman_f_transform *t);
typedef enum
@@ -402,73 +432,98 @@ typedef enum
/* This function exists only to make it possible to preserve
* the X ABI - it should go away at first opportunity.
*/
+PIXMAN_EXPORT
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 */
+PIXMAN_EXPORT
void pixman_region_init (pixman_region16_t *region);
+PIXMAN_EXPORT
void pixman_region_init_rect (pixman_region16_t *region,
int x,
int y,
unsigned int width,
unsigned int height);
+PIXMAN_EXPORT
pixman_bool_t pixman_region_init_rects (pixman_region16_t *region,
const pixman_box16_t *boxes,
int count);
+PIXMAN_EXPORT
void pixman_region_init_with_extents (pixman_region16_t *region,
pixman_box16_t *extents);
+PIXMAN_EXPORT
void pixman_region_init_from_image (pixman_region16_t *region,
pixman_image_t *image);
+PIXMAN_EXPORT
void pixman_region_fini (pixman_region16_t *region);
/* manipulation */
+PIXMAN_EXPORT
void pixman_region_translate (pixman_region16_t *region,
int x,
int y);
+PIXMAN_EXPORT
pixman_bool_t pixman_region_copy (pixman_region16_t *dest,
pixman_region16_t *source);
+PIXMAN_EXPORT
pixman_bool_t pixman_region_intersect (pixman_region16_t *new_reg,
pixman_region16_t *reg1,
pixman_region16_t *reg2);
+PIXMAN_EXPORT
pixman_bool_t pixman_region_union (pixman_region16_t *new_reg,
pixman_region16_t *reg1,
pixman_region16_t *reg2);
+PIXMAN_EXPORT
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_EXPORT
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_EXPORT
pixman_bool_t pixman_region_subtract (pixman_region16_t *reg_d,
pixman_region16_t *reg_m,
pixman_region16_t *reg_s);
+PIXMAN_EXPORT
pixman_bool_t pixman_region_inverse (pixman_region16_t *new_reg,
pixman_region16_t *reg1,
pixman_box16_t *inv_rect);
+PIXMAN_EXPORT
pixman_bool_t pixman_region_contains_point (pixman_region16_t *region,
int x,
int y,
pixman_box16_t *box);
+PIXMAN_EXPORT
pixman_region_overlap_t pixman_region_contains_rectangle (pixman_region16_t *region,
pixman_box16_t *prect);
+PIXMAN_EXPORT
pixman_bool_t pixman_region_not_empty (pixman_region16_t *region);
+PIXMAN_EXPORT
pixman_box16_t * pixman_region_extents (pixman_region16_t *region);
+PIXMAN_EXPORT
int pixman_region_n_rects (pixman_region16_t *region);
+PIXMAN_EXPORT
pixman_box16_t * pixman_region_rectangles (pixman_region16_t *region,
int *n_rects);
+PIXMAN_EXPORT
pixman_bool_t pixman_region_equal (pixman_region16_t *region1,
pixman_region16_t *region2);
+PIXMAN_EXPORT
pixman_bool_t pixman_region_selfcheck (pixman_region16_t *region);
+PIXMAN_EXPORT
void pixman_region_reset (pixman_region16_t *region,
pixman_box16_t *box);
+PIXMAN_EXPORT
void pixman_region_clear (pixman_region16_t *region);
/*
* 32 bit regions
@@ -502,72 +557,97 @@ struct pixman_region32
};
/* creation/destruction */
+PIXMAN_EXPORT
void pixman_region32_init (pixman_region32_t *region);
+PIXMAN_EXPORT
void pixman_region32_init_rect (pixman_region32_t *region,
int x,
int y,
unsigned int width,
unsigned int height);
+PIXMAN_EXPORT
pixman_bool_t pixman_region32_init_rects (pixman_region32_t *region,
const pixman_box32_t *boxes,
int count);
+PIXMAN_EXPORT
void pixman_region32_init_with_extents (pixman_region32_t *region,
pixman_box32_t *extents);
+PIXMAN_EXPORT
void pixman_region32_init_from_image (pixman_region32_t *region,
pixman_image_t *image);
+PIXMAN_EXPORT
void pixman_region32_fini (pixman_region32_t *region);
/* manipulation */
+PIXMAN_EXPORT
void pixman_region32_translate (pixman_region32_t *region,
int x,
int y);
+PIXMAN_EXPORT
pixman_bool_t pixman_region32_copy (pixman_region32_t *dest,
pixman_region32_t *source);
+PIXMAN_EXPORT
pixman_bool_t pixman_region32_intersect (pixman_region32_t *new_reg,
pixman_region32_t *reg1,
pixman_region32_t *reg2);
+PIXMAN_EXPORT
pixman_bool_t pixman_region32_union (pixman_region32_t *new_reg,
pixman_region32_t *reg1,
pixman_region32_t *reg2);
+PIXMAN_EXPORT
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_EXPORT
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_EXPORT
pixman_bool_t pixman_region32_subtract (pixman_region32_t *reg_d,
pixman_region32_t *reg_m,
pixman_region32_t *reg_s);
+PIXMAN_EXPORT
pixman_bool_t pixman_region32_inverse (pixman_region32_t *new_reg,
pixman_region32_t *reg1,
pixman_box32_t *inv_rect);
+PIXMAN_EXPORT
pixman_bool_t pixman_region32_contains_point (pixman_region32_t *region,
int x,
int y,
pixman_box32_t *box);
+PIXMAN_EXPORT
pixman_region_overlap_t pixman_region32_contains_rectangle (pixman_region32_t *region,
pixman_box32_t *prect);
+PIXMAN_EXPORT
pixman_bool_t pixman_region32_not_empty (pixman_region32_t *region);
+PIXMAN_EXPORT
pixman_box32_t * pixman_region32_extents (pixman_region32_t *region);
+PIXMAN_EXPORT
int pixman_region32_n_rects (pixman_region32_t *region);
+PIXMAN_EXPORT
pixman_box32_t * pixman_region32_rectangles (pixman_region32_t *region,
int *n_rects);
+PIXMAN_EXPORT
pixman_bool_t pixman_region32_equal (pixman_region32_t *region1,
pixman_region32_t *region2);
+PIXMAN_EXPORT
pixman_bool_t pixman_region32_selfcheck (pixman_region32_t *region);
+PIXMAN_EXPORT
void pixman_region32_reset (pixman_region32_t *region,
pixman_box32_t *box);
+PIXMAN_EXPORT
void pixman_region32_clear (pixman_region32_t *region);
/* Copy / Fill / Misc */
+PIXMAN_EXPORT
pixman_bool_t pixman_blt (uint32_t *src_bits,
uint32_t *dst_bits,
int src_stride,
@@ -580,6 +660,7 @@ pixman_bool_t pixman_blt (uint32_t *src_bits,
int dest_y,
int width,
int height);
+PIXMAN_EXPORT
pixman_bool_t pixman_fill (uint32_t *bits,
int stride,
int bpp,
@@ -589,7 +670,9 @@ pixman_bool_t pixman_fill (uint32_t *bits,
int height,
uint32_t _xor);
+PIXMAN_EXPORT
int pixman_version (void);
+PIXMAN_EXPORT
const char* pixman_version_string (void);
/*
@@ -736,25 +819,32 @@ typedef enum {
} pixman_format_code_t;
/* Querying supported format values. */
+PIXMAN_EXPORT
pixman_bool_t pixman_format_supported_destination (pixman_format_code_t format);
+PIXMAN_EXPORT
pixman_bool_t pixman_format_supported_source (pixman_format_code_t format);
/* Constructors */
+PIXMAN_EXPORT
pixman_image_t *pixman_image_create_solid_fill (pixman_color_t *color);
+PIXMAN_EXPORT
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_EXPORT
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_EXPORT
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_EXPORT
pixman_image_t *pixman_image_create_bits (pixman_format_code_t format,
int width,
int height,
@@ -762,54 +852,78 @@ pixman_image_t *pixman_image_create_bits (pixman_format_code_t
int rowstride_bytes);
/* Destructor */
+PIXMAN_EXPORT
pixman_image_t *pixman_image_ref (pixman_image_t *image);
+PIXMAN_EXPORT
pixman_bool_t pixman_image_unref (pixman_image_t *image);
+PIXMAN_EXPORT
void pixman_image_set_destroy_function (pixman_image_t *image,
pixman_image_destroy_func_t function,
void *data);
+PIXMAN_EXPORT
void * pixman_image_get_destroy_data (pixman_image_t *image);
/* Set properties */
+PIXMAN_EXPORT
pixman_bool_t pixman_image_set_clip_region (pixman_image_t *image,
pixman_region16_t *region);
+PIXMAN_EXPORT
pixman_bool_t pixman_image_set_clip_region32 (pixman_image_t *image,
pixman_region32_t *region);
+PIXMAN_EXPORT
void pixman_image_set_has_client_clip (pixman_image_t *image,
pixman_bool_t clien_clip);
+PIXMAN_EXPORT
pixman_bool_t pixman_image_set_transform (pixman_image_t *image,
const pixman_transform_t *transform);
+PIXMAN_EXPORT
void pixman_image_set_repeat (pixman_image_t *image,
pixman_repeat_t repeat);
+PIXMAN_EXPORT
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);
+PIXMAN_EXPORT
void pixman_image_set_source_clipping (pixman_image_t *image,
pixman_bool_t source_clipping);
+PIXMAN_EXPORT
void pixman_image_set_alpha_map (pixman_image_t *image,
pixman_image_t *alpha_map,
int16_t x,
int16_t y);
+PIXMAN_EXPORT
void pixman_image_set_component_alpha (pixman_image_t *image,
pixman_bool_t component_alpha);
+PIXMAN_EXPORT
pixman_bool_t pixman_image_get_component_alpha (pixman_image_t *image);
+PIXMAN_EXPORT
void pixman_image_set_accessors (pixman_image_t *image,
pixman_read_memory_func_t read_func,
pixman_write_memory_func_t write_func);
+PIXMAN_EXPORT
void pixman_image_set_indexed (pixman_image_t *image,
const pixman_indexed_t *indexed);
+PIXMAN_EXPORT
uint32_t *pixman_image_get_data (pixman_image_t *image);
+PIXMAN_EXPORT
int pixman_image_get_width (pixman_image_t *image);
+PIXMAN_EXPORT
int pixman_image_get_height (pixman_image_t *image);
+PIXMAN_EXPORT
int pixman_image_get_stride (pixman_image_t *image); /* in bytes */
+PIXMAN_EXPORT
int pixman_image_get_depth (pixman_image_t *image);
+PIXMAN_EXPORT
pixman_format_code_t pixman_image_get_format (pixman_image_t *image);
+PIXMAN_EXPORT
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_EXPORT
pixman_bool_t pixman_image_fill_boxes (pixman_op_t op,
pixman_image_t *dest,
pixman_color_t *color,
@@ -817,6 +931,7 @@ pixman_bool_t pixman_image_fill_boxes (pixman_op_t
const pixman_box32_t *boxes);
/* Composite */
+PIXMAN_EXPORT
pixman_bool_t pixman_compute_composite_region (pixman_region16_t *region,
pixman_image_t *src_image,
pixman_image_t *mask_image,
@@ -829,6 +944,7 @@ pixman_bool_t pixman_compute_composite_region (pixman_region16_t *region,
int16_t dest_y,
uint16_t width,
uint16_t height);
+PIXMAN_EXPORT
void pixman_image_composite (pixman_op_t op,
pixman_image_t *src,
pixman_image_t *mask,
@@ -841,6 +957,7 @@ void pixman_image_composite (pixman_op_t op,
int16_t dest_y,
uint16_t width,
uint16_t height);
+PIXMAN_EXPORT
void pixman_image_composite32 (pixman_op_t op,
pixman_image_t *src,
pixman_image_t *mask,
@@ -872,6 +989,7 @@ void pixman_image_composite32 (pixman_op_t op,
* Since 0.21.2, pixman doesn't do these workarounds anymore, so now this
* function is a no-op.
*/
+PIXMAN_EXPORT
void pixman_disable_out_of_bounds_workaround (void);
/*
@@ -884,29 +1002,39 @@ typedef struct
const void *glyph;
} pixman_glyph_t;
+PIXMAN_EXPORT
pixman_glyph_cache_t *pixman_glyph_cache_create (void);
+PIXMAN_EXPORT
void pixman_glyph_cache_destroy (pixman_glyph_cache_t *cache);
+PIXMAN_EXPORT
void pixman_glyph_cache_freeze (pixman_glyph_cache_t *cache);
+PIXMAN_EXPORT
void pixman_glyph_cache_thaw (pixman_glyph_cache_t *cache);
+PIXMAN_EXPORT
const void * pixman_glyph_cache_lookup (pixman_glyph_cache_t *cache,
void *font_key,
void *glyph_key);
+PIXMAN_EXPORT
const void * pixman_glyph_cache_insert (pixman_glyph_cache_t *cache,
void *font_key,
void *glyph_key,
int origin_x,
int origin_y,
pixman_image_t *glyph_image);
+PIXMAN_EXPORT
void pixman_glyph_cache_remove (pixman_glyph_cache_t *cache,
void *font_key,
void *glyph_key);
+PIXMAN_EXPORT
void pixman_glyph_get_extents (pixman_glyph_cache_t *cache,
int n_glyphs,
pixman_glyph_t *glyphs,
pixman_box32_t *extents);
+PIXMAN_EXPORT
pixman_format_code_t pixman_glyph_get_mask_format (pixman_glyph_cache_t *cache,
int n_glyphs,
pixman_glyph_t * glyphs);
+PIXMAN_EXPORT
void pixman_composite_glyphs (pixman_op_t op,
pixman_image_t *src,
pixman_image_t *dest,
@@ -922,6 +1050,7 @@ void pixman_composite_glyphs (pixman_op_t op,
pixman_glyph_cache_t *cache,
int n_glyphs,
pixman_glyph_t *glyphs);
+PIXMAN_EXPORT
void pixman_composite_glyphs_no_mask (pixman_op_t op,
pixman_image_t *src,
pixman_image_t *dest,
@@ -989,12 +1118,16 @@ struct pixman_trap
pixman_span_fix_t top, bot;
};
+PIXMAN_EXPORT
pixman_fixed_t pixman_sample_ceil_y (pixman_fixed_t y,
int bpp);
+PIXMAN_EXPORT
pixman_fixed_t pixman_sample_floor_y (pixman_fixed_t y,
int bpp);
+PIXMAN_EXPORT
void pixman_edge_step (pixman_edge_t *e,
int n);
+PIXMAN_EXPORT
void pixman_edge_init (pixman_edge_t *e,
int bpp,
pixman_fixed_t y_start,
@@ -1002,31 +1135,37 @@ void pixman_edge_init (pixman_edge_t *e,
pixman_fixed_t y_top,
pixman_fixed_t x_bot,
pixman_fixed_t y_bot);
+PIXMAN_EXPORT
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);
+PIXMAN_EXPORT
void pixman_rasterize_edges (pixman_image_t *image,
pixman_edge_t *l,
pixman_edge_t *r,
pixman_fixed_t t,
pixman_fixed_t b);
+PIXMAN_EXPORT
void pixman_add_traps (pixman_image_t *image,
int16_t x_off,
int16_t y_off,
int ntrap,
pixman_trap_t *traps);
+PIXMAN_EXPORT
void pixman_add_trapezoids (pixman_image_t *image,
int16_t x_off,
int y_off,
int ntraps,
const pixman_trapezoid_t *traps);
+PIXMAN_EXPORT
void pixman_rasterize_trapezoid (pixman_image_t *image,
const pixman_trapezoid_t *trap,
int x_off,
int y_off);
+PIXMAN_EXPORT
void pixman_composite_trapezoids (pixman_op_t op,
pixman_image_t * src,
pixman_image_t * dst,
@@ -1037,6 +1176,7 @@ void pixman_composite_trapezoids (pixman_op_t op,
int y_dst,
int n_traps,
const pixman_trapezoid_t * traps);
+PIXMAN_EXPORT
void pixman_composite_triangles (pixman_op_t op,
pixman_image_t * src,
pixman_image_t * dst,
@@ -1047,6 +1187,7 @@ void pixman_composite_triangles (pixman_op_t op,
int y_dst,
int n_tris,
const pixman_triangle_t * tris);
+PIXMAN_EXPORT
void pixman_add_triangles (pixman_image_t *image,
int32_t x_off,
int32_t y_off,