diff options
author | Andrea Canciani <ranma42@gmail.com> | 2012-06-22 11:04:56 +0200 |
---|---|---|
committer | Andrea Canciani <ranma42@gmail.com> | 2012-07-31 16:06:33 +0200 |
commit | b0ae2c971d08516dfc0822c70eaa458e8be58fd1 (patch) | |
tree | 8e6496792648e6c24b21ec8e3f844c874d385f15 | |
parent | c4932246a420c4e0e476fcbc582d48c31bb1ae2a (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.h | 141 |
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, |