8 # include <X11/Xutil.h>
9 # include <X11/Xatom.h>
10 # include <X11/extensions/XShm.h>
11 # include <X11/Xresource.h> // xres - dpi
13 #include "../software_generic/Evas_Engine_Software_Generic.h"
15 extern int _evas_engine_soft_x11_log_dom;
20 # define ERR(...) EINA_LOG_DOM_ERR(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
25 # define DBG(...) EINA_LOG_DOM_DBG(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
30 # define INF(...) EINA_LOG_DOM_INFO(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
35 # define WRN(...) EINA_LOG_DOM_WARN(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
41 EINA_LOG_DOM_CRIT(_evas_engine_soft_x11_log_dom, __VA_ARGS__)
62 int depth, imdepth, shm;
64 unsigned char swap : 1;
65 unsigned char bit_swap : 1;
73 /* 1 big buffer for updates - flush on idle_flush */
75 Eina_Array onebuf_regions;
79 /* a list of pending regions to write to the target */
80 Eina_List *pending_writes;
82 /* a list of previous frame pending regions to write to the target */
83 Eina_List *prev_pending_writes;
86 unsigned char mask_dither : 1;
87 unsigned char destination_alpha : 1;
88 unsigned char debug : 1;
89 unsigned char synced : 1;
93 void (*cb)(Evas *e, int x, int y, int w, int h, const void *pixels);
98 void evas_software_xlib_x_init(void);
100 void evas_software_x11_region_push_hook_call(Outbuf *buf, int x, int y, void *out_buf, Eina_Spinlock *lock);