diff options
| author | Vito Caputo <vcaputo@pengaru.com> | 2022-07-15 15:09:01 -0700 | 
|---|---|---|
| committer | Vito Caputo <vcaputo@pengaru.com> | 2022-07-15 15:09:01 -0700 | 
| commit | 8bd50ffd4ba81cb9c5197bcae926e177cc7a8987 (patch) | |
| tree | 0a2c50fed2c7b800fade874fd33ce99806d90fb7 /src/til_settings.c | |
| parent | f1e59ffe5607ae8b84f03f153cacb27bc3024bac (diff) | |
til_fb: switch til_fb_ops_t.init() to use til_setup_t
Until now the fb init has been receiving a til_settings_t to
access its setup.  Now that there's a til_setup_t for
representing the fully baked setup, let's bring the fb stuff
up to speed so their init() behaves more like
til_module_t.create_context() WRT settings/setup.
This involves some reworking of how settings are handled in
{drm,sdl}_fb.c but nothing majorly different.
The only real funcitonal change that happened in the course of
this work is I made it possible now to actually instruct SDL to
do a more legacy SDL_WINDOW_FULLSCREEN vs.
SDL_WINDOW_FULLSCREEN_DESKTOP where SDL will attempt to switch
the video mode.
This is triggered by specifying both a size=WxH and fullscreen=on
for video=sdl.  Be careful though, I've observed some broken
display states when specifying goofy sizes, which look like Xorg
bugs.
Diffstat (limited to 'src/til_settings.c')
| -rw-r--r-- | src/til_settings.c | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/src/til_settings.c b/src/til_settings.c index 1d01d8e..01b27b7 100644 --- a/src/til_settings.c +++ b/src/til_settings.c @@ -243,7 +243,7 @@ void til_settings_reset_descs(til_settings_t *settings)  /* returns 0 when input settings are complete */  /* returns 1 when input settings are incomplete, storing the next setting's description needed in *next_setting */  /* returns -errno on error */ -int til_settings_apply_desc_generators(const til_settings_t *settings, const til_setting_desc_generator_t generators[], unsigned n_generators, void *setup_context, til_setting_t **res_setting, const til_setting_desc_t **res_desc) +int til_settings_apply_desc_generators(const til_settings_t *settings, const til_setting_desc_generator_t generators[], unsigned n_generators, til_setup_t *setup, til_setting_t **res_setting, const til_setting_desc_t **res_desc, til_setup_t **res_setup)  {  	assert(settings);  	assert(generators); @@ -256,7 +256,7 @@ int til_settings_apply_desc_generators(const til_settings_t *settings, const til  		const til_setting_desc_t		*desc;  		int					r; -		r = g->func(setup_context, &desc); +		r = g->func(setup, &desc);  		if (r < 0)  			return r; @@ -266,6 +266,9 @@ int til_settings_apply_desc_generators(const til_settings_t *settings, const til  			return r;  	} +	if (res_setup) +		*res_setup = setup; +  	return 0;  } | 
