diff --git a/examples/common/entry/entry_x11.cpp b/examples/common/entry/entry_x11.cpp index 911b284d..47c679ae 100644 --- a/examples/common/entry/entry_x11.cpp +++ b/examples/common/entry/entry_x11.cpp @@ -299,11 +299,10 @@ namespace entry m_visual = DefaultVisual(m_display, screen); m_root = RootWindow(m_display, screen); - XSetWindowAttributes windowAttrs; - memset(&windowAttrs, 0, sizeof(windowAttrs) ); - windowAttrs.background_pixmap = 0; - windowAttrs.border_pixel = 0; - windowAttrs.event_mask = 0 + memset(&m_windowAttrs, 0, sizeof(m_windowAttrs) ); + m_windowAttrs.background_pixmap = 0; + m_windowAttrs.border_pixel = 0; + m_windowAttrs.event_mask = 0 | ButtonPressMask | ButtonReleaseMask | ExposureMask @@ -322,7 +321,7 @@ namespace entry , InputOutput , m_visual , CWBorderPixel|CWEventMask - , &windowAttrs + , &m_windowAttrs ); // Clear window to black. @@ -531,21 +530,6 @@ namespace entry void createWindow(WindowHandle _handle, Msg* msg) { - XSetWindowAttributes windowAttrs; - memset(&windowAttrs, 0, sizeof(windowAttrs) ); - windowAttrs.background_pixmap = 0; - windowAttrs.border_pixel = 0; - windowAttrs.event_mask = 0 - | ButtonPressMask - | ButtonReleaseMask - | ExposureMask - | KeyPressMask - | KeyReleaseMask - | PointerMotionMask - | ResizeRedirectMask - | StructureNotifyMask - ; - Window window = XCreateWindow(m_display , m_root , msg->m_x @@ -557,7 +541,7 @@ namespace entry , InputOutput , m_visual , CWBorderPixel|CWEventMask - , &windowAttrs + , &m_windowAttrs ); m_window[_handle.idx] = window; @@ -621,6 +605,8 @@ namespace entry Visual* m_visual; Window m_root; + XSetWindowAttributes m_windowAttrs; + Display* m_display; Window m_window[ENTRY_CONFIG_MAX_WINDOWS]; uint32_t m_flags[ENTRY_CONFIG_MAX_WINDOWS]; @@ -686,26 +672,23 @@ namespace entry void setWindowPos(WindowHandle _handle, int32_t _x, int32_t _y) { - BX_UNUSED(_handle, _x, _y); + Display* display = s_ctx.m_display; + Window window = s_ctx.m_window[_handle.idx]; + XMoveWindow(display, window, _x, _y); } void setWindowSize(WindowHandle _handle, uint32_t _width, uint32_t _height) { - BX_UNUSED(_handle); - XResizeRequestEvent ev; - ev.type = ResizeRequest; - ev.serial = 0; - ev.send_event = true; - ev.display = s_ctx.m_display; - ev.window = s_ctx.m_window[0]; - ev.width = (int)_width; - ev.height = (int)_height; - XSendEvent(s_ctx.m_display, s_ctx.m_window[0], false, ResizeRedirectMask, (XEvent*)&ev); + Display* display = s_ctx.m_display; + Window window = s_ctx.m_window[_handle.idx]; + XResizeWindow(display, window, int32_t(_width), int32_t(_height) ); } void setWindowTitle(WindowHandle _handle, const char* _title) { - XStoreName(s_ctx.m_display, s_ctx.m_window[_handle.idx], _title); + Display* display = s_ctx.m_display; + Window window = s_ctx.m_window[_handle.idx]; + XStoreName(display, window, _title); } void toggleWindowFrame(WindowHandle _handle)