Skip to content

Commit 978ec7d

Browse files
daxpeddakchibisov
authored andcommitted
Web: increase cursor position accuracy (#3380)
1 parent 87f44ec commit 978ec7d

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Unreleased` header.
1212
# Unreleased
1313

1414
- On Web, account for canvas being focused already before event loop starts.
15+
- On Web, increase cursor position accuracy.
1516

1617
# 0.29.9
1718

src/platform_impl/web/web_sys/event.rs

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,22 @@ impl MouseButton {
8181
}
8282

8383
pub fn mouse_position(event: &MouseEvent) -> LogicalPosition<f64> {
84+
#[wasm_bindgen]
85+
extern "C" {
86+
type MouseEventExt;
87+
88+
#[wasm_bindgen(method, getter, js_name = offsetX)]
89+
fn offset_x(this: &MouseEventExt) -> f64;
90+
91+
#[wasm_bindgen(method, getter, js_name = offsetY)]
92+
fn offset_y(this: &MouseEventExt) -> f64;
93+
}
94+
95+
let event: &MouseEventExt = event.unchecked_ref();
96+
8497
LogicalPosition {
85-
x: event.offset_x() as f64,
86-
y: event.offset_y() as f64,
98+
x: event.offset_x(),
99+
y: event.offset_y(),
87100
}
88101
}
89102

0 commit comments

Comments
 (0)