merged evas image masking code from brett
[framework/uifw/evas.git] / src / lib / engines / common / evas_draw.h
1 #ifndef _EVAS_DRAW_H
2 #define _EVAS_DRAW_H
3
4
5 EAPI void               evas_common_draw_init                            (void);
6
7 EAPI RGBA_Draw_Context *evas_common_draw_context_new                     (void);
8 EAPI void               evas_common_draw_context_free                    (RGBA_Draw_Context *dc);
9 EAPI void               evas_common_draw_context_font_ext_set            (RGBA_Draw_Context *dc,
10                                                                           void *data,
11                                                                           void *(*gl_new)  (void *data, RGBA_Font_Glyph *fg),
12                                                                           void  (*gl_free) (void *ext_dat),
13                                                                           void  (*gl_draw) (void *data, void *dest, void *context, RGBA_Font_Glyph *fg, int x, int y));
14 EAPI void               evas_common_draw_context_clip_clip               (RGBA_Draw_Context *dc, int x, int y, int w, int h);
15 EAPI void               evas_common_draw_context_set_clip                (RGBA_Draw_Context *dc, int x, int y, int w, int h);
16 EAPI void               evas_common_draw_context_unset_clip              (RGBA_Draw_Context *dc);
17 EAPI void               evas_common_draw_context_set_color               (RGBA_Draw_Context *dc, int r, int g, int b, int a);
18 EAPI void               evas_common_draw_context_set_multiplier          (RGBA_Draw_Context *dc, int r, int g, int b, int a);
19 EAPI void               evas_common_draw_context_unset_multiplier        (RGBA_Draw_Context *dc);
20 EAPI void               evas_common_draw_context_set_mask                (RGBA_Draw_Context *dc, RGBA_Image *im, int x, int y, int w, int h);
21 EAPI void               evas_common_draw_context_unset_mask              (RGBA_Draw_Context *dc);
22
23 EAPI Cutout_Rects      *evas_common_draw_context_cutouts_new             (void);
24 EAPI void               evas_common_draw_context_cutouts_free            (Cutout_Rects* rects);
25 EAPI void               evas_common_draw_context_cutouts_del             (Cutout_Rects* rects, int index);
26 EAPI void               evas_common_draw_context_add_cutout              (RGBA_Draw_Context *dc, int x, int y, int w, int h);
27 EAPI void               evas_common_draw_context_clear_cutouts           (RGBA_Draw_Context *dc);
28 EAPI Cutout_Rects      *evas_common_draw_context_apply_cutouts           (RGBA_Draw_Context *dc);
29 EAPI void               evas_common_draw_context_apply_clear_cutouts     (Cutout_Rects* rects);
30 EAPI void               evas_common_draw_context_apply_clean_cutouts     (Cutout_Rects* rects);
31 EAPI void               evas_common_draw_context_set_anti_alias          (RGBA_Draw_Context *dc, unsigned char aa);
32 EAPI void               evas_common_draw_context_set_color_interpolation (RGBA_Draw_Context *dc, int color_space);
33 EAPI void               evas_common_draw_context_set_render_op           (RGBA_Draw_Context *dc, int op);
34 EAPI void               evas_common_draw_context_set_sli                 (RGBA_Draw_Context *dc, int y, int h);
35
36
37 #endif /* _EVAS_DRAW_H */