7 #ifdef BUILD_ENGINE_SOFTWARE_XLIB
9 # include <X11/Xutil.h>
10 # include <X11/Xatom.h>
11 # include <X11/extensions/XShm.h>
14 #ifdef BUILD_ENGINE_SOFTWARE_XCB
16 # include <xcb/xcb_image.h>
19 extern int _evas_engine_soft_x11_log_dom;
23 #define ERR(...) EINA_LOG_DOM_ERR(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
28 #define DBG(...) EINA_LOG_DOM_DBG(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
33 #define INF(...) EINA_LOG_DOM_INFO(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
38 #define WRN(...) EINA_LOG_DOM_WARN(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
43 #define CRIT(...) EINA_LOG_DOM_CRIT(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
45 typedef enum _Outbuf_Depth Outbuf_Depth;
51 OUTBUF_DEPTH_RGB_16BPP_565_565_DITHERED,
52 OUTBUF_DEPTH_RGB_16BPP_555_555_DITHERED,
53 OUTBUF_DEPTH_RGB_16BPP_444_444_DITHERED,
54 OUTBUF_DEPTH_RGB_16BPP_565_444_DITHERED,
55 OUTBUF_DEPTH_RGB_32BPP_888_8888,
59 typedef struct _Outbuf Outbuf;
71 #ifdef BUILD_ENGINE_SOFTWARE_XLIB
82 unsigned char swap : 1;
83 unsigned char bit_swap : 1;
86 #ifdef BUILD_ENGINE_SOFTWARE_XCB
88 xcb_connection_t *conn;
92 xcb_visualtype_t *vis;
98 unsigned char swap : 1;
99 unsigned char bit_swap : 1;
107 /* 1 big buffer for updates - flush on idle_flush */
109 Eina_List *onebuf_regions;
111 /* a list of pending regions to write to the target */
112 Eina_List *pending_writes;
113 /* a list of previous frame pending regions to write to the target */
114 Eina_List *prev_pending_writes;
116 unsigned char mask_dither : 1;
117 unsigned char destination_alpha : 1;
118 unsigned char debug : 1;
119 unsigned char synced : 1;
124 void evas_software_xlib_x_init (void);
125 void evas_software_xcb_x_init (void);