Skip to content

Commit 4ea58b9

Browse files
committed
scroll to seek only when cursor is inside timeline viewport
1 parent 041df56 commit 4ea58b9

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/timing.rs

+9-3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use bevy::prelude::*;
33
use serde::{Deserialize, Serialize};
44

55
use crate::{chart::beat::Beat, project::project_loaded};
6+
use crate::tab::timeline::TimelineViewport;
67

78
/// Represents the current time in seconds
89
#[derive(Resource)]
@@ -58,10 +59,15 @@ fn progress_control_system(
5859
/// Scroll on the timeline to control the progress
5960
fn scroll_progress_control_system(
6061
mut wheel_events: EventReader<MouseWheel>,
61-
mut events: EventWriter<SeekEvent>,
62+
mut seek_events: EventWriter<SeekEvent>,
63+
viewport: Res<TimelineViewport>,
64+
window_query: Query<&Window>,
6265
) {
63-
for ev in wheel_events.read() {
64-
events.send(SeekEvent(ev.y / 500.0));
66+
let window = window_query.single();
67+
if window.cursor_position().is_some_and(|p| viewport.0.contains(p)) {
68+
for ev in wheel_events.read() {
69+
seek_events.send(SeekEvent(ev.y / 500.0));
70+
}
6571
}
6672
}
6773

0 commit comments

Comments
 (0)