aboutsummaryrefslogtreecommitdiffstats
path: root/src/window.rs
diff options
context:
space:
mode:
authorEduard Bopp <eduard.bopp@aepsil0n.de>2015-01-25 12:06:50 +0100
committerEduard Bopp <eduard.bopp@aepsil0n.de>2015-03-25 13:10:55 +0100
commit18f9bc44c9c71d6d368a9e9255c1288b85ae509a (patch)
treed12e82662ab3ceeabdc689a6c13eea180e7de384 /src/window.rs
parent63d2cd263ee3e68118213ae5b8ba1326fc3ee03e (diff)
downloadglutin-18f9bc44c9c71d6d368a9e9255c1288b85ae509a.tar.gz
glutin-18f9bc44c9c71d6d368a9e9255c1288b85ae509a.zip
Implement grabbing of the mouse pointer for X11
Contains new methods in the Window API that closely mirror the Xlib API. The methods are left unimplemented for other platforms for now.
Diffstat (limited to 'src/window.rs')
-rw-r--r--src/window.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/window.rs b/src/window.rs
index 12e8538..ad12e30 100644
--- a/src/window.rs
+++ b/src/window.rs
@@ -414,6 +414,22 @@ impl Window {
pub fn set_cursor_position(&self, x: i32, y: i32) -> Result<(), ()> {
self.window.set_cursor_position(x, y)
}
+
+ /// Grabs the mouse cursor. The cursor's motion will be confined to this
+ /// window and the window has exclusive access to further events regarding
+ /// the cursor.
+ /// Fails if it is not possible to grab the window for some reason, e.g.
+ /// when another window has already done so.
+ /// Has no effect on Android.
+ pub fn grab_cursor(&self) -> Result<(), String> {
+ self.window.grab_cursor()
+ }
+
+ /// Release a previously grabbed mouse cursor.
+ pub fn ungrab_cursor(&self) {
+ self.window.ungrab_cursor();
+ }
+
}
impl gl_common::GlFunctionsSource for Window {