diff options
| author | 2025-02-22 10:29:15 -0500 | |
|---|---|---|
| committer | 2025-02-22 10:29:15 -0500 | |
| commit | 000ce1f671d1f05b76202fd128e272e4ac9da683 (patch) | |
| tree | 315812307bd8c5b7ab0efedfd29a43e52c270989 /src/screen | |
| parent | c7f00bb4a70e94a5b0ded8255e34e094e884f7a0 (diff) | |
| download | camu-000ce1f671d1f05b76202fd128e272e4ac9da683.tar.gz camu-000ce1f671d1f05b76202fd128e272e4ac9da683.tar.bz2 camu-000ce1f671d1f05b76202fd128e272e4ac9da683.zip | |
Support new stl_global_init()
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/screen')
| -rw-r--r-- | src/screen/screen.c | 19 |
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 |