diff options
| author | Glenn Rice <glennricster@gmail.com> | 2010-02-15 01:09:34 +0000 |
|---|---|---|
| committer | Glenn Rice <glennricster@gmail.com> | 2010-02-15 01:09:34 +0000 |
| commit | 666a33eeedcc3fbfa2ae035ea3afa48c84fe3274 (patch) | |
| tree | c03887c7ce3b38a0e0ccbe17090f518515447481 /Source/Plugins/Plugin_VideoOGL | |
| parent | b245c398a36c07575fcbce4f2cd87640aed8a0a9 (diff) | |
Fix mouse emulation in fullscreen mode in linux. The window doesn't have focus then.
Also minor tweak to mouse hiding.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5063 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Plugins/Plugin_VideoOGL')
| -rw-r--r-- | Source/Plugins/Plugin_VideoOGL/Src/GLUtil.cpp | 15 | ||||
| -rw-r--r-- | Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h | 1 |
2 files changed, 14 insertions, 2 deletions
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/GLUtil.cpp b/Source/Plugins/Plugin_VideoOGL/Src/GLUtil.cpp index 92e6727234..3aad496f28 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/GLUtil.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/GLUtil.cpp @@ -411,9 +411,8 @@ bool OpenGL_Create(SVideoInitialize &_VideoInitialize, int _iwidth, int _iheight char ZeroData[1] = {0}; Cursor MouseCursor; Blank = XCreateBitmapFromData (GLWin.dpy, GLWin.win, ZeroData, 1, 1); - MouseCursor = XCreatePixmapCursor(GLWin.dpy, Blank, Blank, &DummyColor, &DummyColor, 0, 0); + GLWin.blankCursor = XCreatePixmapCursor(GLWin.dpy, Blank, Blank, &DummyColor, &DummyColor, 0, 0); XFreePixmap (GLWin.dpy, Blank); - XDefineCursor (GLWin.dpy, GLWin.win, MouseCursor); } #endif return true; @@ -474,6 +473,10 @@ bool OpenGL_MakeCurrent() } else { ERROR_LOG(VIDEO, "no Direct Rendering possible!"); } + + // Hide the cursor now + if (g_Config.bHideCursor) + XDefineCursor (GLWin.dpy, GLWin.win, GLWin.blankCursor); // better for pad plugin key input (thc) XSelectInput(GLWin.dpy, GLWin.win, ExposureMask | KeyPressMask | KeyReleaseMask | @@ -579,6 +582,14 @@ void OpenGL_Update() case ButtonPress: case ButtonRelease: break; + case FocusIn: + if (g_Config.bHideCursor) + XDefineCursor(GLWin.dpy, GLWin.win, GLWin.blankCursor); + break; + case FocusOut: + if (g_Config.bHideCursor) + XUndefineCursor(GLWin.dpy, GLWin.win); + break; case ConfigureNotify: Window winDummy; unsigned int borderDummy; diff --git a/Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h b/Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h index 0b14e16b39..679cd441c4 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h +++ b/Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h @@ -93,6 +93,7 @@ typedef struct { Window win; Display *dpy; GLXContext ctx; + Cursor blankCursor; XSetWindowAttributes attr; Bool fs; Bool doubleBuffered; |
