summaryrefslogtreecommitdiff
path: root/src/screen
diff options
context:
space:
mode:
Diffstat (limited to 'src/screen')
-rw-r--r--src/screen/screen.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/screen/screen.c b/src/screen/screen.c
index 77fbd8d..eb68278 100644
--- a/src/screen/screen.c
+++ b/src/screen/screen.c
@@ -29,15 +29,14 @@ static void should_close_callback(void *userdata)
scr->callback(scr->userdata, CAMU_SCREEN_CLOSE, NULL);
}
-static void resize_callback(void *userdata, u32 width, u32 height)
+static void do_resize(struct camu_screen *scr, u32 width, u32 height)
{
- struct camu_screen *scr = (struct camu_screen *)userdata;
if (scr->renderer) {
scr->renderer->resize(scr->renderer, &width, &height);
}
al_assert(width > 0 && height > 0);
- scr->width = (u32)width;
- scr->height = (u32)height;
+ scr->width = width;
+ scr->height = height;
struct camu_screen_video *video;
al_array_foreach_ptr(scr->videos, i, video) {
camu_view_calculate(&video->view, scr->width, scr->height);
@@ -46,6 +45,12 @@ static void resize_callback(void *userdata, u32 width, u32 height)
al_atomic_store(u32)(&scr->force_refresh, 1, AL_ATOMIC_RELAXED);
}
+static void resize_callback(void *userdata, u32 width, u32 height)
+{
+ struct camu_screen *scr = (struct camu_screen *)userdata;
+ do_resize(scr, width, height);
+}
+
static void refresh_callback(void *userdata)
{
struct camu_screen *scr = (struct camu_screen *)userdata;
@@ -136,8 +141,10 @@ static bool mouse_button_callback(void *userdata, u8 state, u8 button)
return false;
}
-#ifdef STELA_WINDOW_WAYLAND
+#if defined STELA_WINDOW_WAYLAND
#define SCROLL_MULTIPLIER 160.0
+#elif defined STELA_WINDOW_WIN32
+#define SCROLL_MULTIPLIER 1200.0
#else
#define SCROLL_MULTIPLIER 20.0
#endif
@@ -176,7 +183,6 @@ static bool key_callback(void *userdata, u8 state, u8 button)
scr->flags |= CAMU_SCREEN_MOD_CONTROL;
break;
case 0x10: // q
- case 0x18: // q (spice?)
scr->callback(scr->userdata, CAMU_SCREEN_CLOSE, NULL);
break;
case 0x31: // n
@@ -192,7 +198,6 @@ static bool key_callback(void *userdata, u8 state, u8 button)
scr->callback(scr->userdata, CAMU_SCREEN_PREVIOUS, NULL);
break;
case 0x39: // spacebar
- case 0x41: // spacebar (spice?)
scr->callback(scr->userdata, CAMU_SCREEN_TOGGLE_PAUSE, NULL);
break;
case 0x1f: // s