summaryrefslogtreecommitdiff
path: root/src/screen
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2024-11-12 12:12:31 -0500
committerAndrew Opalach <andrew@akon.city> 2024-11-12 12:12:31 -0500
commit29fa4f8d667d543595e652e7402d395d507ba464 (patch)
treeeaa2adf9f687c499b31eeddef42493c4bfda9b1c /src/screen
parentb4bcfa1da5c1be9f7999d4d4df4e8d1b73c3061a (diff)
downloadcamu-29fa4f8d667d543595e652e7402d395d507ba464.tar.gz
camu-29fa4f8d667d543595e652e7402d395d507ba464.tar.bz2
camu-29fa4f8d667d543595e652e7402d395d507ba464.zip
Add user volume, simple client add cli
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/screen')
-rw-r--r--src/screen/screen.c18
-rw-r--r--src/screen/screen.h1
2 files changed, 12 insertions, 7 deletions
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
};