11 #include <X11/XKBlib.h>
14 #include "../GHOST_Types.h"
18 #ifdef WITH_X11_XINPUT
19 # include <X11/extensions/XInput.h>
28 #if defined(WITH_X11_XINPUT) && defined(X_HAVE_UTF8_STRING)
29 # define GHOST_X11_RES_NAME "Blender"
30 # define GHOST_X11_RES_CLASS "Blender"
37 #define GHOST_X11_ERROR_HANDLERS_OVERRIDE(var) \
39 XErrorHandler handler; \
40 XIOErrorHandler handler_io; \
42 XSetErrorHandler(GHOST_X11_ApplicationErrorHandler), \
43 XSetIOErrorHandler(GHOST_X11_ApplicationIOErrorHandler), \
46 #define GHOST_X11_ERROR_HANDLERS_RESTORE(var) \
48 (void)XSetErrorHandler(var.handler); \
49 (void)XSetIOErrorHandler(var.handler_io); \
130 const bool exclusive =
false,
131 const bool is_dialog =
false,
189 #if defined(WITH_X11_XINPUT) && defined(X_HAVE_UTF8_STRING)
229 const char *help_label,
230 const char *continue_label,
261 #ifdef WITH_X11_XINPUT
262 typedef struct GHOST_TabletX11 {
273 int XtiltLevels, YtiltLevels;
276 std::vector<GHOST_TabletX11> &GetXTablets()
310 #ifdef WITH_X11_XINPUT
315 #ifdef WITH_X11_XINPUT
316 XExtensionVersion m_xinput_version;
323 XkbDescRec *m_xkb_descr;
325 #if defined(WITH_X11_XINPUT) && defined(X_HAVE_UTF8_STRING)
329 #ifdef WITH_X11_XINPUT
331 std::vector<GHOST_TabletX11> m_xtablets;
335 std::vector<GHOST_WindowX11 *> m_dirty_windows;
341 char m_keyboard_vector[32];
351 unsigned int m_last_release_keycode;
352 Time m_last_release_time;
354 uint m_keycode_last_repeat_key;
361 #if defined(WITH_X11_XINPUT) && defined(X_HAVE_UTF8_STRING)
365 #ifdef WITH_X11_XINPUT
366 void clearXInputDevices();
367 void refreshXInputDevices();
372 void processEvent(XEvent *xe);
374 Time lastEventTime(Time default_time);
376 bool generateWindowExposeEvents();
int GHOST_X11_ApplicationIOErrorHandler(Display *display)
int GHOST_X11_ApplicationErrorHandler(Display *display, XErrorEvent *theEvent)
GHOST_TDrawingContextType
GHOST_TConsoleWindowState
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble top
int setConsoleWindowState(GHOST_TConsoleWindowState)
GHOST_IWindow * createWindow(const char *title, int32_t left, int32_t top, uint32_t width, uint32_t height, GHOST_TWindowState state, GHOST_TDrawingContextType type, GHOST_GLSettings glSettings, const bool exclusive=false, const bool is_dialog=false, const GHOST_IWindow *parentWindow=0)
GHOST_TSuccess disposeContext(GHOST_IContext *context)
void getClipboard_xcout(const XEvent *evt, Atom sel, Atom target, unsigned char **txt, unsigned long *len, unsigned int *context) const
GHOST_IContext * createOffscreenContext(GHOST_GLSettings glSettings)
void addDirtyWindow(GHOST_WindowX11 *bad_wind)
char * getClipboard(bool selection) const
Atom _NET_WM_STATE_MAXIMIZED_VERT
GHOST_TSuccess getCursorPosition(int32_t &x, int32_t &y) const
GHOST_TSuccess getButtons(GHOST_Buttons &buttons) const
void getMainDisplayDimensions(uint32_t &width, uint32_t &height) const
void putClipboard(const char *buffer, bool selection) const
GHOST_TSuccess getModifierKeys(GHOST_ModifierKeys &keys) const
GHOST_TSuccess setCursorPosition(int32_t x, int32_t y)
Atom _NET_WM_STATE_FULLSCREEN
void getAllDisplayDimensions(uint32_t &width, uint32_t &height) const
uint64_t getMilliSeconds() const
uint8_t getNumDisplays() const
bool processEvents(bool waitForEvent)
struct GHOST_SystemX11::@1294 m_atom
GHOST_TSuccess showMessageBox(const char *title, const char *message, const char *help_label, const char *continue_label, const char *link, GHOST_DialogOptions dialog_options) const
Atom _NET_WM_STATE_MAXIMIZED_HORZ
ccl_global float * buffer
unsigned __int64 uint64_t