summaryrefslogtreecommitdiff
path: root/src/modules/evas/engines/software_x11/evas_xlib_outbuf.h
blob: 16f0cf1b53dd4d2564a1608e9b2e7225f11038de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#ifndef EVAS_XLIB_OUTBUF_H
#define EVAS_XLIB_OUTBUF_H


#include "evas_engine.h"


void         evas_software_xlib_outbuf_init (void);

void         evas_software_xlib_outbuf_free (Outbuf *buf);

Outbuf      *evas_software_xlib_outbuf_setup_x (int          w,
                                                int          h,
                                                int          rot,
                                                Outbuf_Depth depth,
                                                Display     *disp,
                                                Drawable     draw,
                                                Visual      *vis,
                                                Colormap     cmap,
                                                int          x_depth,
                                                int          grayscale,
                                                int          max_colors,
                                                Pixmap       mask,
                                                int          shape_dither,
                                                int          destination_alpha);


void  *evas_software_xlib_outbuf_new_region_for_update (Outbuf *buf,
                                                        int     x,
                                                        int     y,
                                                        int     w,
                                                        int     h,
                                                        int    *cx,
                                                        int    *cy,
                                                        int    *cw,
                                                        int    *ch);

void         evas_software_xlib_outbuf_free_region_for_update (Outbuf     *buf,
                                                               RGBA_Image *update);

void         evas_software_xlib_outbuf_flush (Outbuf *buf, Tilebuf_Rect *rects, Evas_Render_Mode render_mode);

void         evas_software_xlib_outbuf_idle_flush (Outbuf *buf);

void         evas_software_xlib_outbuf_push_updated_region (Outbuf     *buf,
                                                            RGBA_Image *update,
                                                            int         x,
                                                            int         y,
                                                            int         w,
                                                            int         h);

void         evas_software_xlib_outbuf_reconfigure (Outbuf      *buf,
                                                    int          w,
                                                    int          h,
                                                    int          rot,
                                                    Outbuf_Depth depth);

int          evas_software_xlib_outbuf_get_width (Outbuf *buf);

int          evas_software_xlib_outbuf_get_height (Outbuf *buf);

Outbuf_Depth evas_software_xlib_outbuf_get_depth (Outbuf *buf);

int          evas_software_xlib_outbuf_get_rot (Outbuf *buf);

void         evas_software_xlib_outbuf_drawable_set (Outbuf  *buf,
                                                     Drawable draw);

void         evas_software_xlib_outbuf_mask_set (Outbuf *buf,
                                                 Pixmap mask);

void         evas_software_xlib_outbuf_rotation_set (Outbuf *buf,
                                                     int     rot);

void         evas_software_xlib_outbuf_debug_set (Outbuf *buf,
                                                  int     debug);

void         evas_software_xlib_outbuf_debug_show (Outbuf  *buf,
                                                   Drawable draw,
                                                   int      x,
                                                   int      y,
                                                   int      w,
                                                   int      h);

Eina_Bool    evas_software_xlib_outbuf_alpha_get (Outbuf *buf);

#endif