mirror of https://github.com/OpenRCT2/OpenRCT2.git
Minimize fullscreen on focus loss
This commit is contained in:
parent
1d02ebb091
commit
0a4ac08caa
|
@ -3773,5 +3773,5 @@ STR_5436 :Edit Title Sequences...
|
||||||
STR_5437 :No save selected
|
STR_5437 :No save selected
|
||||||
STR_5438 :Can't make changes while command editor is open
|
STR_5438 :Can't make changes while command editor is open
|
||||||
STR_5439 :A restart is used without a wait command
|
STR_5439 :A restart is used without a wait command
|
||||||
STR_5440 :<Not currently used>
|
STR_5440 :Minimize fullscreen on focus loss
|
||||||
STR_5441 :{SMALLFONT}{BLACK}Identifies rides by track type,{NEWLINE}so vehicles can be changed{NEWLINE}afterwards, like in RCT1. Only{NEWLINE}toggleable in the title screen.
|
STR_5441 :{SMALLFONT}{BLACK}Identifies rides by track type,{NEWLINE}so vehicles can be changed{NEWLINE}afterwards, like in RCT1. Only{NEWLINE}toggleable in the title screen.
|
||||||
|
|
|
@ -182,6 +182,7 @@ config_property_definition _generalDefinitions[] = {
|
||||||
{ offsetof(general_configuration, last_run_version), "last_run_version", CONFIG_VALUE_TYPE_STRING, { .value_string = NULL }, NULL },
|
{ offsetof(general_configuration, last_run_version), "last_run_version", CONFIG_VALUE_TYPE_STRING, { .value_string = NULL }, NULL },
|
||||||
{ offsetof(general_configuration, invert_viewport_drag), "invert_viewport_drag", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
|
{ offsetof(general_configuration, invert_viewport_drag), "invert_viewport_drag", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
|
||||||
{ offsetof(general_configuration, load_save_sort), "load_save_sort", CONFIG_VALUE_TYPE_UINT8, SORT_NAME_ASCENDING, NULL },
|
{ offsetof(general_configuration, load_save_sort), "load_save_sort", CONFIG_VALUE_TYPE_UINT8, SORT_NAME_ASCENDING, NULL },
|
||||||
|
{ offsetof(general_configuration, minimize_fullscreen_focus_loss), "minimize_fullscreen_focus_loss",CONFIG_VALUE_TYPE_BOOLEAN, true, NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
config_property_definition _interfaceDefinitions[] = {
|
config_property_definition _interfaceDefinitions[] = {
|
||||||
|
|
|
@ -152,6 +152,7 @@ typedef struct {
|
||||||
utf8string last_run_version;
|
utf8string last_run_version;
|
||||||
uint8 invert_viewport_drag;
|
uint8 invert_viewport_drag;
|
||||||
uint8 load_save_sort;
|
uint8 load_save_sort;
|
||||||
|
uint8 minimize_fullscreen_focus_loss;
|
||||||
} general_configuration;
|
} general_configuration;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
|
@ -534,6 +534,7 @@ static void platform_create_window()
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, 0);
|
SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, 0);
|
||||||
|
SDL_SetHint(SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS, gConfigGeneral.minimize_fullscreen_focus_loss ? "1" : "0");
|
||||||
|
|
||||||
platform_load_cursors();
|
platform_load_cursors();
|
||||||
|
|
||||||
|
@ -730,6 +731,8 @@ void platform_refresh_video()
|
||||||
{
|
{
|
||||||
int width = RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_WIDTH, sint16);
|
int width = RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_WIDTH, sint16);
|
||||||
int height = RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_HEIGHT, sint16);
|
int height = RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_HEIGHT, sint16);
|
||||||
|
|
||||||
|
SDL_SetHint(SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS, gConfigGeneral.minimize_fullscreen_focus_loss ? "1" : "0");
|
||||||
|
|
||||||
if (gConfigGeneral.hardware_display) {
|
if (gConfigGeneral.hardware_display) {
|
||||||
if (gRenderer == NULL)
|
if (gRenderer == NULL)
|
||||||
|
|
|
@ -78,6 +78,7 @@ enum WINDOW_OPTIONS_WIDGET_IDX {
|
||||||
WIDX_TILE_SMOOTHING_CHECKBOX,
|
WIDX_TILE_SMOOTHING_CHECKBOX,
|
||||||
WIDX_GRIDLINES_CHECKBOX,
|
WIDX_GRIDLINES_CHECKBOX,
|
||||||
WIDX_HARDWARE_DISPLAY_CHECKBOX,
|
WIDX_HARDWARE_DISPLAY_CHECKBOX,
|
||||||
|
WIDX_MINIMIZE_FOCUS_LOSS,
|
||||||
WIDX_CONSTRUCTION_MARKER,
|
WIDX_CONSTRUCTION_MARKER,
|
||||||
WIDX_CONSTRUCTION_MARKER_DROPDOWN,
|
WIDX_CONSTRUCTION_MARKER_DROPDOWN,
|
||||||
WIDX_THEMES,
|
WIDX_THEMES,
|
||||||
|
@ -162,11 +163,12 @@ static rct_widget window_options_display_widgets[] = {
|
||||||
{ WWT_CHECKBOX, 1, 10, 290, 84, 95, STR_TILE_SMOOTHING, STR_TILE_SMOOTHING_TIP }, // landscape smoothing
|
{ WWT_CHECKBOX, 1, 10, 290, 84, 95, STR_TILE_SMOOTHING, STR_TILE_SMOOTHING_TIP }, // landscape smoothing
|
||||||
{ WWT_CHECKBOX, 1, 10, 290, 99, 110, STR_GRIDLINES, STR_GRIDLINES_TIP }, // gridlines
|
{ WWT_CHECKBOX, 1, 10, 290, 99, 110, STR_GRIDLINES, STR_GRIDLINES_TIP }, // gridlines
|
||||||
{ WWT_CHECKBOX, 1, 10, 290, 114, 125, 5154, STR_NONE }, // hardware display
|
{ WWT_CHECKBOX, 1, 10, 290, 114, 125, 5154, STR_NONE }, // hardware display
|
||||||
{ WWT_DROPDOWN, 1, 155, 299, 128, 139, STR_NONE, STR_NONE }, // construction marker
|
{ WWT_CHECKBOX, 1, 10, 290, 129, 140, 5440, STR_NONE }, // minimize fullscreen focus loss
|
||||||
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 129, 138, 876, STR_NONE },
|
{ WWT_DROPDOWN, 1, 155, 299, 143, 154, STR_NONE, STR_NONE }, // construction marker
|
||||||
{ WWT_DROPDOWN, 1, 155, 299, 143, 154, STR_NONE, STR_NONE }, // colour schemes
|
|
||||||
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 144, 153, 876, STR_NONE },
|
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 144, 153, 876, STR_NONE },
|
||||||
{ WWT_DROPDOWN_BUTTON, 1, 26, 185, 159, 170, 5153, STR_NONE }, // colour schemes button
|
{ WWT_DROPDOWN, 1, 155, 299, 158, 169, STR_NONE, STR_NONE }, // colour schemes
|
||||||
|
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 159, 168, 876, STR_NONE },
|
||||||
|
{ WWT_DROPDOWN_BUTTON, 1, 26, 185, 174, 185, 5153, STR_NONE }, // colour schemes button
|
||||||
{ WIDGETS_END },
|
{ WIDGETS_END },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -325,6 +327,7 @@ static uint32 window_options_page_enabled_widgets[] = {
|
||||||
(1 << WIDX_TILE_SMOOTHING_CHECKBOX) |
|
(1 << WIDX_TILE_SMOOTHING_CHECKBOX) |
|
||||||
(1 << WIDX_GRIDLINES_CHECKBOX) |
|
(1 << WIDX_GRIDLINES_CHECKBOX) |
|
||||||
(1 << WIDX_HARDWARE_DISPLAY_CHECKBOX) |
|
(1 << WIDX_HARDWARE_DISPLAY_CHECKBOX) |
|
||||||
|
(1 << WIDX_MINIMIZE_FOCUS_LOSS) |
|
||||||
(1 << WIDX_CONSTRUCTION_MARKER) |
|
(1 << WIDX_CONSTRUCTION_MARKER) |
|
||||||
(1 << WIDX_CONSTRUCTION_MARKER_DROPDOWN) |
|
(1 << WIDX_CONSTRUCTION_MARKER_DROPDOWN) |
|
||||||
(1 << WIDX_THEMES) |
|
(1 << WIDX_THEMES) |
|
||||||
|
@ -460,6 +463,12 @@ static void window_options_mouseup()
|
||||||
config_save_default();
|
config_save_default();
|
||||||
window_invalidate(w);
|
window_invalidate(w);
|
||||||
break;
|
break;
|
||||||
|
case WIDX_MINIMIZE_FOCUS_LOSS:
|
||||||
|
gConfigGeneral.minimize_fullscreen_focus_loss ^= 1;
|
||||||
|
platform_refresh_video();
|
||||||
|
config_save_default();
|
||||||
|
window_invalidate(w);
|
||||||
|
break;
|
||||||
case WIDX_THEMES_BUTTON:
|
case WIDX_THEMES_BUTTON:
|
||||||
window_themes_open();
|
window_themes_open();
|
||||||
window_invalidate(w);
|
window_invalidate(w);
|
||||||
|
@ -1055,6 +1064,7 @@ static void window_options_invalidate()
|
||||||
widget_set_checkbox_value(w, WIDX_TILE_SMOOTHING_CHECKBOX, (RCT2_GLOBAL(RCT2_ADDRESS_CONFIG_FLAGS, uint8) & CONFIG_FLAG_DISABLE_SMOOTH_LANDSCAPE) == 0);
|
widget_set_checkbox_value(w, WIDX_TILE_SMOOTHING_CHECKBOX, (RCT2_GLOBAL(RCT2_ADDRESS_CONFIG_FLAGS, uint8) & CONFIG_FLAG_DISABLE_SMOOTH_LANDSCAPE) == 0);
|
||||||
widget_set_checkbox_value(w, WIDX_GRIDLINES_CHECKBOX, RCT2_GLOBAL(RCT2_ADDRESS_CONFIG_FLAGS, uint8) & CONFIG_FLAG_ALWAYS_SHOW_GRIDLINES);
|
widget_set_checkbox_value(w, WIDX_GRIDLINES_CHECKBOX, RCT2_GLOBAL(RCT2_ADDRESS_CONFIG_FLAGS, uint8) & CONFIG_FLAG_ALWAYS_SHOW_GRIDLINES);
|
||||||
widget_set_checkbox_value(w, WIDX_HARDWARE_DISPLAY_CHECKBOX, gConfigGeneral.hardware_display);
|
widget_set_checkbox_value(w, WIDX_HARDWARE_DISPLAY_CHECKBOX, gConfigGeneral.hardware_display);
|
||||||
|
widget_set_checkbox_value(w, WIDX_MINIMIZE_FOCUS_LOSS, gConfigGeneral.minimize_fullscreen_focus_loss);
|
||||||
|
|
||||||
// construction marker: celsius/fahrenheit
|
// construction marker: celsius/fahrenheit
|
||||||
window_options_display_widgets[WIDX_CONSTRUCTION_MARKER].image = STR_WHITE + RCT2_GLOBAL(RCT2_ADDRESS_CONFIG_CONSTRUCTION_MARKER, uint8);
|
window_options_display_widgets[WIDX_CONSTRUCTION_MARKER].image = STR_WHITE + RCT2_GLOBAL(RCT2_ADDRESS_CONFIG_CONSTRUCTION_MARKER, uint8);
|
||||||
|
@ -1068,6 +1078,7 @@ static void window_options_invalidate()
|
||||||
window_options_display_widgets[WIDX_CONSTRUCTION_MARKER].type = WWT_DROPDOWN;
|
window_options_display_widgets[WIDX_CONSTRUCTION_MARKER].type = WWT_DROPDOWN;
|
||||||
window_options_display_widgets[WIDX_CONSTRUCTION_MARKER_DROPDOWN].type = WWT_DROPDOWN_BUTTON;
|
window_options_display_widgets[WIDX_CONSTRUCTION_MARKER_DROPDOWN].type = WWT_DROPDOWN_BUTTON;
|
||||||
window_options_display_widgets[WIDX_HARDWARE_DISPLAY_CHECKBOX].type = WWT_CHECKBOX;
|
window_options_display_widgets[WIDX_HARDWARE_DISPLAY_CHECKBOX].type = WWT_CHECKBOX;
|
||||||
|
window_options_display_widgets[WIDX_MINIMIZE_FOCUS_LOSS].type = WWT_CHECKBOX;
|
||||||
window_options_display_widgets[WIDX_THEMES].type = WWT_DROPDOWN;
|
window_options_display_widgets[WIDX_THEMES].type = WWT_DROPDOWN;
|
||||||
window_options_display_widgets[WIDX_THEMES_DROPDOWN].type = WWT_DROPDOWN_BUTTON;
|
window_options_display_widgets[WIDX_THEMES_DROPDOWN].type = WWT_DROPDOWN_BUTTON;
|
||||||
window_options_display_widgets[WIDX_THEMES_BUTTON].type = WWT_DROPDOWN_BUTTON;
|
window_options_display_widgets[WIDX_THEMES_BUTTON].type = WWT_DROPDOWN_BUTTON;
|
||||||
|
|
Loading…
Reference in New Issue