aboutsummaryrefslogtreecommitdiffstats
path: root/src/win32
diff options
context:
space:
mode:
Diffstat (limited to 'src/win32')
-rw-r--r--src/win32/mod.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/win32/mod.rs b/src/win32/mod.rs
index 8cb6d39..8ba5ed5 100644
--- a/src/win32/mod.rs
+++ b/src/win32/mod.rs
@@ -255,6 +255,25 @@ impl Window {
pub fn hidpi_factor(&self) -> f32 {
1.0
}
+
+ pub fn set_cursor_position(&self, x: i32, y: i32) -> Result<(), ()> {
+ let mut point = winapi::POINT {
+ x: x,
+ y: y,
+ };
+
+ unsafe {
+ if user32::ClientToScreen(self.window.0, &mut point) == 0 {
+ return Err(());
+ }
+
+ if user32::SetCursorPos(point.x, point.y) == 0 {
+ return Err(());
+ }
+ }
+
+ Ok(())
+ }
}
pub struct PollEventsIterator<'a> {