diff options
Diffstat (limited to 'src/window.rs')
-rw-r--r-- | src/window.rs | 16 |
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 { |