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);
148 unsigned long GetXWindow();
151 void SetTitle(
const char * title);
154 void DispatchEvents(
int mode);
155 void PushEvent(
RawEvent * raw_event);
157 void ProcessEvent(
RawEvent * raw_event);
164 void SetSize(
int width,
int height);
166 void AddLayer(
Layer * layer);
167 void RemoveLayer(
Layer * layer);
168 void ShowLayer(
Layer * layer);
169 void HideLayer(
Layer * layer);
171 void SetCursor(
int type);
172 void SetCursorMode(
int mode);
175 void SetDoubleClickTime(
int ms);
184 cairo_t * GetCairo();
186 void GetScreenSize(
int * width,
int * height);
190 bool GetCollision(
int x,
int y,
Widget ** widget,
Layer ** layer);
192 void SetDndTargets(std::vector<std::string> targets);
195 void NextFocus(
Layer * layer=
nullptr);
uint8_t * framebuffer
Definition: x11window.hpp:131
Definition: x11window.hpp:46
Definition: window.hpp:145
unsigned long functions
Definition: x11window.hpp:49
Definition: x11window.hpp:38
unsigned long status
Definition: x11window.hpp:52
unsigned long flags
Definition: x11window.hpp:48
long time
Definition: x11window.hpp:43
long inputMode
Definition: x11window.hpp:51
Definition: application.hpp:9
int y
Definition: x11window.hpp:41
int x
Definition: x11window.hpp:40
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
Definition: x11window.hpp:56
int count
Definition: x11window.hpp:42
Definition: message.hpp:83
Definition: window.hpp:137