2 #ifndef _LGI_X11_WINDOW_
3 #define _LGI_X11_WINDOW_
10 #include <X11/cursorfont.h>
11 #include <X11/Xcursor/Xcursor.h>
16 #include <cairo-xlib.h>
23 #define LGI_FLAG_EXT_RENDER_SOFTWARE 0x010000
24 #define LGI_FLAG_EXT_RENDER_OPENGL 0x020000
26 #define LGI_MESSAGE_DND_ENTER 0x00010000
27 #define LGI_MESSAGE_DND_LEAVE 0x00020000
28 #define LGI_MESSAGE_DND_DROP 0x00030000
74 GLuint framebuffer_texture;
77 Atom wm_delete_window;
84 XComposeStatus kcompose_status;
93 std::vector<Layer * > layers;
94 std::queue<RawEvent *> event_queue;
95 pthread_mutex_t queue_mutex;
109 std::vector<std::string>dnd_targets;
116 void Log(std::string msg);
118 void Resize(
int w,
int h);
122 int ReadProperty(Atom property,
unsigned char * data);
123 int MapKey(KeySym k);
124 std::string GetX11CursorName(
int type);
125 void Latin1ToUTF8(
unsigned char * in,
unsigned char * out);
126 float GetDist(
float x1,
float y1,
float x2,
float y2);
164 void SetSize(
int width,
int height);
void ShowLayer(Layer *layer)
uint8_t * framebuffer
Definition: x11window.hpp:131
void SetDndTargets(std::vector< std::string > targets)
void GetScreenSize(int *width, int *height)
Definition: x11window.hpp:46
void SetTitle(const char *title)
Definition: window.hpp:145
void SendMessage(Layer *layer, Widget *widget, Message *msg)
unsigned long functions
Definition: x11window.hpp:49
void NextFocus(Layer *layer=nullptr)
void RemoveLayer(Layer *layer)
Definition: x11window.hpp:38
unsigned long status
Definition: x11window.hpp:52
unsigned long flags
Definition: x11window.hpp:48
void HideLayer(Layer *layer)
void AddLayer(Layer *layer)
void DispatchEvents(int mode)
long time
Definition: x11window.hpp:43
long inputMode
Definition: x11window.hpp:51
void SetCustomCursor(BaseCursor *cursor)
void SetDoubleClickTime(int ms)
unsigned long GetXWindow()
int y
Definition: x11window.hpp:41
int x
Definition: x11window.hpp:40
void PushEvent(RawEvent *raw_event)
cairo_t * cairo
Definition: x11window.hpp:132
Definition: cursor.hpp:13
unsigned long decorations
Definition: x11window.hpp:50
cairo_surface_t * cairo_surface
Definition: x11window.hpp:133
void ProcessEvent(RawEvent *raw_event)
void SetSize(int width, int height)
X11Window(int w, int h, int flags=0)
Definition: x11window.hpp:56
int count
Definition: x11window.hpp:42
void SetCursorMode(int mode)
bool GetCollision(int x, int y, Widget **widget, Layer **layer)
Definition: message.hpp:83
Definition: window.hpp:137