Rename Project Window width and height settings to match their function

This commit is contained in:
Marcel Admiraal 2021-03-31 12:50:24 +01:00
parent e432181dc3
commit f107139979
8 changed files with 51 additions and 49 deletions

View File

@ -488,7 +488,7 @@
</member> </member>
<member name="display/window/handheld/orientation" type="int" setter="" getter="" default="0"> <member name="display/window/handheld/orientation" type="int" setter="" getter="" default="0">
The default screen orientation to use on mobile devices. See [enum DisplayServer.ScreenOrientation] for possible values. The default screen orientation to use on mobile devices. See [enum DisplayServer.ScreenOrientation] for possible values.
[b]Note:[/b] When set to a portrait orientation, this project setting does not flip the project resolution's width and height automatically. Instead, you have to set [member display/window/size/width] and [member display/window/size/height] accordingly. [b]Note:[/b] When set to a portrait orientation, this project setting does not flip the project resolution's width and height automatically. Instead, you have to set [member display/window/size/viewport_width] and [member display/window/size/viewport_height] accordingly.
</member> </member>
<member name="display/window/ios/hide_home_indicator" type="bool" setter="" getter="" default="true"> <member name="display/window/ios/hide_home_indicator" type="bool" setter="" getter="" default="true">
If [code]true[/code], the home indicator is hidden automatically. This only affects iOS devices without a physical home button. If [code]true[/code], the home indicator is hidden automatically. This only affects iOS devices without a physical home button.
@ -506,21 +506,23 @@
Regardless of the platform, enabling fullscreen will change the window size to match the monitor's size. Therefore, make sure your project supports [url=$DOCS_URL/tutorials/rendering/multiple_resolutions.html]multiple resolutions[/url] when enabling fullscreen mode. Regardless of the platform, enabling fullscreen will change the window size to match the monitor's size. Therefore, make sure your project supports [url=$DOCS_URL/tutorials/rendering/multiple_resolutions.html]multiple resolutions[/url] when enabling fullscreen mode.
[b]Note:[/b] This setting is ignored on iOS, Android, and HTML5. [b]Note:[/b] This setting is ignored on iOS, Android, and HTML5.
</member> </member>
<member name="display/window/size/height" type="int" setter="" getter="" default="600">
Sets the game's main viewport height. On desktop platforms, this is the default window size. Stretch mode settings also use this as a reference when enabled.
</member>
<member name="display/window/size/resizable" type="bool" setter="" getter="" default="true"> <member name="display/window/size/resizable" type="bool" setter="" getter="" default="true">
Allows the window to be resizable by default. Allows the window to be resizable by default.
[b]Note:[/b] This setting is ignored on iOS and Android. [b]Note:[/b] This setting is ignored on iOS and Android.
</member> </member>
<member name="display/window/size/test_height" type="int" setter="" getter="" default="0"> <member name="display/window/size/viewport_height" type="int" setter="" getter="" default="600">
If greater than zero, overrides the window height when running the game. Useful for testing stretch modes. Sets the game's main viewport height. On desktop platforms, this is also the initial window height.
</member> </member>
<member name="display/window/size/test_width" type="int" setter="" getter="" default="0"> <member name="display/window/size/viewport_width" type="int" setter="" getter="" default="1024">
If greater than zero, overrides the window width when running the game. Useful for testing stretch modes. Sets the game's main viewport width. On desktop platforms, this is also the initial window width.
</member> </member>
<member name="display/window/size/width" type="int" setter="" getter="" default="1024"> <member name="display/window/size/window_height_override" type="int" setter="" getter="" default="0">
Sets the game's main viewport width. On desktop platforms, this is the default window size. Stretch mode settings also use this as a reference when enabled. On desktop platforms, sets the game's initial window height.
[b]Note:[/b] By default, or when set to 0, the initial window height is the [member display/window/size/viewport_height]. This setting is ignored on iOS, Android, and HTML5.
</member>
<member name="display/window/size/window_width_override" type="int" setter="" getter="" default="0">
On desktop platforms, sets the game's initial window width.
[b]Note:[/b] By default, or when set to 0, the initial window width is the viewport [member display/window/size/viewport_width]. This setting is ignored on iOS, Android, and HTML5.
</member> </member>
<member name="display/window/vsync/vsync_mode" type="int" setter="" getter="" default="1"> <member name="display/window/vsync/vsync_mode" type="int" setter="" getter="" default="1">
Sets the VSync mode for the main game window. Sets the VSync mode for the main game window.

