X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgraphics%2Fx11%2Fwindow.cpp;h=2c03bf745570f7d2680257e30491e4fd56af2403;hb=eb1a0ac27179962b8719a729c483549a9cca971a;hp=577f1d42d65f41af62b08d10c9d57f23167dbc12;hpb=1aca77b93853ee127ac3bbf6886f7f04920542ef;p=libs%2Fgui.git diff --git a/source/graphics/x11/window.cpp b/source/graphics/x11/window.cpp index 577f1d4..2c03bf7 100644 --- a/source/graphics/x11/window.cpp +++ b/source/graphics/x11/window.cpp @@ -1,9 +1,6 @@ #include #include #include -#ifdef WITH_XF86VIDMODE -#include -#endif #include #include "display_private.h" #include "window.h" @@ -32,10 +29,10 @@ void Window::platform_init() XSetWindowAttributes attr; attr.override_redirect = options.fullscreen; - attr.event_mask = ButtonPressMask|ButtonReleaseMask|PointerMotionMask|KeyPressMask|KeyReleaseMask|StructureNotifyMask|EnterWindowMask; + attr.event_mask = ButtonPressMask|ButtonReleaseMask|PointerMotionMask|KeyPressMask|KeyReleaseMask|StructureNotifyMask|EnterWindowMask|ExposureMask; priv->window = XCreateWindow(dpy, - DefaultRootWindow(dpy), + display.get_private().root_window, 0, 0, options.width, options.height, 0, @@ -154,6 +151,10 @@ void Window::warp_pointer(int x, int y) XWarpPointer(display.get_private().display, None, priv->window, 0, 0, 0, 0, x, y); } +void Window::platform_set_touch_input() +{ +} + void Window::platform_show() { XMapRaised(display.get_private().display, priv->window); @@ -184,14 +185,6 @@ bool Window::event(const Event &evnt) resizing = false; signal_resize.emit(options.width, options.height); } -#ifdef WITH_XF86VIDMODE - if(options.fullscreen) - { - DisplayHandle dpy = display.get_private().display; - int screen = DefaultScreen(dpy); - XF86VidModeSetViewPort(dpy, screen, ev.xconfigure.x, ev.xconfigure.y); - } -#endif break; case ClientMessage: if(ev.xclient.data.l[0]==static_cast(priv->wm_delete_window)) @@ -205,6 +198,9 @@ bool Window::event(const Event &evnt) if(options.fullscreen) XGrabPointer(display.get_private().display, priv->window, true, None, GrabModeAsync, GrabModeAsync, priv->window, None, CurrentTime); break; + case Expose: + signal_expose.emit(ev.xexpose.x, ev.xexpose.y, ev.xexpose.width, ev.xexpose.height, evnt); + break; default: return false; }