From 29fa4f8d667d543595e652e7402d395d507ba464 Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Tue, 12 Nov 2024 12:12:31 -0500 Subject: Add user volume, simple client add cli Signed-off-by: Andrew Opalach --- src/screen/screen.c | 18 +++++++++++------- src/screen/screen.h | 1 + 2 files changed, 12 insertions(+), 7 deletions(-) (limited to 'src/screen') diff --git a/src/screen/screen.c b/src/screen/screen.c index f949c1d..aa61ba6 100644 --- a/src/screen/screen.c +++ b/src/screen/screen.c @@ -133,15 +133,19 @@ static bool mouse_button_callback(void *userdata, u8 state, u8 button) static bool scroll_callback(void *userdata, f64 y) { struct camu_screen *scr = (struct camu_screen *)userdata; - struct camu_view *view = get_view_from_mouse_pos(scr); - if (view) { - if (scr->flags & CAMU_SCREEN_ZOOM_PAN_SIMPLE) { - y = -y / SCROLL_MULTIPLIER; - if (camu_view_zoom_simple(view, scr->width, scr->height, scr->last_mouse_x, scr->last_mouse_y, y)) { - view->mode = CAMU_VIEW_DETACHED; - return true; + y = -y / SCROLL_MULTIPLIER; + if (!(scr->flags & CAMU_SCREEN_MODIFIER)) { + struct camu_view *view = get_view_from_mouse_pos(scr); + if (view) { + if (scr->flags & CAMU_SCREEN_ZOOM_PAN_SIMPLE) { + if (camu_view_zoom_simple(view, scr->width, scr->height, scr->last_mouse_x, scr->last_mouse_y, y)) { + view->mode = CAMU_VIEW_DETACHED; + return true; + } } } + } else { + scr->callback(scr->userdata, CAMU_SCREEN_VOLUME, &y); } return false; } diff --git a/src/screen/screen.h b/src/screen/screen.h index a10796a..0c56cf9 100644 --- a/src/screen/screen.h +++ b/src/screen/screen.h @@ -34,6 +34,7 @@ enum { CAMU_SCREEN_TOGGLE_PAUSE, CAMU_SCREEN_SEEK, CAMU_SCREEN_RESEEK, + CAMU_SCREEN_VOLUME, CAMU_SCREEN_CLOSE }; -- cgit v1.2.3-101-g0448