View File

@ -98,15 +98,15 @@ Error EditorRun::run(const String &p_scene) {
screen_rect.position = DisplayServer::get_singleton()->screen_get_position(screen); screen_rect.position = DisplayServer::get_singleton()->screen_get_position(screen);
screen_rect.size = DisplayServer::get_singleton()->screen_get_size(screen); screen_rect.size = DisplayServer::get_singleton()->screen_get_size(screen);
Size2 desired_size; Size2 window_size;
desired_size.x = ProjectSettings::get_singleton()->get("display/window/size/width"); window_size.x = ProjectSettings::get_singleton()->get("display/window/size/viewport_width");
desired_size.y = ProjectSettings::get_singleton()->get("display/window/size/height"); window_size.y = ProjectSettings::get_singleton()->get("display/window/size/viewport_height");
Size2 test_size; Size2 desired_size;
test_size.x = ProjectSettings::get_singleton()->get("display/window/size/test_width"); desired_size.x = ProjectSettings::get_singleton()->get("display/window/size/window_width_override");
test_size.y = ProjectSettings::get_singleton()->get("display/window/size/test_height"); desired_size.y = ProjectSettings::get_singleton()->get("display/window/size/window_height_override");
if (test_size.x > 0 && test_size.y > 0) { if (desired_size.x > 0 && desired_size.y > 0) {
desired_size = test_size; window_size = desired_size;
} }
int window_placement = EditorSettings::get_singleton()->get("run/window_placement/rect"); int window_placement = EditorSettings::get_singleton()->get("run/window_placement/rect");
@ -136,7 +136,7 @@ Error EditorRun::run(const String &p_scene) {
args.push_back(itos(screen_rect.position.x) + "," + itos(screen_rect.position.y)); args.push_back(itos(screen_rect.position.x) + "," + itos(screen_rect.position.y));
} break; } break;
case 1: { // centered case 1: { // centered
Vector2 pos = (screen_rect.position) + ((screen_rect.size - desired_size) / 2).floor(); Vector2 pos = (screen_rect.position) + ((screen_rect.size - window_size) / 2).floor();
args.push_back("--position"); args.push_back("--position");
args.push_back(itos(pos.x) + "," + itos(pos.y)); args.push_back(itos(pos.x) + "," + itos(pos.y));
} break; } break;

View File

