egui_web: Scroll faster when scrolling with mouse wheel
Closes https://github.com/emilk/egui/issues/159
This commit is contained in:
parent
0f112db550
commit
b69bc2c06a
2 changed files with 16 additions and 2 deletions
|
@ -5,6 +5,9 @@ All notable changes to the `egui_web` integration will be noted in this file.
|
||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
|
### Fixed ⭐
|
||||||
|
* Scroll faster when scrolling with mouse wheel.
|
||||||
|
|
||||||
|
|
||||||
## 0.11.0 - 2021-04-05
|
## 0.11.0 - 2021-04-05
|
||||||
|
|
||||||
|
|
|
@ -957,8 +957,19 @@ fn install_canvas_events(runner_ref: &AppRunnerRef) -> Result<(), JsValue> {
|
||||||
let runner_ref = runner_ref.clone();
|
let runner_ref = runner_ref.clone();
|
||||||
let closure = Closure::wrap(Box::new(move |event: web_sys::WheelEvent| {
|
let closure = Closure::wrap(Box::new(move |event: web_sys::WheelEvent| {
|
||||||
let mut runner_lock = runner_ref.0.lock();
|
let mut runner_lock = runner_ref.0.lock();
|
||||||
runner_lock.input.raw.scroll_delta.x -= event.delta_x() as f32;
|
|
||||||
runner_lock.input.raw.scroll_delta.y -= event.delta_y() as f32;
|
let scroll_multiplier = match event.delta_mode() {
|
||||||
|
web_sys::WheelEvent::DOM_DELTA_PAGE => {
|
||||||
|
canvas_size_in_points(runner_ref.0.lock().canvas_id()).y
|
||||||
|
}
|
||||||
|
web_sys::WheelEvent::DOM_DELTA_LINE => {
|
||||||
|
24.0 // TODO: tweak this
|
||||||
|
}
|
||||||
|
_ => 1.0,
|
||||||
|
};
|
||||||
|
|
||||||
|
runner_lock.input.raw.scroll_delta.x -= scroll_multiplier * event.delta_x() as f32;
|
||||||
|
runner_lock.input.raw.scroll_delta.y -= scroll_multiplier * event.delta_y() as f32;
|
||||||
runner_lock.needs_repaint.set_true();
|
runner_lock.needs_repaint.set_true();
|
||||||
event.stop_propagation();
|
event.stop_propagation();
|
||||||
event.prevent_default();
|
event.prevent_default();
|
||||||
|
|
Loading…
Reference in a new issue