From 189eac273ba14c8ca0d22b31182b030ccc4c7756 Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Sat, 25 Dec 2021 22:01:57 -0800 Subject: *: introduce a projection matrix and winmodes The bulk of this is mechanical wiring up of a projection_x to all the nodes. But this also introduces maintenance of the projection_x, with aspect-ratio preservation in two of the modes: WINDOWED and FULLSCREEN, with the previously default stretched-to-fill fullscreen mode now relegated to a third FILLSCREEN winmode. The default at startup is now an aspect ratio-preserving windowed mode. Simply press the 'f' key at any time to cycle through them. This was mostly done in sars to provide a source-available test for reproducing a fullscreen SDL2 bug I filed @ https://github.com/libsdl-org/SDL/issues/5139 Otherwise it's pretty silly to bother with doing anything on sars... but it is a handy little mule for such things. --- src/tex-node.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/tex-node.h') diff --git a/src/tex-node.h b/src/tex-node.h index 59c731b..d9a7f3f 100644 --- a/src/tex-node.h +++ b/src/tex-node.h @@ -21,7 +21,7 @@ typedef struct m4f_t m4f_t; typedef struct stage_t stage_t; typedef struct tex_t tex_t; -stage_t * tex_node_new_tex(stage_conf_t *conf, tex_t *tex, m4f_t *model_x); -stage_t * tex_node_new_mem(stage_conf_t *conf, int width, int height, const unsigned char *buf, m4f_t *model_x); +stage_t * tex_node_new_tex(stage_conf_t *conf, tex_t *tex, m4f_t *projection_x, m4f_t *model_x); +stage_t * tex_node_new_mem(stage_conf_t *conf, int width, int height, const unsigned char *buf, m4f_t *projection_x, m4f_t *model_x); #endif -- cgit v1.2.3