@ -3508,7 +3508,7 @@ void CanvasItemEditor::_draw_axis() {
Color area_axis_color = EditorSettings::get_singleton()->get("editors/2d/viewport_border_color"); Color area_axis_color = EditorSettings::get_singleton()->get("editors/2d/viewport_border_color");
Size2 screen_size = Size2(ProjectSettings::get_singleton()->get("display/window/size/width"), ProjectSettings::get_singleton()->get("display/window/size/height")); Size2 screen_size = Size2(ProjectSettings::get_singleton()->get("display/window/size/viewport_width"), ProjectSettings::get_singleton()->get("display/window/size/viewport_height"));
Vector2 screen_endpoints[4] = { Vector2 screen_endpoints[4] = {
transform.xform(Vector2(0, 0)), transform.xform(Vector2(0, 0)),
@ -4001,7 +4001,7 @@ void CanvasItemEditor::_update_scrollbars() {
Size2 vmin = v_scroll->get_minimum_size(); Size2 vmin = v_scroll->get_minimum_size();
// Get the visible frame. // Get the visible frame.
Size2 screen_rect = Size2(ProjectSettings::get_singleton()->get("display/window/size/width"), ProjectSettings::get_singleton()->get("display/window/size/height")); Size2 screen_rect = Size2(ProjectSettings::get_singleton()->get("display/window/size/viewport_width"), ProjectSettings::get_singleton()->get("display/window/size/viewport_height"));
Rect2 local_rect = Rect2(Point2(), viewport->get_size() - Size2(vmin.width, hmin.height)); Rect2 local_rect = Rect2(Point2(), viewport->get_size() - Size2(vmin.width, hmin.height));
// Calculate scrollable area. // Calculate scrollable area.

View File

@ -3061,7 +3061,7 @@ void Node3DEditorViewport::_draw() {
Math::round(2 * EDSCALE)); Math::round(2 * EDSCALE));
} }
if (previewing) { if (previewing) {
Size2 ss = Size2(ProjectSettings::get_singleton()->get("display/window/size/width"), ProjectSettings::get_singleton()->get("display/window/size/height")); Size2 ss = Size2(ProjectSettings::get_singleton()->get("display/window/size/viewport_width"), ProjectSettings::get_singleton()->get("display/window/size/viewport_height"));
float aspect = ss.aspect(); float aspect = ss.aspect();
Size2 s = get_size(); Size2 s = get_size();

View File

@ -1302,47 +1302,47 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
// always convert to lower case for consistency in the code // always convert to lower case for consistency in the code
rendering_driver = rendering_driver.to_lower(); rendering_driver = rendering_driver.to_lower();
GLOBAL_DEF_BASIC("display/window/size/width", 1024); GLOBAL_DEF_BASIC("display/window/size/viewport_width", 1024);
ProjectSettings::get_singleton()->set_custom_property_info("display/window/size/width", ProjectSettings::get_singleton()->set_custom_property_info("display/window/size/viewport_width",
PropertyInfo(Variant::INT, "display/window/size/width", PropertyInfo(Variant::INT, "display/window/size/viewport_width",
PROPERTY_HINT_RANGE, PROPERTY_HINT_RANGE,
"0,7680,or_greater")); // 8K resolution "0,7680,or_greater")); // 8K resolution
GLOBAL_DEF_BASIC("display/window/size/height", 600); GLOBAL_DEF_BASIC("display/window/size/viewport_height", 600);
ProjectSettings::get_singleton()->set_custom_property_info("display/window/size/height", ProjectSettings::get_singleton()->set_custom_property_info("display/window/size/viewport_height",
PropertyInfo(Variant::INT, "display/window/size/height", PropertyInfo(Variant::INT, "display/window/size/viewport_height",
PROPERTY_HINT_RANGE, PROPERTY_HINT_RANGE,
"0,4320,or_greater")); // 8K resolution "0,4320,or_greater")); // 8K resolution
GLOBAL_DEF_BASIC("display/window/size/resizable", true); GLOBAL_DEF_BASIC("display/window/size/resizable", true);
GLOBAL_DEF_BASIC("display/window/size/borderless", false); GLOBAL_DEF_BASIC("display/window/size/borderless", false);
GLOBAL_DEF_BASIC("display/window/size/fullscreen", false); GLOBAL_DEF_BASIC("display/window/size/fullscreen", false);
GLOBAL_DEF("display/window/size/always_on_top", false); GLOBAL_DEF("display/window/size/always_on_top", false);
GLOBAL_DEF("display/window/size/test_width", 0); GLOBAL_DEF("display/window/size/window_width_override", 0);
ProjectSettings::get_singleton()->set_custom_property_info("display/window/size/test_width", ProjectSettings::get_singleton()->set_custom_property_info("display/window/size/window_width_override",
PropertyInfo(Variant::INT, PropertyInfo(Variant::INT,
"display/window/size/test_width", "display/window/size/window_width_override",
PROPERTY_HINT_RANGE, PROPERTY_HINT_RANGE,
"0,7680,or_greater")); // 8K resolution "0,7680,or_greater")); // 8K resolution
GLOBAL_DEF("display/window/size/test_height", 0); GLOBAL_DEF("display/window/size/window_height_override", 0);
ProjectSettings::get_singleton()->set_custom_property_info("display/window/size/test_height", ProjectSettings::get_singleton()->set_custom_property_info("display/window/size/window_height_override",
PropertyInfo(Variant::INT, PropertyInfo(Variant::INT,
"display/window/size/test_height", "display/window/size/window_height_override",
PROPERTY_HINT_RANGE, PROPERTY_HINT_RANGE,
"0,4320,or_greater")); // 8K resolution "0,4320,or_greater")); // 8K resolution
if (use_custom_res) { if (use_custom_res) {
if (!force_res) { if (!force_res) {
window_size.width = GLOBAL_GET("display/window/size/width"); window_size.width = GLOBAL_GET("display/window/size/viewport_width");
window_size.height = GLOBAL_GET("display/window/size/height"); window_size.height = GLOBAL_GET("display/window/size/viewport_height");
if (globals->has_setting("display/window/size/test_width") && if (globals->has_setting("display/window/size/window_width_override") &&
globals->has_setting("display/window/size/test_height")) { globals->has_setting("display/window/size/window_height_override")) {
int tw = globals->get("display/window/size/test_width"); int desired_width = globals->get("display/window/size/window_width_override");
if (tw > 0) { if (desired_width > 0) {
window_size.width = tw; window_size.width = desired_width;
} }
int th = globals->get("display/window/size/test_height"); int desired_height = globals->get("display/window/size/window_height_override");
if (th > 0) { if (desired_height > 0) {
window_size.height = th; window_size.height = desired_height;
} }
} }
} }
@ -2337,8 +2337,8 @@ bool Main::start() {
String stretch_mode = GLOBAL_DEF_BASIC("display/window/stretch/mode", "disabled"); String stretch_mode = GLOBAL_DEF_BASIC("display/window/stretch/mode", "disabled");
String stretch_aspect = GLOBAL_DEF_BASIC("display/window/stretch/aspect", "keep"); String stretch_aspect = GLOBAL_DEF_BASIC("display/window/stretch/aspect", "keep");
Size2i stretch_size = Size2i(GLOBAL_DEF_BASIC("display/window/size/width", 0), Size2i stretch_size = Size2i(GLOBAL_DEF_BASIC("display/window/size/viewport_width", 0),
GLOBAL_DEF_BASIC("display/window/size/height", 0)); GLOBAL_DEF_BASIC("display/window/size/viewport_height", 0));
real_t stretch_scale = GLOBAL_DEF_BASIC("display/window/stretch/scale", 1.0); real_t stretch_scale = GLOBAL_DEF_BASIC("display/window/stretch/scale", 1.0);
Window::ContentScaleMode cs_sm = Window::CONTENT_SCALE_MODE_DISABLED; Window::ContentScaleMode cs_sm = Window::CONTENT_SCALE_MODE_DISABLED;

View File

@ -1514,7 +1514,7 @@ String EditorExportPlatformAndroid::load_splash_refs(Ref<Image> &splash_image, R
} }
if (scale_splash) { if (scale_splash) {
Size2 screen_size = Size2(ProjectSettings::get_singleton()->get("display/window/size/width"), ProjectSettings::get_singleton()->get("display/window/size/height")); Size2 screen_size = Size2(ProjectSettings::get_singleton()->get("display/window/size/viewport_width"), ProjectSettings::get_singleton()->get("display/window/size/viewport_height"));
int width, height; int width, height;
if (screen_size.width > screen_size.height) { if (screen_size.width > screen_size.height) {
// scale horizontally // scale horizontally

View File

@ -530,7 +530,7 @@ Point2 Camera2D::get_camera_screen_center() const {
Size2 Camera2D::_get_camera_screen_size() const { Size2 Camera2D::_get_camera_screen_size() const {
// special case if the camera2D is in the root viewport // special case if the camera2D is in the root viewport
if (Engine::get_singleton()->is_editor_hint() && get_viewport()->get_parent_viewport() == get_tree()->get_root()) { if (Engine::get_singleton()->is_editor_hint() && get_viewport()->get_parent_viewport() == get_tree()->get_root()) {
return Size2(ProjectSettings::get_singleton()->get("display/window/size/width"), ProjectSettings::get_singleton()->get("display/window/size/height")); return Size2(ProjectSettings::get_singleton()->get("display/window/size/viewport_width"), ProjectSettings::get_singleton()->get("display/window/size/viewport_height"));
} }
return get_viewport_rect().size; return get_viewport_rect().size;
} }

View File

@ -1296,7 +1296,7 @@ Rect2 Control::get_parent_anchorable_rect() const {
#ifdef TOOLS_ENABLED #ifdef TOOLS_ENABLED
Node *edited_root = get_tree()->get_edited_scene_root(); Node *edited_root = get_tree()->get_edited_scene_root();
if (edited_root && (this == edited_root || edited_root->is_ancestor_of(this))) { if (edited_root && (this == edited_root || edited_root->is_ancestor_of(this))) {
parent_rect.size = Size2(ProjectSettings::get_singleton()->get("display/window/size/width"), ProjectSettings::get_singleton()->get("display/window/size/height")); parent_rect.size = Size2(ProjectSettings::get_singleton()->get("display/window/size/viewport_width"), ProjectSettings::get_singleton()->get("display/window/size/viewport_height"));
} else { } else {
parent_rect = get_viewport()->get_visible_rect(); parent_rect = get_viewport()->get_visible_rect();
} }