big patch from Samsung SAIT (Advanced research group) for async multi-frame
[framework/uifw/evas.git] / src / modules / engines / software_x11 / evas_xlib_outbuf.h
1 #ifndef EVAS_XLIB_OUTBUF_H
2 #define EVAS_XLIB_OUTBUF_H
3
4
5 #include "evas_engine.h"
6
7
8 void         evas_software_xlib_outbuf_init (void);
9
10 void         evas_software_xlib_outbuf_free (Outbuf *buf);
11
12 Outbuf      *evas_software_xlib_outbuf_setup_x (int          w,
13                                                 int          h,
14                                                 int          rot,
15                                                 Outbuf_Depth depth,
16                                                 Display     *disp,
17                                                 Drawable     draw,
18                                                 Visual      *vis,
19                                                 Colormap     cmap,
20                                                 int          x_depth,
21                                                 int          grayscale,
22                                                 int          max_colors,
23                                                 Pixmap       mask,
24                                                 int          shape_dither,
25                                                 int          destination_alpha);
26
27
28 RGBA_Image  *evas_software_xlib_outbuf_new_region_for_update (Outbuf *buf,
29                                                               int     x,
30                                                               int     y,
31                                                               int     w,
32                                                               int     h,
33                                                               int    *cx,
34                                                               int    *cy,
35                                                               int    *cw,
36                                                               int    *ch);
37
38 void         evas_software_xlib_outbuf_free_region_for_update (Outbuf     *buf,
39                                                                RGBA_Image *update);
40
41 void         evas_software_xlib_outbuf_flush (Outbuf *buf);
42
43 void         evas_software_xlib_outbuf_idle_flush (Outbuf *buf);
44
45 void         evas_software_xlib_outbuf_push_updated_region (Outbuf     *buf,
46                                                             RGBA_Image *update,
47                                                             int         x,
48                                                             int         y,
49                                                             int         w,
50                                                             int         h);
51
52 void         evas_software_xlib_outbuf_reconfigure (Outbuf      *buf,
53                                                     int          w,
54                                                     int          h,
55                                                     int          rot,
56                                                     Outbuf_Depth depth);
57
58 int          evas_software_xlib_outbuf_get_width (Outbuf *buf);
59
60 int          evas_software_xlib_outbuf_get_height (Outbuf *buf);
61
62 Outbuf_Depth evas_software_xlib_outbuf_get_depth (Outbuf *buf);
63
64 int          evas_software_xlib_outbuf_get_rot (Outbuf *buf);
65
66 void         evas_software_xlib_outbuf_drawable_set (Outbuf  *buf,
67                                                      Drawable draw);
68
69 void         evas_software_xlib_outbuf_mask_set (Outbuf *buf,
70                                                  Pixmap mask);
71
72 void         evas_software_xlib_outbuf_rotation_set (Outbuf *buf,
73                                                      int     rot);
74
75 void         evas_software_xlib_outbuf_debug_set (Outbuf *buf,
76                                                   int     debug);
77
78 void         evas_software_xlib_outbuf_debug_show (Outbuf  *buf,
79                                                    Drawable draw,
80                                                    int      x,
81                                                    int      y,
82                                                    int      w,
83                                                    int      h);
84
85 Eina_Bool    evas_software_xlib_outbuf_alpha_get (Outbuf *buf);
86 #ifdef EVAS_FRAME_QUEUING
87 void         evas_software_xlib_outbuf_set_priv (Outbuf *buf,
88                                                   void *cur,
89                                                   void *prev);
90 #endif
91
92 #endif