From 70230f9be03b75cf971b2ac3e599717d31647dc6 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Sun, 9 Aug 2020 20:17:42 +0200 Subject: automated commit --- src/linux/platform.c | 6 +++--- src/project_base.h | 2 ++ src/settings_config.c | 9 +++++++++ src/settings_config.h | 1 + src/windows/platform.c | 4 ++-- 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/linux/platform.c b/src/linux/platform.c index d6fee97..dae9b1d 100644 --- a/src/linux/platform.c +++ b/src/linux/platform.c @@ -653,16 +653,16 @@ static void _allocate_backbuffer(platform_window *window) if (window->backbuffer.buffer) { mem_free(window->backbuffer.buffer); window->backbuffer.buffer = 0; } window->backbuffer.width = window->width; - window->backbuffer.height = window->height; + window->backbuffer.height = window->height+1; - s32 bufferMemorySize = (window->width*window->height)*5; + s32 bufferMemorySize = (window->backbuffer.width*window->backbuffer.height)*5; window->backbuffer.buffer = mem_alloc(bufferMemorySize); window->backbuffer.s_image = XCreateImage( window->display, DefaultVisual(window->display, DefaultScreen(window->display)), DefaultDepth(window->display, DefaultScreen(window->display)), ZPixmap, 0, (char*)window->backbuffer.buffer, - window->width, window->height, 32, 0); + window->backbuffer.width, window->backbuffer.height, 32, 0); } void platform_window_set_size(platform_window *window, u16 width, u16 height) diff --git a/src/project_base.h b/src/project_base.h index 5d3f684..7a62b39 100644 --- a/src/project_base.h +++ b/src/project_base.h @@ -7,6 +7,8 @@ #ifndef INCLUDE_PROJECT_BASE #define INCLUDE_PROJECT_BASE +// TODO(Aldrik): scrolling images and text cuts off top because of scissor rec + #define PROJECT_BASE_VERSION "2" #ifdef _WIN32 diff --git a/src/settings_config.c b/src/settings_config.c index d2bc018..cf4d9c5 100644 --- a/src/settings_config.c +++ b/src/settings_config.c @@ -164,6 +164,15 @@ s64 settings_config_get_number(settings_config *config, char *name) return 0; } +s64 settings_config_get_number_or_default(settings_config *config, char *name, s64 def) +{ + config_setting* setting = settings_config_get_setting(config, name); + if (setting && setting->value) + return string_to_u64(setting->value); + else + return def; +} + void settings_config_set_string(settings_config *config, char *name, char *value) { config_setting* setting = settings_config_get_setting(config, name); diff --git a/src/settings_config.h b/src/settings_config.h index 1b931e1..5922d0e 100644 --- a/src/settings_config.h +++ b/src/settings_config.h @@ -31,6 +31,7 @@ void settings_config_destroy(settings_config *config); config_setting* settings_config_get_setting(settings_config *config, char *name); char* settings_config_get_string(settings_config *config, char *name); s64 settings_config_get_number(settings_config *config, char *name); +s64 settings_config_get_number_or_default(settings_config *config, char *name, s64 def); void settings_config_set_string(settings_config *config, char *name, char *value); void settings_config_set_number(settings_config *config, char *name, s64 value); diff --git a/src/windows/platform.c b/src/windows/platform.c index ae0c055..6db153c 100644 --- a/src/windows/platform.c +++ b/src/windows/platform.c @@ -343,7 +343,7 @@ static void _allocate_backbuffer(platform_window *window) window->backbuffer.bitmapInfo = info; window->backbuffer.width = window->width; - window->backbuffer.height = window->height; + window->backbuffer.height = window->height+1; s32 bufferMemorySize = (window->backbuffer.width*window->backbuffer.height)*5; window->backbuffer.buffer = mem_alloc(bufferMemorySize); @@ -961,7 +961,7 @@ void platform_window_swap_buffers(platform_window *window) memcpy(window->backbuffer.buffer + (i*4), buffer_entry, 4); } - StretchDIBits(window->hdc,0,1,window->width,window->height, + StretchDIBits(window->hdc,0,0,window->width,window->height+1, 0,window->backbuffer.height,window->backbuffer.width, -window->backbuffer.height, window->backbuffer.buffer, &window->backbuffer.bitmapInfo, DIB_RGB_COLORS, SRCCOPY); -- cgit v1.2.3-70-g09d2