summaryrefslogtreecommitdiffstats
path: root/GLX.hs
diff options
context:
space:
mode:
Diffstat (limited to 'GLX.hs')
-rw-r--r--GLX.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/GLX.hs b/GLX.hs
index ba2bfeb..f98d367 100644
--- a/GLX.hs
+++ b/GLX.hs
@@ -157,9 +157,12 @@ handleEvent glx xevent = do
wa <- getWindowAttributes (glxDisplay glx) (glxWindow glx)
let x = fromIntegral . ev_x $ event
y = fromIntegral . ev_y $ event
+ w = fromIntegral . wa_width $ wa
h = fromIntegral . wa_height $ wa
s = fromRational . glxScale $ glx
- return (glx, Just $ SomeEvent $ MouseMotionEvent (x/s) ((h-y)/s))
+ lw = fromIntegral . glxLevelWidth $ glx
+ lh = fromIntegral . glxLevelHeight $ glx
+ return (glx, Just $ SomeEvent $ MouseMotionEvent ((w/2+x)/s - lw/2) ((h/2-y)/s + lh/2))
| otherwise -> return (glx, Nothing)