/*! * @file Mw/LowLevel/X11.h * @brief X11 Backend * @warning This is used internally */ #ifndef __MW_LOWLEVEL_X11_H__ #define __MW_LOWLEVEL_X11_H__ #include #include #include #include #include #include #ifdef USE_XRENDER #include #endif struct _MwLLX11 { struct _MwLLCommon common; unsigned int width; unsigned int height; Display* display; Window window; Pixmap pixmap; GC gc; Colormap colormap; Atom wm_delete; XIM xim; XIC xic; int top; int toplevel; int grabbed; int force_render; unsigned long red_mask; unsigned long red_max; unsigned long red_shift; unsigned long green_mask; unsigned long green_max; unsigned long green_shift; unsigned long blue_mask; unsigned long blue_max; unsigned long blue_shift; }; struct _MwLLX11Color { struct _MwLLCommonColor common; unsigned long pixel; }; struct _MwLLX11Pixmap { struct _MwLLCommonPixmap common; int depth; unsigned char* data; MwLL handle; int use_xrender; Display* display; XImage* image; XImage* mask; }; MWDECL int MwLLX11CallInit(void); MWDECL Cursor MwLLX11CreateCursor(Display* display, MwCursor* image, MwCursor* mask); #endif