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
18 # include <xcb/xcb_image.h>
21 extern int _evas_engine_soft_x11_log_dom;
26 # define ERR(...) EINA_LOG_DOM_ERR(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
31 # define DBG(...) EINA_LOG_DOM_DBG(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
36 # define INF(...) EINA_LOG_DOM_INFO(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
41 # define WRN(...) EINA_LOG_DOM_WARN(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
47 EINA_LOG_DOM_CRIT(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
49 typedef enum _Outbuf_Depth Outbuf_Depth;
55 OUTBUF_DEPTH_RGB_16BPP_565_565_DITHERED,
56 OUTBUF_DEPTH_RGB_16BPP_555_555_DITHERED,
57 OUTBUF_DEPTH_RGB_16BPP_444_444_DITHERED,
58 OUTBUF_DEPTH_RGB_16BPP_565_444_DITHERED,
59 OUTBUF_DEPTH_RGB_32BPP_888_8888,
63 typedef struct _Outbuf Outbuf;
77 # ifdef BUILD_ENGINE_SOFTWARE_XLIB
87 unsigned char swap : 1;
88 unsigned char bit_swap : 1;
91 # ifdef BUILD_ENGINE_SOFTWARE_XCB
94 xcb_connection_t *conn;
98 xcb_visualtype_t *visual;
101 xcb_gcontext_t gc, gcm;
102 unsigned char swap : 1;
103 unsigned char bit_swap : 1;
112 /* 1 big buffer for updates - flush on idle_flush */
114 Eina_List *onebuf_regions;
116 /* a list of pending regions to write to the target */
117 Eina_List *pending_writes;
119 /* a list of previous frame pending regions to write to the target */
120 Eina_List *prev_pending_writes;
122 # ifdef EVAS_FRAME_QUEUING
123 /* protecting prev_pending_writes */
127 unsigned char mask_dither : 1;
128 unsigned char destination_alpha : 1;
129 unsigned char debug : 1;
130 unsigned char synced : 1;
134 void evas_software_xlib_x_init(void);
135 void evas_software_xcb_init(void);