7 #ifdef BUILD_ENGINE_SOFTWARE_XLIB
9 # include <X11/Xutil.h>
10 # include <X11/Xatom.h>
11 # include <X11/extensions/XShm.h>
12 # include <X11/Xresource.h> // xres - dpi
15 #ifdef BUILD_ENGINE_SOFTWARE_XCB
17 # include <xcb/xcb_image.h>
20 extern int _evas_engine_soft_x11_log_dom;
24 #define ERR(...) EINA_LOG_DOM_ERR(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
29 #define DBG(...) EINA_LOG_DOM_DBG(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
34 #define INF(...) EINA_LOG_DOM_INFO(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
39 #define WRN(...) EINA_LOG_DOM_WARN(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
44 #define CRIT(...) EINA_LOG_DOM_CRIT(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
46 typedef enum _Outbuf_Depth Outbuf_Depth;
52 OUTBUF_DEPTH_RGB_16BPP_565_565_DITHERED,
53 OUTBUF_DEPTH_RGB_16BPP_555_555_DITHERED,
54 OUTBUF_DEPTH_RGB_16BPP_444_444_DITHERED,
55 OUTBUF_DEPTH_RGB_16BPP_565_444_DITHERED,
56 OUTBUF_DEPTH_RGB_32BPP_888_8888,
60 typedef struct _Outbuf Outbuf;
72 #ifdef BUILD_ENGINE_SOFTWARE_XLIB
83 unsigned char swap : 1;
84 unsigned char bit_swap : 1;
87 #ifdef BUILD_ENGINE_SOFTWARE_XCB
89 xcb_connection_t *conn;
93 xcb_visualtype_t *vis;
99 unsigned char swap : 1;
100 unsigned char bit_swap : 1;
108 /* 1 big buffer for updates - flush on idle_flush */
110 Eina_List *onebuf_regions;
112 /* a list of pending regions to write to the target */
113 Eina_List *pending_writes;
114 /* a list of previous frame pending regions to write to the target */
115 Eina_List *prev_pending_writes;
116 #ifdef EVAS_FRAME_QUEUING
117 /* protecting prev_pending_writes */
121 unsigned char mask_dither : 1;
122 unsigned char destination_alpha : 1;
123 unsigned char debug : 1;
124 unsigned char synced : 1;
129 void evas_software_xlib_x_init (void);
130 void evas_software_xcb_x_init (void);