diff --git a/classes/class_acceptdialog.rst b/classes/class_acceptdialog.rst index 0d02fdb51..7edf68541 100644 --- a/classes/class_acceptdialog.rst +++ b/classes/class_acceptdialog.rst @@ -177,7 +177,7 @@ Sets autowrapping for the text in the dialog. - |void| **set_close_on_escape**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **get_close_on_escape**\ (\ ) -If ``true``, the dialog will be hidden when the ``ui_cancel`` action is pressed (by default, this action is bound to :ref:`@GlobalScope.KEY_ESCAPE`). +If ``true``, the dialog will be hidden when the ``ui_close_dialog`` action is pressed (by default, this action is bound to :kbd:`Escape`, or :kbd:`Cmd + W` on macOS). .. rst-class:: classref-item-separator diff --git a/classes/class_array.rst b/classes/class_array.rst index 7adbba72d..de2709918 100644 --- a/classes/class_array.rst +++ b/classes/class_array.rst @@ -1237,8 +1237,6 @@ If you need to return the removed element, use :ref:`pop_at()` | :ref:`_activate_feed`\ (\ ) |virtual| | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`_deactivate_feed`\ (\ ) |virtual| | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`FeedDataType` | :ref:`get_datatype`\ (\ ) |const| | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`get_id`\ (\ ) |const| | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`get_name`\ (\ ) |const| | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`FeedPosition` | :ref:`get_position`\ (\ ) |const| | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`get_texture_tex_id`\ (\ feed_image_type\: :ref:`FeedImage`\ ) | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_external`\ (\ width\: :ref:`int`, height\: :ref:`int`\ ) | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`set_format`\ (\ index\: :ref:`int`, parameters\: :ref:`Dictionary`\ ) | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_name`\ (\ name\: :ref:`String`\ ) | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_position`\ (\ position\: :ref:`FeedPosition`\ ) | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_rgb_image`\ (\ rgb_image\: :ref:`Image`\ ) | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_ycbcr_image`\ (\ ycbcr_image\: :ref:`Image`\ ) | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_activate_feed`\ (\ ) |virtual| | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`_deactivate_feed`\ (\ ) |virtual| | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`FeedDataType` | :ref:`get_datatype`\ (\ ) |const| | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_id`\ (\ ) |const| | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_name`\ (\ ) |const| | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`FeedPosition` | :ref:`get_position`\ (\ ) |const| | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_texture_tex_id`\ (\ feed_image_type\: :ref:`FeedImage`\ ) | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_external`\ (\ width\: :ref:`int`, height\: :ref:`int`\ ) | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`set_format`\ (\ index\: :ref:`int`, parameters\: :ref:`Dictionary`\ ) | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_name`\ (\ name\: :ref:`String`\ ) | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_position`\ (\ position\: :ref:`FeedPosition`\ ) | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_rgb_image`\ (\ rgb_image\: :ref:`Image`\ ) | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_ycbcr_image`\ (\ ycbcr_image\: :ref:`Image`\ ) | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_ycbcr_images`\ (\ y_image\: :ref:`Image`, cbcr_image\: :ref:`Image`\ ) | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -417,6 +419,18 @@ Sets RGB image for this feed. Sets YCbCr image for this feed. +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_method_set_ycbcr_images: + +.. rst-class:: classref-method + +|void| **set_ycbcr_images**\ (\ y_image\: :ref:`Image`, cbcr_image\: :ref:`Image`\ ) :ref:`🔗` + +Sets Y and CbCr images for this feed. + .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` diff --git a/classes/class_control.rst b/classes/class_control.rst index 407977ebc..84a2b1408 100644 --- a/classes/class_control.rst +++ b/classes/class_control.rst @@ -3255,7 +3255,7 @@ Creates an :ref:`InputEventMouseButton` that attemp Steal the focus from another control and become the focused control (see :ref:`focus_mode`). -If ``hide_focus`` is ``true``, the control will not visually show its focused state. Has no effect if :ref:`ProjectSettings.gui/common/always_show_focus_state` is set to ``true``. +If ``hide_focus`` is ``true``, the control will not visually show its focused state. Has no effect for :ref:`LineEdit` and :ref:`TextEdit` when :ref:`ProjectSettings.gui/common/show_focus_state_on_pointer_event` is set to ``Control Supports Keyboard Input``, or for any control when it is set to ``Always``. \ **Note:** Using this method together with :ref:`Callable.call_deferred()` makes it more reliable, especially when called inside :ref:`Node._ready()`. diff --git a/classes/class_displayserver.rst b/classes/class_displayserver.rst index 8f153776b..3d4af3a3f 100644 --- a/classes/class_displayserver.rst +++ b/classes/class_displayserver.rst @@ -3942,7 +3942,7 @@ Callbacks have the following arguments: ``status: bool, selected_paths: PackedSt \ **Note:** ``current_directory`` might be ignored. -\ **Note:** Embedded file dialog and Windows file dialog support only file extensions, while Android, Linux, and macOS file dialogs also support MIME types. +\ **Note:** Embedded file dialogs and Windows file dialogs support only file extensions, while Android, Linux, and macOS file dialogs also support MIME types. \ **Note:** On Android and Linux, ``show_hidden`` is ignored. @@ -3978,7 +3978,7 @@ Callbacks have the following arguments: ``status: bool, selected_paths: PackedSt \ **Note:** ``current_directory`` might be ignored. -\ **Note:** Embedded file dialog and Windows file dialog support only file extensions, while Android, Linux, and macOS file dialogs also support MIME types. +\ **Note:** Embedded file dialogs and Windows file dialogs support only file extensions, while Android, Linux, and macOS file dialogs also support MIME types. \ **Note:** On Linux (X11), ``show_hidden`` is ignored. diff --git a/classes/class_editorfiledialog.rst b/classes/class_editorfiledialog.rst index 66da5c10f..79f3a02e3 100644 --- a/classes/class_editorfiledialog.rst +++ b/classes/class_editorfiledialog.rst @@ -493,7 +493,9 @@ Adds an additional :ref:`OptionButton` to the file dialog. I |void| **add_side_menu**\ (\ menu\: :ref:`Control`, title\: :ref:`String` = ""\ ) :ref:`🔗` -Adds the given ``menu`` to the side of the file dialog with the given ``title`` text on top. Only one side menu is allowed. +**Deprecated:** This feature is no longer supported. + +This method is kept for compatibility and does nothing. As an alternative, you can display another dialog after showing the file dialog. .. rst-class:: classref-item-separator diff --git a/classes/class_editorplugin.rst b/classes/class_editorplugin.rst index 25d54b595..8437ba58d 100644 --- a/classes/class_editorplugin.rst +++ b/classes/class_editorplugin.rst @@ -83,6 +83,8 @@ Methods +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`_make_visible`\ (\ visible\: :ref:`bool`\ ) |virtual| | +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`_run_scene`\ (\ scene\: :ref:`String`, args\: :ref:`PackedStringArray`\ ) |virtual| |const| | + +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`_save_external_data`\ (\ ) |virtual| | +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`_set_state`\ (\ state\: :ref:`Dictionary`\ ) |virtual| | @@ -1041,6 +1043,26 @@ Remember that you have to manage the visibility of all your editor controls manu ---- +.. _class_EditorPlugin_private_method__run_scene: + +.. rst-class:: classref-method + +:ref:`PackedStringArray` **_run_scene**\ (\ scene\: :ref:`String`, args\: :ref:`PackedStringArray`\ ) |virtual| |const| :ref:`🔗` + +This function is called when an individual scene is about to be played in the editor. ``args`` is a list of command line arguments that will be passed to the new Godot instance, which will be replaced by the list returned by this function. + +:: + + func _run_scene(scene, args): + args.append("--an-extra-argument") + return args + +\ **Note:** Text that is printed in this method will not be visible in the editor's Output panel unless :ref:`EditorSettings.run/output/always_clear_output_on_play` is ``false``. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorPlugin_private_method__save_external_data: .. rst-class:: classref-method diff --git a/classes/class_editorsettings.rst b/classes/class_editorsettings.rst index 3f2be1567..c2279f3cc 100644 --- a/classes/class_editorsettings.rst +++ b/classes/class_editorsettings.rst @@ -23,6 +23,8 @@ Object that holds the project-independent editor settings. These settings are ge Property names use slash delimiters to distinguish sections. Setting values can be of any :ref:`Variant` type. It's recommended to use ``snake_case`` for editor settings to be consistent with the Godot editor itself. +Editor settings are saved automatically when changed. + Accessing the settings can be done using the following methods, such as: @@ -429,6 +431,8 @@ Properties +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`filesystem/quick_open_dialog/include_addons` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`filesystem/quick_open_dialog/instant_preview` | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`filesystem/quick_open_dialog/max_fuzzy_misses` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`filesystem/quick_open_dialog/max_results` | @@ -465,6 +469,8 @@ Properties +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`interface/editor/dock_tab_style` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`interface/editor/dragging_hover_wait_seconds` | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`interface/editor/editor_language` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`interface/editor/editor_screen` | @@ -493,6 +499,8 @@ Properties +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`interface/editor/main_font_bold` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`interface/editor/main_font_custom_opentype_features` | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`interface/editor/main_font_size` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`interface/editor/mouse_extra_buttons_navigate_history` | @@ -3360,6 +3368,18 @@ If ``true``, results will include files located in the ``addons`` folder. ---- +.. _class_EditorSettings_property_filesystem/quick_open_dialog/instant_preview: + +.. rst-class:: classref-property + +:ref:`bool` **filesystem/quick_open_dialog/instant_preview** :ref:`🔗` + +If ``true``, highlighting a resource will preview it quickly without confirming the selection or closing the dialog. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorSettings_property_filesystem/quick_open_dialog/max_fuzzy_misses: .. rst-class:: classref-property @@ -3616,6 +3636,18 @@ Tab style of editor docks. ---- +.. _class_EditorSettings_property_interface/editor/dragging_hover_wait_seconds: + +.. rst-class:: classref-property + +:ref:`float` **interface/editor/dragging_hover_wait_seconds** :ref:`🔗` + +During a drag-and-drop, this is how long to wait over a UI element before it triggers a reaction (e.g. a section unfolds to show nested items). + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorSettings_property_interface/editor/editor_language: .. rst-class:: classref-property @@ -3804,6 +3836,22 @@ The font to use for bold text in the editor interface. Must be a resource of a : ---- +.. _class_EditorSettings_property_interface/editor/main_font_custom_opentype_features: + +.. rst-class:: classref-property + +:ref:`String` **interface/editor/main_font_custom_opentype_features** :ref:`🔗` + +List of custom OpenType features to use, if supported by the currently configured main font. Check what OpenType features are supported by your font first. + +The string should follow the OpenType specification, e.g. ``ss01,tnum,calt=false``. Microsoft's documentation contains a list of `all registered features `__. + +\ **Note:** The default editor main font (`Inter `__) has custom OpenType features in its font file, with ``ss04`` and ``tnum`` enabled and ``calt`` disabled by default. Supported features can be found at its website. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorSettings_property_interface/editor/main_font_size: .. rst-class:: classref-property diff --git a/classes/class_environment.rst b/classes/class_environment.rst index f90eb1866..7cbc5119c 100644 --- a/classes/class_environment.rst +++ b/classes/class_environment.rst @@ -207,7 +207,7 @@ Properties +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+ | :ref:`float` | :ref:`ssil_sharpness` | ``0.98`` | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+ - | :ref:`float` | :ref:`ssr_depth_tolerance` | ``0.2`` | + | :ref:`float` | :ref:`ssr_depth_tolerance` | ``0.5`` | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+ | :ref:`bool` | :ref:`ssr_enabled` | ``false`` | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+ @@ -597,7 +597,7 @@ Property Descriptions - |void| **set_adjustment_brightness**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_adjustment_brightness**\ (\ ) -The global brightness value of the rendered scene. Effective only if :ref:`adjustment_enabled` is ``true``. +Applies a simple brightness adjustment to the rendered image after tonemaping. To adjust scene brightness use :ref:`tonemap_exposure` instead, which is applied before tonemapping and thus less prone to issues with bright colors. Effective only if :ref:`adjustment_enabled` is ``true``. .. rst-class:: classref-item-separator @@ -631,7 +631,7 @@ The :ref:`Texture2D` or :ref:`Texture3D` looku - |void| **set_adjustment_contrast**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_adjustment_contrast**\ (\ ) -The global contrast value of the rendered scene (default value is 1). Effective only if :ref:`adjustment_enabled` is ``true``. +Increasing :ref:`adjustment_contrast` will make dark values darker and bright values brighter. This simple adjustment is applied to the rendered image after tonemaping. When set to a value greater than ``1.0``, :ref:`adjustment_contrast` is prone to clipping colors that become too bright or too dark. Effective only if :ref:`adjustment_enabled` is ``true``. .. rst-class:: classref-item-separator @@ -665,7 +665,7 @@ If ``true``, enables the ``adjustment_*`` properties provided by this resource. - |void| **set_adjustment_saturation**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_adjustment_saturation**\ (\ ) -The global color saturation value of the rendered scene (default value is 1). Effective only if :ref:`adjustment_enabled` is ``true``. +Applies a simple saturation adjustment to the rendered image after tonemaping. When :ref:`adjustment_saturation` is set to ``0.0``, the rendered image will be fully converted to a grayscale image. Effective only if :ref:`adjustment_enabled` is ``true``. .. rst-class:: classref-item-separator @@ -1963,7 +1963,7 @@ The amount that the screen-space indirect lighting effect is allowed to blur ove .. rst-class:: classref-property -:ref:`float` **ssr_depth_tolerance** = ``0.2`` :ref:`🔗` +:ref:`float` **ssr_depth_tolerance** = ``0.5`` :ref:`🔗` .. rst-class:: classref-property-setget diff --git a/classes/class_filedialog.rst b/classes/class_filedialog.rst index 8c94a52d4..ac072eb5a 100644 --- a/classes/class_filedialog.rst +++ b/classes/class_filedialog.rst @@ -90,7 +90,7 @@ Methods :widths: auto +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`add_filter`\ (\ filter\: :ref:`String`, description\: :ref:`String` = ""\ ) | + | |void| | :ref:`add_filter`\ (\ filter\: :ref:`String`, description\: :ref:`String` = "", mime_type\: :ref:`String` = ""\ ) | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_option`\ (\ name\: :ref:`String`, values\: :ref:`PackedStringArray`, default_value_index\: :ref:`int`\ ) | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -672,7 +672,7 @@ See also :ref:`filters`, which should be used The available file type filters. Each filter string in the array should be formatted like this: ``*.png,*.jpg,*.jpeg;Image Files;image/png,image/jpeg``. The description text of the filter is optional and can be omitted. Both file extensions and MIME type should be always set. -\ **Note:** Embedded file dialog and Windows file dialog support only file extensions, while Android, Linux, and macOS file dialogs also support MIME types. +\ **Note:** Embedded file dialogs and Windows file dialogs support only file extensions, while Android, Linux, and macOS file dialogs also support MIME types. **Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedStringArray` for more details. @@ -871,13 +871,15 @@ Method Descriptions .. rst-class:: classref-method -|void| **add_filter**\ (\ filter\: :ref:`String`, description\: :ref:`String` = ""\ ) :ref:`🔗` +|void| **add_filter**\ (\ filter\: :ref:`String`, description\: :ref:`String` = "", mime_type\: :ref:`String` = ""\ ) :ref:`🔗` -Adds a comma-separated file name ``filter`` option to the **FileDialog** with an optional ``description``, which restricts what files can be picked. +Adds a comma-separated file extension ``filter`` and comma-separated MIME type ``mime_type`` option to the **FileDialog** with an optional ``description``, which restricts what files can be picked. A ``filter`` should be of the form ``"filename.extension"``, where filename and extension can be ``*`` to match any string. Filters starting with ``.`` (i.e. empty filenames) are not allowed. -For example, a ``filter`` of ``"*.png, *.jpg"`` and a ``description`` of ``"Images"`` results in filter text "Images (\*.png, \*.jpg)". +For example, a ``filter`` of ``"*.png, *.jpg"``, a ``mime_type`` of ``image/png, image/jpeg``, and a ``description`` of ``"Images"`` results in filter text "Images (\*.png, \*.jpg)". + +\ **Note:** Embedded file dialogs and Windows file dialogs support only file extensions, while Android, Linux, and macOS file dialogs also support MIME types. .. rst-class:: classref-item-separator diff --git a/classes/class_filesystemdock.rst b/classes/class_filesystemdock.rst index 5cae53358..9d17eebca 100644 --- a/classes/class_filesystemdock.rst +++ b/classes/class_filesystemdock.rst @@ -152,6 +152,18 @@ Emitted when the given scenes are being instantiated in the editor. Emitted when an external ``resource`` had its file removed. +.. rst-class:: classref-item-separator + +---- + +.. _class_FileSystemDock_signal_selection_changed: + +.. rst-class:: classref-signal + +**selection_changed**\ (\ ) :ref:`🔗` + +Emitted when the selection changes. Use :ref:`EditorInterface.get_selected_paths()` in the connected method to get the selected paths. + .. rst-class:: classref-section-separator ---- diff --git a/classes/class_gltfaccessor.rst b/classes/class_gltfaccessor.rst index 0b0f3d4f5..d3df0454b 100644 --- a/classes/class_gltfaccessor.rst +++ b/classes/class_gltfaccessor.rst @@ -72,6 +72,20 @@ Properties | :ref:`int` | :ref:`type` | | +---------------------------------------------------------------+-------------------------------------------------------------------------------------------------+--------------------------+ +.. rst-class:: classref-reftable-group + +Methods +------- + +.. table:: + :widths: auto + + +-----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`GLTFAccessor` | :ref:`from_dictionary`\ (\ dictionary\: :ref:`Dictionary`\ ) |static| | + +-----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary` | :ref:`to_dictionary`\ (\ ) |const| | + +-----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + .. rst-class:: classref-section-separator ---- @@ -515,6 +529,35 @@ The offset relative to the start of the bufferView in bytes. The glTF accessor type, as an :ref:`int`. Possible values are ``0`` for "SCALAR", ``1`` for "VEC2", ``2`` for "VEC3", ``3`` for "VEC4", ``4`` for "MAT2", ``5`` for "MAT3", and ``6`` for "MAT4". +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Method Descriptions +------------------- + +.. _class_GLTFAccessor_method_from_dictionary: + +.. rst-class:: classref-method + +:ref:`GLTFAccessor` **from_dictionary**\ (\ dictionary\: :ref:`Dictionary`\ ) |static| :ref:`🔗` + +Creates a new GLTFAccessor instance by parsing the given :ref:`Dictionary`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_GLTFAccessor_method_to_dictionary: + +.. rst-class:: classref-method + +:ref:`Dictionary` **to_dictionary**\ (\ ) |const| :ref:`🔗` + +Serializes this GLTFAccessor instance into a :ref:`Dictionary`. + .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` diff --git a/classes/class_gltfbufferview.rst b/classes/class_gltfbufferview.rst index 0f1dc590d..76f12f1ad 100644 --- a/classes/class_gltfbufferview.rst +++ b/classes/class_gltfbufferview.rst @@ -62,9 +62,13 @@ Methods .. table:: :widths: auto + +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`GLTFBufferView` | :ref:`from_dictionary`\ (\ dictionary\: :ref:`Dictionary`\ ) |static| | +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedByteArray` | :ref:`load_buffer_view_data`\ (\ state\: :ref:`GLTFState`\ ) |const| | +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary` | :ref:`to_dictionary`\ (\ ) |const| | + +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -182,6 +186,18 @@ The stride, in bytes, between interleaved data. If ``-1``, this buffer view is n Method Descriptions ------------------- +.. _class_GLTFBufferView_method_from_dictionary: + +.. rst-class:: classref-method + +:ref:`GLTFBufferView` **from_dictionary**\ (\ dictionary\: :ref:`Dictionary`\ ) |static| :ref:`🔗` + +Creates a new GLTFBufferView instance by parsing the given :ref:`Dictionary`. + +.. rst-class:: classref-item-separator + +---- + .. _class_GLTFBufferView_method_load_buffer_view_data: .. rst-class:: classref-method @@ -190,6 +206,18 @@ Method Descriptions Loads the buffer view data from the buffer referenced by this buffer view in the given :ref:`GLTFState`. Interleaved data with a byte stride is not yet supported by this method. The data is returned as a :ref:`PackedByteArray`. +.. rst-class:: classref-item-separator + +---- + +.. _class_GLTFBufferView_method_to_dictionary: + +.. rst-class:: classref-method + +:ref:`Dictionary` **to_dictionary**\ (\ ) |const| :ref:`🔗` + +Serializes this GLTFBufferView instance into a :ref:`Dictionary`. + .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` diff --git a/classes/class_immediatemesh.rst b/classes/class_immediatemesh.rst index 0d2e134c9..2db97ce9f 100644 --- a/classes/class_immediatemesh.rst +++ b/classes/class_immediatemesh.rst @@ -186,6 +186,8 @@ Set the normal attribute that will be pushed with the next vertex. Set the tangent attribute that will be pushed with the next vertex. +\ **Note:** Even though ``tangent`` is a :ref:`Plane`, it does not directly represent the tangent plane. Its :ref:`Plane.x`, :ref:`Plane.y`, and :ref:`Plane.z` represent the tangent vector and :ref:`Plane.d` should be either ``-1`` or ``1``. See also :ref:`Mesh.ARRAY_TANGENT`. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_logger.rst b/classes/class_logger.rst index 2f9759e46..8db9223fc 100644 --- a/classes/class_logger.rst +++ b/classes/class_logger.rst @@ -107,6 +107,8 @@ Additionally, ``script_backtraces`` provides backtraces for each of the script l \ **Note:** ``script_backtraces`` will not contain any captured variables, due to its prohibitively high cost. To get those you will need to capture the backtraces yourself, from within the **Logger** virtual methods, using :ref:`Engine.capture_script_backtraces()`. +\ **Note:** Logging errors from this method using functions like :ref:`@GlobalScope.push_error()` or :ref:`@GlobalScope.push_warning()` is not supported, as it could cause infinite recursion. These errors will only show up in the console output. + .. rst-class:: classref-item-separator ---- @@ -121,6 +123,8 @@ Called when a message is logged. If ``error`` is ``true``, then this message was \ **Warning:** This method will be called from threads other than the main thread, possibly at the same time, so you will need to have some kind of thread-safety in your implementation of it, like a :ref:`Mutex`. +\ **Note:** Logging another message from this method using functions like :ref:`@GlobalScope.print()` is not supported, as it could cause infinite recursion. These messages will only show up in the console output. + .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` diff --git a/classes/class_mainloop.rst b/classes/class_mainloop.rst index b6c450082..851189548 100644 --- a/classes/class_mainloop.rst +++ b/classes/class_mainloop.rst @@ -171,7 +171,7 @@ Implemented on desktop platforms if the crash handler is enabled. Notification received from the OS when an update of the Input Method Engine occurs (e.g. change of IME cursor position or composition string). -Specific to the macOS platform. +Implemented on desktop and web platforms. .. _class_MainLoop_constant_NOTIFICATION_APPLICATION_RESUMED: diff --git a/classes/class_meshdatatool.rst b/classes/class_meshdatatool.rst index fe63a21e2..99ab80a7e 100644 --- a/classes/class_meshdatatool.rst +++ b/classes/class_meshdatatool.rst @@ -615,6 +615,8 @@ Sets the normal of the given vertex. Sets the tangent of the given vertex. +\ **Note:** Even though ``tangent`` is a :ref:`Plane`, it does not directly represent the tangent plane. Its :ref:`Plane.x`, :ref:`Plane.y`, and :ref:`Plane.z` represent the tangent vector and :ref:`Plane.d` should be either ``-1`` or ``1``. See also :ref:`Mesh.ARRAY_TANGENT`. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_multimesh.rst b/classes/class_multimesh.rst index 39b5daedc..cdf0d28a7 100644 --- a/classes/class_multimesh.rst +++ b/classes/class_multimesh.rst @@ -102,6 +102,8 @@ Methods +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`reset_instance_physics_interpolation`\ (\ instance\: :ref:`int`\ ) | +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`reset_instances_physics_interpolation`\ (\ ) | + +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_buffer_interpolated`\ (\ buffer_curr\: :ref:`PackedFloat32Array`, buffer_prev\: :ref:`PackedFloat32Array`\ ) | +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_instance_color`\ (\ instance\: :ref:`int`, color\: :ref:`Color`\ ) | @@ -487,6 +489,20 @@ This allows you to move instances instantaneously, and should usually be used wh ---- +.. _class_MultiMesh_method_reset_instances_physics_interpolation: + +.. rst-class:: classref-method + +|void| **reset_instances_physics_interpolation**\ (\ ) :ref:`🔗` + +When using *physics interpolation*, this function allows you to prevent interpolation for all instances in the current physics tick. + +This allows you to move all instances instantaneously, and should usually be used when initially placing instances to prevent graphical glitches. + +.. rst-class:: classref-item-separator + +---- + .. _class_MultiMesh_method_set_buffer_interpolated: .. rst-class:: classref-method diff --git a/classes/class_node.rst b/classes/class_node.rst index f14b61aff..104b748d8 100644 --- a/classes/class_node.rst +++ b/classes/class_node.rst @@ -1099,7 +1099,7 @@ Implemented on desktop platforms, if the crash handler is enabled. Notification received from the OS when an update of the Input Method Engine occurs (e.g. change of IME cursor position or composition string). -Implemented only on macOS. +Implemented on desktop and web platforms. .. _class_Node_constant_NOTIFICATION_APPLICATION_RESUMED: diff --git a/classes/class_object.rst b/classes/class_object.rst index 35ef7cef2..65ae7e17f 100644 --- a/classes/class_object.rst +++ b/classes/class_object.rst @@ -377,6 +377,8 @@ Combined with :ref:`_set()` and :ref:`_get_pro +\ **Note:** Unlike other virtual methods, this method is called automatically for every script that overrides it. This means that the base implementation should not be called via ``super`` in GDScript or its equivalents in other languages. The bottom-most sub-class will be called first, with subsequent calls ascending the class hierarchy. The call chain will stop on the first class that returns a non-``null`` value. + .. rst-class:: classref-item-separator ---- @@ -505,6 +507,8 @@ The example below displays a list of numbers shown as words going from ``ZERO`` \ **Note:** If the object's script is not :ref:`@GDScript.@tool`, this method will not be called in the editor. +\ **Note:** Unlike other virtual methods, this method is called automatically for every script that overrides it. This means that the base implementation should not be called via ``super`` in GDScript or its equivalents in other languages. The bottom-most sub-class will be called first, with subsequent calls ascending the class hierarchy. + .. rst-class:: classref-item-separator ---- @@ -621,7 +625,7 @@ Called when the object receives a notification, which can be identified in ``wha \ **Note:** The base **Object** defines a few notifications (:ref:`NOTIFICATION_POSTINITIALIZE` and :ref:`NOTIFICATION_PREDELETE`). Inheriting classes such as :ref:`Node` define a lot more notifications, which are also received by this method. -\ **Note:** Unlike other virtual methods, this method is called automatically for every script that overrides it. This means that the base implementation should not be called via ``super`` in GDScript or its equivalents in other languages. +\ **Note:** Unlike other virtual methods, this method is called automatically for every script that overrides it. This means that the base implementation should not be called via ``super`` in GDScript or its equivalents in other languages. The bottom-most sub-class will be called first, with subsequent calls ascending the class hierarchy. .. rst-class:: classref-item-separator @@ -637,6 +641,8 @@ Override this method to customize the given ``property``'s revert behavior. Shou \ **Note:** This method must return consistently, regardless of the current value of the ``property``. +\ **Note:** Unlike other virtual methods, this method is called automatically for every script that overrides it. This means that the base implementation should not be called via ``super`` in GDScript or its equivalents in other languages. The bottom-most sub-class will be called first, with subsequent calls ascending the class hierarchy. The call chain will stop on the first class that returns ``true``. + .. rst-class:: classref-item-separator ---- @@ -651,6 +657,8 @@ Override this method to customize the given ``property``'s revert behavior. Shou \ **Note:** :ref:`_property_can_revert()` must also be overridden for this method to be called. +\ **Note:** Unlike other virtual methods, this method is called automatically for every script that overrides it. This means that the base implementation should not be called via ``super`` in GDScript or its equivalents in other languages. The bottom-most sub-class will be called first, with subsequent calls ascending the class hierarchy. The call chain will stop on the first class that returns a non-``null`` value. + .. rst-class:: classref-item-separator ---- @@ -716,6 +724,8 @@ Combined with :ref:`_get()` and :ref:`_get_pro +\ **Note:** Unlike other virtual methods, this method is called automatically for every script that overrides it. This means that the base implementation should not be called via ``super`` in GDScript or its equivalents in other languages. The bottom-most sub-class will be called first, with subsequent calls ascending the class hierarchy. The call chain will stop on the first class that returns ``true``. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_openxrapiextension.rst b/classes/class_openxrapiextension.rst index ee0f38091..13c7f7852 100644 --- a/classes/class_openxrapiextension.rst +++ b/classes/class_openxrapiextension.rst @@ -566,6 +566,8 @@ Releases the image of the provided swapchain. Registers the given extension as a composition layer provider. +\ **Note:** This cannot be called after the OpenXR session has started. However, it can be called in :ref:`OpenXRExtensionWrapper._on_session_created()`. + .. rst-class:: classref-item-separator ---- @@ -578,6 +580,8 @@ Registers the given extension as a composition layer provider. Registers the given extension as modifying frame info via the :ref:`OpenXRExtensionWrapper._set_frame_wait_info_and_get_next_pointer()`, :ref:`OpenXRExtensionWrapper._set_view_locate_info_and_get_next_pointer()`, or :ref:`OpenXRExtensionWrapper._set_frame_end_info_and_get_next_pointer()` virtual methods. +\ **Note:** This cannot be called after the OpenXR session has started. However, it can be called in :ref:`OpenXRExtensionWrapper._on_session_created()`. + .. rst-class:: classref-item-separator ---- @@ -590,6 +594,8 @@ Registers the given extension as modifying frame info via the :ref:`OpenXRExtens Registers the given extension as a provider of additional data structures to projections views. +\ **Note:** This cannot be called after the OpenXR session has started. However, it can be called in :ref:`OpenXRExtensionWrapper._on_session_created()`. + .. rst-class:: classref-item-separator ---- @@ -698,6 +704,8 @@ Creates a :ref:`Transform3D` from an `XrPosef `. +When :ref:`OpenXRInterface` is initialized as the primary interface and any :ref:`Viewport` has :ref:`Viewport.use_xr` set to ``true``, OpenXR will become involved in Godot's rendering process. If :ref:`ProjectSettings.rendering/driver/threads/thread_model` is set to "Separate", Godot's renderer will run on its own thread, and special care must be taken in all **OpenXRExtensionWrapper**\ s in order to prevent crashes or unexpected behavior. Some virtual methods will be called on the render thread, and any data they access should not be directly written to on the main thread. This is to prevent two potential issues: + +1. Changes intended for the next frame, taking effect on the current frame. When using the "Separate" thread model, the main thread will immediately start working on the next frame while the render thread may still be rendering the current frame. If the main thread changes anything used by the render thread directly, the change could end up being used one frame earlier than intended. + +2. Reading and writing to the same data at the same time from different threads can lead to the render thread using data in an invalid state. + +In most cases, the solution is to use :ref:`RenderingServer.call_on_render_thread()` to schedule :ref:`Callable`\ s to write to any data used on the render thread. When using the "Separate" thread model, these :ref:`Callable`\ s will run after the renderer finishes the current frame and before it starts rendering the next frame. When not using this mode, they'll run immediately, so it's recommended to always use :ref:`RenderingServer.call_on_render_thread()` in these cases, which will allow your code to do the right thing regardless of the thread model. + +Any virtual methods that run on the render thread will be noted below. + .. rst-class:: classref-reftable-group Methods @@ -138,6 +148,8 @@ Returns a pointer to an ``XrCompositionLayerBaseHeader`` struct to provide the g This will only be called if the extension previously registered itself with :ref:`OpenXRAPIExtension.register_composition_layer_provider()`. +\ **Note:** This virtual method will be called on the render thread. Additionally, the data it returns will be used shortly after this method is called, so it needs to remain valid until the next time :ref:`_on_pre_render()` runs. + .. rst-class:: classref-item-separator ---- @@ -152,6 +164,8 @@ Returns the number of composition layers this extension wrapper provides via :re This will only be called if the extension previously registered itself with :ref:`OpenXRAPIExtension.register_composition_layer_provider()`. +\ **Note:** This virtual method will be called on the render thread. Additionally, the data it returns will be used shortly after this method is called, so it needs to remain valid until the next time :ref:`_on_pre_render()` runs. + .. rst-class:: classref-item-separator ---- @@ -166,6 +180,8 @@ Returns an integer that will be used to sort the given composition layer provide This will only be called if the extension previously registered itself with :ref:`OpenXRAPIExtension.register_composition_layer_provider()`. +\ **Note:** This virtual method will be called on the render thread. Additionally, the data it returns will be used shortly after this method is called, so it needs to remain valid until the next time :ref:`_on_pre_render()` runs. + .. rst-class:: classref-item-separator ---- @@ -206,6 +222,8 @@ Returns a :ref:`PackedStringArray` of positional tracke Gets an array of :ref:`Dictionary`\ s that represent properties, just like :ref:`Object._get_property_list()`, that will be added to :ref:`OpenXRCompositionLayer` nodes. +\ **Note:** This virtual method will be called on the render thread. + .. rst-class:: classref-item-separator ---- @@ -230,6 +248,8 @@ Gets a :ref:`Dictionary` containing the default values for the Called before the OpenXR instance is created. +\ **Note:** This virtual method will be called on the main thread, however, it will be called *before* OpenXR becomes involved in rendering, so it is safe to write to data that will be used by the render thread. + .. rst-class:: classref-item-separator ---- @@ -254,6 +274,8 @@ Called when there is an OpenXR event to process. When implementing, return ``tru Called right after the OpenXR instance is created. +\ **Note:** This virtual method will be called on the main thread, however, it will be called *before* OpenXR becomes involved in rendering, so it is safe to write to data that will be used by the render thread. + .. rst-class:: classref-item-separator ---- @@ -266,6 +288,8 @@ Called right after the OpenXR instance is created. Called right before the OpenXR instance is destroyed. +\ **Note:** This virtual method will be called on the main thread, however, it will be called *after* OpenXR is done being involved in rendering, so it is safe to write to data that was used by the render thread. + .. rst-class:: classref-item-separator ---- @@ -278,6 +302,8 @@ Called right before the OpenXR instance is destroyed. Called right after the main swapchains are (re)created. +\ **Note:** This virtual method will be called on the render thread. + .. rst-class:: classref-item-separator ---- @@ -292,6 +318,8 @@ Called right after the given viewport is rendered. \ **Note:** The draw commands might only be queued at this point, not executed. +\ **Note:** This virtual method will be called on the render thread. + .. rst-class:: classref-item-separator ---- @@ -304,6 +332,8 @@ Called right after the given viewport is rendered. Called right before the given viewport is rendered. +\ **Note:** This virtual method will be called on the render thread. + .. rst-class:: classref-item-separator ---- @@ -316,6 +346,8 @@ Called right before the given viewport is rendered. Called right before the XR viewports begin their rendering step. +\ **Note:** This virtual method will be called on the render thread. + .. rst-class:: classref-item-separator ---- @@ -354,6 +386,8 @@ Extensions should also provide metadata regardless of whether they are supported Called right after the OpenXR session is created. +\ **Note:** This virtual method will be called on the main thread, however, it will be called *before* OpenXR becomes involved in rendering, so it is safe to write to data that will be used by the render thread. + .. rst-class:: classref-item-separator ---- @@ -366,6 +400,8 @@ Called right after the OpenXR session is created. Called right before the OpenXR session is destroyed. +\ **Note:** This virtual method will be called on the main thread, however, it will be called *after* OpenXR is done being involved in rendering, so it is safe to write to data that was used by the render thread. + .. rst-class:: classref-item-separator ---- @@ -502,6 +538,8 @@ Adds additional data structures to Android surface swapchains created by :ref:`O \ ``property_values`` contains the values of the properties returned by :ref:`_get_viewport_composition_layer_extension_properties()`. +\ **Note:** This virtual method will be called on the render thread. + .. rst-class:: classref-item-separator ---- @@ -516,6 +554,8 @@ Adds additional data structures to ``XrFrameEndInfo``. This will only be called if the extension previously registered itself with :ref:`OpenXRAPIExtension.register_frame_info_extension()`. +\ **Note:** This virtual method will be called on the render thread. Additionally, the data it returns will be used shortly after this method is called, so it needs to remain valid until the next time :ref:`_on_pre_render()` runs. + .. rst-class:: classref-item-separator ---- @@ -530,6 +570,8 @@ Adds additional data structures to ``XrFrameWaitInfo``. This will only be called if the extension previously registered itself with :ref:`OpenXRAPIExtension.register_frame_info_extension()`. +\ **Note:** This virtual method will be called on the render thread. + .. rst-class:: classref-item-separator ---- @@ -566,6 +608,8 @@ Adds additional data structures when the OpenXR instance is created. Adds additional data structures to the projection view of the given ``view_index``. +\ **Note:** This virtual method will be called on the render thread. Additionally, the data it returns will be used shortly after this method is called, so it needs to remain valid until the next time :ref:`_on_pre_render()` runs. + .. rst-class:: classref-item-separator ---- @@ -628,6 +672,8 @@ Adds additional data structures to ``XrViewLocateInfo``. This will only be called if the extension previously registered itself with :ref:`OpenXRAPIExtension.register_frame_info_extension()`. +\ **Note:** This virtual method will be called on the render thread. Additionally, the data it returns will be used shortly after this method is called, so it needs to remain valid until the next time :ref:`_on_pre_render()` runs. + .. rst-class:: classref-item-separator ---- @@ -644,6 +690,8 @@ Adds additional data structures to composition layers created by :ref:`OpenXRCom \ ``layer`` is a pointer to an ``XrCompositionLayerBaseHeader`` struct. +\ **Note:** This virtual method will be called on the render thread. Additionally, the data it returns will be used shortly after this method is called, so it needs to remain valid until the next time :ref:`_on_pre_render()` runs. + .. rst-class:: classref-item-separator ---- @@ -668,6 +716,8 @@ Returns the created :ref:`OpenXRAPIExtension`, which c Registers the extension. This should happen at core module initialization level. +\ **Note:** This cannot be called once OpenXR has been initialized. + .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` diff --git a/classes/class_performance.rst b/classes/class_performance.rst index 62a77f55f..ea467a98e 100644 --- a/classes/class_performance.rst +++ b/classes/class_performance.rst @@ -37,21 +37,23 @@ Methods .. table:: :widths: auto - +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`add_custom_monitor`\ (\ id\: :ref:`StringName`, callable\: :ref:`Callable`, arguments\: :ref:`Array` = []\ ) | - +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Variant` | :ref:`get_custom_monitor`\ (\ id\: :ref:`StringName`\ ) | - +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Array`\[:ref:`StringName`\] | :ref:`get_custom_monitor_names`\ (\ ) | - +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`get_monitor`\ (\ monitor\: :ref:`Monitor`\ ) |const| | - +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`get_monitor_modification_time`\ (\ ) | - +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`has_custom_monitor`\ (\ id\: :ref:`StringName`\ ) | - +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`remove_custom_monitor`\ (\ id\: :ref:`StringName`\ ) | - +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`add_custom_monitor`\ (\ id\: :ref:`StringName`, callable\: :ref:`Callable`, arguments\: :ref:`Array` = [], type\: :ref:`MonitorType` = 0\ ) | + +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant` | :ref:`get_custom_monitor`\ (\ id\: :ref:`StringName`\ ) | + +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Array`\[:ref:`StringName`\] | :ref:`get_custom_monitor_names`\ (\ ) | + +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedInt32Array` | :ref:`get_custom_monitor_types`\ (\ ) | + +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_monitor`\ (\ monitor\: :ref:`Monitor`\ ) |const| | + +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_monitor_modification_time`\ (\ ) | + +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`has_custom_monitor`\ (\ id\: :ref:`StringName`\ ) | + +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`remove_custom_monitor`\ (\ id\: :ref:`StringName`\ ) | + +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -550,6 +552,48 @@ Number of active navigation obstacles in the :ref:`NavigationServer3D` enum. +.. rst-class:: classref-item-separator + +---- + +.. _enum_Performance_MonitorType: + +.. rst-class:: classref-enumeration + +enum **MonitorType**: :ref:`🔗` + +.. _class_Performance_constant_MONITOR_TYPE_QUANTITY: + +.. rst-class:: classref-enumeration-constant + +:ref:`MonitorType` **MONITOR_TYPE_QUANTITY** = ``0`` + +Monitor output is formatted as an integer value. + +.. _class_Performance_constant_MONITOR_TYPE_MEMORY: + +.. rst-class:: classref-enumeration-constant + +:ref:`MonitorType` **MONITOR_TYPE_MEMORY** = ``1`` + +Monitor output is formatted as computer memory. Submitted values should represent a number of bytes. + +.. _class_Performance_constant_MONITOR_TYPE_TIME: + +.. rst-class:: classref-enumeration-constant + +:ref:`MonitorType` **MONITOR_TYPE_TIME** = ``2`` + +Monitor output is formatted as time in milliseconds. Submitted values should represent a time in seconds (not milliseconds). + +.. _class_Performance_constant_MONITOR_TYPE_PERCENTAGE: + +.. rst-class:: classref-enumeration-constant + +:ref:`MonitorType` **MONITOR_TYPE_PERCENTAGE** = ``3`` + +Monitor output is formatted as a percentage. Submitted values should represent a fractional value rather than the percentage directly, e.g. ``0.5`` for ``50.00%``. + .. rst-class:: classref-section-separator ---- @@ -563,7 +607,7 @@ Method Descriptions .. rst-class:: classref-method -|void| **add_custom_monitor**\ (\ id\: :ref:`StringName`, callable\: :ref:`Callable`, arguments\: :ref:`Array` = []\ ) :ref:`🔗` +|void| **add_custom_monitor**\ (\ id\: :ref:`StringName`, callable\: :ref:`Callable`, arguments\: :ref:`Array` = [], type\: :ref:`MonitorType` = 0\ ) :ref:`🔗` Adds a custom monitor with the name ``id``. You can specify the category of the monitor using slash delimiters in ``id`` (for example: ``"Game/NumberOfNPCs"``). If there is more than one slash delimiter, then the default category is used. The default category is ``"Custom"``. Prints an error if given ``id`` is already present. @@ -651,6 +695,18 @@ Returns the names of active custom monitors in an :ref:`Array`. ---- +.. _class_Performance_method_get_custom_monitor_types: + +.. rst-class:: classref-method + +:ref:`PackedInt32Array` **get_custom_monitor_types**\ (\ ) :ref:`🔗` + +Returns the :ref:`MonitorType` values of active custom monitors in an :ref:`Array`. + +.. rst-class:: classref-item-separator + +---- + .. _class_Performance_method_get_monitor: .. rst-class:: classref-method diff --git a/classes/class_projectsettings.rst b/classes/class_projectsettings.rst index 15084bff3..1bfb25cf3 100644 --- a/classes/class_projectsettings.rst +++ b/classes/class_projectsettings.rst @@ -59,14 +59,14 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`application/boot_splash/bg_color` | ``Color(0.14, 0.14, 0.14, 1)`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`application/boot_splash/fullsize` | ``true`` | - +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`application/boot_splash/image` | ``""`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`application/boot_splash/minimum_display_time` | ``0`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`application/boot_splash/show_image` | ``true`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`application/boot_splash/stretch_mode` | ``1`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`application/boot_splash/use_filter` | ``true`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`application/config/auto_accept_quit` | ``true`` | @@ -537,6 +537,8 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`editor/import/use_multiple_threads` | ``true`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`editor/movie_writer/audio_bit_depth` | ``16`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`editor/movie_writer/disable_vsync` | ``false`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`editor/movie_writer/fps` | ``60`` | @@ -589,10 +591,10 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`filesystem/import/fbx2gltf/enabled.web` | ``false`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`gui/common/always_show_focus_state` | ``false`` | - +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`gui/common/default_scroll_deadzone` | ``0`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`gui/common/show_focus_state_on_pointer_event` | ``1`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`gui/common/snap_controls_to_pixels` | ``true`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`gui/common/swap_cancel_ok` | ``0`` | @@ -635,6 +637,10 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`input/ui_cancel` | | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary` | :ref:`input/ui_close_dialog` | | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary` | :ref:`input/ui_close_dialog.macos` | | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`input/ui_colorpicker_delete_preset` | | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`input/ui_copy` | | @@ -1527,7 +1533,7 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`rendering/environment/glow/upscale_mode.mobile` | ``0`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`rendering/environment/screen_space_reflection/roughness_quality` | ``1`` | + | :ref:`bool` | :ref:`rendering/environment/screen_space_reflection/half_size` | ``true`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`rendering/environment/ssao/adaptive_target` | ``0.5`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ @@ -2040,18 +2046,6 @@ Background color for the boot splash. ---- -.. _class_ProjectSettings_property_application/boot_splash/fullsize: - -.. rst-class:: classref-property - -:ref:`bool` **application/boot_splash/fullsize** = ``true`` :ref:`🔗` - -If ``true``, scale the boot splash image to the full window size (preserving the aspect ratio) when the engine starts. If ``false``, the engine will leave it at the default pixel size. - -.. rst-class:: classref-item-separator - ----- - .. _class_ProjectSettings_property_application/boot_splash/image: .. rst-class:: classref-property @@ -2094,6 +2088,18 @@ If ``true``, displays the image specified in :ref:`application/boot_splash/image ---- +.. _class_ProjectSettings_property_application/boot_splash/stretch_mode: + +.. rst-class:: classref-property + +:ref:`int` **application/boot_splash/stretch_mode** = ``1`` :ref:`🔗` + +Specifies how the splash image will be stretched. For the original size without stretching, set to disabled. See :ref:`SplashStretchMode` constants for more information. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_application/boot_splash/use_filter: .. rst-class:: classref-property @@ -5112,6 +5118,18 @@ If ``true`` importing of resources is run on multiple threads. ---- +.. _class_ProjectSettings_property_editor/movie_writer/audio_bit_depth: + +.. rst-class:: classref-property + +:ref:`int` **editor/movie_writer/audio_bit_depth** = ``16`` :ref:`🔗` + +Number of bits per audio sample written to the ``.avi`` file. Only 16 and 32-bit are supported. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_editor/movie_writer/disable_vsync: .. rst-class:: classref-property @@ -5460,18 +5478,6 @@ Override for :ref:`filesystem/import/fbx2gltf/enabled` **gui/common/always_show_focus_state** = ``false`` :ref:`🔗` - -If ``true``, :ref:`Control`\ s will always show if they're focused, even if said focus was gained via mouse/touch input. - -.. rst-class:: classref-item-separator - ----- - .. _class_ProjectSettings_property_gui/common/default_scroll_deadzone: .. rst-class:: classref-property @@ -5484,6 +5490,24 @@ Default value for :ref:`ScrollContainer.scroll_deadzone` **gui/common/show_focus_state_on_pointer_event** = ``1`` :ref:`🔗` + +Determines whether a :ref:`Control` should visually indicate focus when said focus is gained using a mouse or touch input. + +- **Never** (``0``) show the focused state for mouse/touch input. + +- **Control Supports Keyboard Input** (``1``) shows the focused state even when gained via mouse/touch input (similar to how browsers handle focus). + +- **Always** (``2``) show the focused state, even if said focus was gained via mouse/touch input. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_gui/common/snap_controls_to_pixels: .. rst-class:: classref-property @@ -5766,6 +5790,32 @@ Default :ref:`InputEventAction` to discard a modal or pe ---- +.. _class_ProjectSettings_property_input/ui_close_dialog: + +.. rst-class:: classref-property + +:ref:`Dictionary` **input/ui_close_dialog** :ref:`🔗` + +Default :ref:`InputEventAction` to close a dialog window. + +\ **Note:** Default ``ui_*`` actions cannot be removed as they are necessary for the internal logic of several :ref:`Control`\ s. The events assigned to the action can however be modified. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_input/ui_close_dialog.macos: + +.. rst-class:: classref-property + +:ref:`Dictionary` **input/ui_close_dialog.macos** :ref:`🔗` + +macOS specific override for the shortcut to close a dialog window. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_input/ui_colorpicker_delete_preset: .. rst-class:: classref-property @@ -11566,13 +11616,13 @@ Lower-end override for :ref:`rendering/environment/glow/upscale_mode` **rendering/environment/screen_space_reflection/roughness_quality** = ``1`` :ref:`🔗` +:ref:`bool` **rendering/environment/screen_space_reflection/half_size** = ``true`` :ref:`🔗` -Sets the quality for rough screen-space reflections. Turning off will make all screen space reflections sharp, while higher values make rough reflections look better. +If ``true``, screen-space reflections will be rendered at half size and then upscaled before being added to the scene. This is faster but may look pixelated or cause flickering. If ``false``, screen-space reflections will be rendered at full size. .. rst-class:: classref-item-separator @@ -13200,7 +13250,7 @@ Use double-buffering with :ref:`DisplayServer.VSYNC_ENABLED`__, an interactive interface that simulates presentation to better understand how it is affected by different variables under various conditions. -\ **Note:** This property is only read when the project starts. There is currently no way to change this value at run-time. +\ **Note:** Changes to this setting will only be applied on startup or when the swapchain is recreated (e.g. when setting the V-Sync mode). \ **Note:** Some platforms may restrict the actual value. diff --git a/classes/class_renderingdevice.rst b/classes/class_renderingdevice.rst index 666894c89..dedf11354 100644 --- a/classes/class_renderingdevice.rst +++ b/classes/class_renderingdevice.rst @@ -3322,11 +3322,35 @@ Uniform buffer uniform. Input attachment uniform. +.. _class_RenderingDevice_constant_UNIFORM_TYPE_UNIFORM_BUFFER_DYNAMIC: + +.. rst-class:: classref-enumeration-constant + +:ref:`UniformType` **UNIFORM_TYPE_UNIFORM_BUFFER_DYNAMIC** = ``10`` + +Same as UNIFORM_TYPE_UNIFORM_BUFFER but for buffers created with BUFFER_CREATION_DYNAMIC_PERSISTENT_BIT. + +\ **Note:** This flag is not available to GD users due to being too dangerous (i.e. wrong usage can result in visual glitches). + +It's exposed in case GD users receive a buffer created with such flag from Godot. + +.. _class_RenderingDevice_constant_UNIFORM_TYPE_STORAGE_BUFFER_DYNAMIC: + +.. rst-class:: classref-enumeration-constant + +:ref:`UniformType` **UNIFORM_TYPE_STORAGE_BUFFER_DYNAMIC** = ``11`` + +Same as UNIFORM_TYPE_STORAGE_BUFFER but for buffers created with BUFFER_CREATION_DYNAMIC_PERSISTENT_BIT. + +\ **Note:** This flag is not available to GD users due to being too dangerous (i.e. wrong usage can result in visual glitches). + +It's exposed in case GD users receive a buffer created with such flag from Godot. + .. _class_RenderingDevice_constant_UNIFORM_TYPE_MAX: .. rst-class:: classref-enumeration-constant -:ref:`UniformType` **UNIFORM_TYPE_MAX** = ``10`` +:ref:`UniformType` **UNIFORM_TYPE_MAX** = ``12`` Represents the size of the :ref:`UniformType` enum. diff --git a/classes/class_renderingserver.rst b/classes/class_renderingserver.rst index d26fb44b1..00f5ff6c9 100644 --- a/classes/class_renderingserver.rst +++ b/classes/class_renderingserver.rst @@ -391,6 +391,8 @@ Methods +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`environment_set_ssr`\ (\ env\: :ref:`RID`, enable\: :ref:`bool`, max_steps\: :ref:`int`, fade_in\: :ref:`float`, fade_out\: :ref:`float`, depth_tolerance\: :ref:`float`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`environment_set_ssr_half_size`\ (\ half_size\: :ref:`bool`\ ) | + +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`environment_set_ssr_roughness_quality`\ (\ quality\: :ref:`EnvironmentSSRRoughnessQuality`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`environment_set_tonemap`\ (\ env\: :ref:`RID`, tone_mapper\: :ref:`EnvironmentToneMapper`, exposure\: :ref:`float`, white\: :ref:`float`\ ) | @@ -697,6 +699,8 @@ Methods +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`multimesh_instance_set_transform_2d`\ (\ multimesh\: :ref:`RID`, index\: :ref:`int`, transform\: :ref:`Transform2D`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`multimesh_instances_reset_physics_interpolation`\ (\ multimesh\: :ref:`RID`\ ) | + +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`multimesh_set_buffer`\ (\ multimesh\: :ref:`RID`, buffer\: :ref:`PackedFloat32Array`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`multimesh_set_buffer_interpolated`\ (\ multimesh\: :ref:`RID`, buffer\: :ref:`PackedFloat32Array`, buffer_previous\: :ref:`PackedFloat32Array`\ ) | @@ -863,6 +867,8 @@ Methods +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_boot_image`\ (\ image\: :ref:`Image`, color\: :ref:`Color`, scale\: :ref:`bool`, use_filter\: :ref:`bool` = true\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_boot_image_with_stretch`\ (\ image\: :ref:`Image`, color\: :ref:`Color`, stretch_mode\: :ref:`SplashStretchMode`, use_filter\: :ref:`bool` = true\ ) | + +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_debug_generate_wireframes`\ (\ generate\: :ref:`bool`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_default_clear_color`\ (\ color\: :ref:`Color`\ ) | @@ -5896,6 +5902,64 @@ Represents the size of the :ref:`PipelineSource` + +.. _class_RenderingServer_constant_SPLASH_STRETCH_MODE_DISABLED: + +.. rst-class:: classref-enumeration-constant + +:ref:`SplashStretchMode` **SPLASH_STRETCH_MODE_DISABLED** = ``0`` + +No stretching is applied. + +.. _class_RenderingServer_constant_SPLASH_STRETCH_MODE_KEEP: + +.. rst-class:: classref-enumeration-constant + +:ref:`SplashStretchMode` **SPLASH_STRETCH_MODE_KEEP** = ``1`` + +Stretches image to fullscreen while preserving aspect ratio. + +.. _class_RenderingServer_constant_SPLASH_STRETCH_MODE_KEEP_WIDTH: + +.. rst-class:: classref-enumeration-constant + +:ref:`SplashStretchMode` **SPLASH_STRETCH_MODE_KEEP_WIDTH** = ``2`` + +Stretches the height of the image based on the width of the screen. + +.. _class_RenderingServer_constant_SPLASH_STRETCH_MODE_KEEP_HEIGHT: + +.. rst-class:: classref-enumeration-constant + +:ref:`SplashStretchMode` **SPLASH_STRETCH_MODE_KEEP_HEIGHT** = ``3`` + +Stretches the width of the image based on the height of the screen. + +.. _class_RenderingServer_constant_SPLASH_STRETCH_MODE_COVER: + +.. rst-class:: classref-enumeration-constant + +:ref:`SplashStretchMode` **SPLASH_STRETCH_MODE_COVER** = ``4`` + +Stretches the image to cover the entire screen while preserving aspect ratio. + +.. _class_RenderingServer_constant_SPLASH_STRETCH_MODE_IGNORE: + +.. rst-class:: classref-enumeration-constant + +:ref:`SplashStretchMode` **SPLASH_STRETCH_MODE_IGNORE** = ``5`` + +Stretches the image to cover the entire screen but doesn't preserve aspect ratio. + +.. rst-class:: classref-item-separator + +---- + .. _enum_RenderingServer_Features: .. rst-class:: classref-enumeration @@ -8190,15 +8254,25 @@ Sets the variables to be used with the screen-space reflections (SSR) post-proce ---- +.. _class_RenderingServer_method_environment_set_ssr_half_size: + +.. rst-class:: classref-method + +|void| **environment_set_ssr_half_size**\ (\ half_size\: :ref:`bool`\ ) :ref:`🔗` + +Sets whether screen-space reflections will be rendered at full or half size. Half size is faster, but may look pixelated or cause flickering. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingServer_method_environment_set_ssr_roughness_quality: .. rst-class:: classref-method |void| **environment_set_ssr_roughness_quality**\ (\ quality\: :ref:`EnvironmentSSRRoughnessQuality`\ ) :ref:`🔗` -.. container:: contribute - - There is currently no description for this method. Please help us by `contributing one `__! +**Deprecated:** This option no longer does anything. .. rst-class:: classref-item-separator @@ -10193,6 +10267,20 @@ Sets the :ref:`Transform2D` for this instance. For use when m ---- +.. _class_RenderingServer_method_multimesh_instances_reset_physics_interpolation: + +.. rst-class:: classref-method + +|void| **multimesh_instances_reset_physics_interpolation**\ (\ multimesh\: :ref:`RID`\ ) :ref:`🔗` + +Prevents physics interpolation for all instances during the current physics tick. + +This is useful when moving all instances to new locations, to give instantaneous changes rather than interpolation from the previous locations. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingServer_method_multimesh_set_buffer: .. rst-class:: classref-method @@ -11252,7 +11340,21 @@ Sets the screen-space roughness limiter parameters, such as whether it should be |void| **set_boot_image**\ (\ image\: :ref:`Image`, color\: :ref:`Color`, scale\: :ref:`bool`, use_filter\: :ref:`bool` = true\ ) :ref:`🔗` -Sets a boot image. The color defines the background color. If ``scale`` is ``true``, the image will be scaled to fit the screen size. If ``use_filter`` is ``true``, the image will be scaled with linear interpolation. If ``use_filter`` is ``false``, the image will be scaled with nearest-neighbor interpolation. +**Deprecated:** Use :ref:`set_boot_image_with_stretch()` instead. + +Sets a boot image. The ``color`` defines the background color. The value of ``scale`` indicates if the image will be scaled to fit the screen size. If ``use_filter`` is ``true``, the image will be scaled with linear interpolation. If ``use_filter`` is ``false``, the image will be scaled with nearest-neighbor interpolation. + +.. rst-class:: classref-item-separator + +---- + +.. _class_RenderingServer_method_set_boot_image_with_stretch: + +.. rst-class:: classref-method + +|void| **set_boot_image_with_stretch**\ (\ image\: :ref:`Image`, color\: :ref:`Color`, stretch_mode\: :ref:`SplashStretchMode`, use_filter\: :ref:`bool` = true\ ) :ref:`🔗` + +Sets a boot image. The ``color`` defines the background color. The value of ``stretch_mode`` indicates how the image will be stretched (see :ref:`SplashStretchMode` for possible values). If ``use_filter`` is ``true``, the image will be scaled with linear interpolation. If ``use_filter`` is ``false``, the image will be scaled with nearest-neighbor interpolation. .. rst-class:: classref-item-separator diff --git a/classes/class_scenetree.rst b/classes/class_scenetree.rst index a70ce4f24..49b022f54 100644 --- a/classes/class_scenetree.rst +++ b/classes/class_scenetree.rst @@ -81,6 +81,8 @@ Methods +--------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`change_scene_to_file`\ (\ path\: :ref:`String`\ ) | +--------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`change_scene_to_node`\ (\ node\: :ref:`Node`\ ) | + +--------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`change_scene_to_packed`\ (\ packed_scene\: :ref:`PackedScene`\ ) | +--------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`SceneTreeTimer` | :ref:`create_timer`\ (\ time_sec\: :ref:`float`, process_always\: :ref:`bool` = true, process_in_physics\: :ref:`bool` = false, ignore_time_scale\: :ref:`bool` = false\ ) | @@ -568,7 +570,33 @@ Changes the running scene to the one at the given ``path``, after loading it int Returns :ref:`@GlobalScope.OK` on success, :ref:`@GlobalScope.ERR_CANT_OPEN` if the ``path`` cannot be loaded into a :ref:`PackedScene`, or :ref:`@GlobalScope.ERR_CANT_CREATE` if that scene cannot be instantiated. -\ **Note:** See :ref:`change_scene_to_packed()` for details on the order of operations. +\ **Note:** See :ref:`change_scene_to_node()` for details on the order of operations. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SceneTree_method_change_scene_to_node: + +.. rst-class:: classref-method + +:ref:`Error` **change_scene_to_node**\ (\ node\: :ref:`Node`\ ) :ref:`🔗` + +Changes the running scene to the provided :ref:`Node`. Useful when you want to set up the new scene before changing. + +Returns :ref:`@GlobalScope.OK` on success, :ref:`@GlobalScope.ERR_INVALID_PARAMETER` if the ``node`` is ``null``, or :ref:`@GlobalScope.ERR_UNCONFIGURED` if the ``node`` is already inside the scene tree. + +\ **Note:** Operations happen in the following order when :ref:`change_scene_to_node()` is called: + +1. The current scene node is immediately removed from the tree. From that point, :ref:`Node.get_tree()` called on the current (outgoing) scene will return ``null``. :ref:`current_scene` will be ``null`` too, because the new scene is not available yet. + +2. At the end of the frame, the formerly current scene, already removed from the tree, will be deleted (freed from memory) and then the new scene node will be added to the tree. :ref:`Node.get_tree()` and :ref:`current_scene` will be back to working as usual. + +This ensures that both scenes aren't running at the same time, while still freeing the previous scene in a safe way similar to :ref:`Node.queue_free()`. + +If you want to reliably access the new scene, await the :ref:`scene_changed` signal. + +\ **Warning:** After using this method, the **SceneTree** will take ownership of the node and will free it automatically when changing scene again. Any references you had to that node will become invalid. .. rst-class:: classref-item-separator @@ -584,15 +612,7 @@ Changes the running scene to a new instance of the given :ref:`PackedScene` on success, :ref:`@GlobalScope.ERR_CANT_CREATE` if the scene cannot be instantiated, or :ref:`@GlobalScope.ERR_INVALID_PARAMETER` if the scene is invalid. -\ **Note:** Operations happen in the following order when :ref:`change_scene_to_packed()` is called: - -1. The current scene node is immediately removed from the tree. From that point, :ref:`Node.get_tree()` called on the current (outgoing) scene will return ``null``. :ref:`current_scene` will be ``null``, too, because the new scene is not available yet. - -2. At the end of the frame, the formerly current scene, already removed from the tree, will be deleted (freed from memory) and then the new scene will be instantiated and added to the tree. :ref:`Node.get_tree()` and :ref:`current_scene` will be back to working as usual. - -This ensures that both scenes aren't running at the same time, while still freeing the previous scene in a safe way similar to :ref:`Node.queue_free()`. - -If you want to reliably access the new scene, await the :ref:`scene_changed` signal. +\ **Note:** See :ref:`change_scene_to_node()` for details on the order of operations. .. rst-class:: classref-item-separator diff --git a/classes/class_surfacetool.rst b/classes/class_surfacetool.rst index be56f42a2..f20e1bce6 100644 --- a/classes/class_surfacetool.rst +++ b/classes/class_surfacetool.rst @@ -641,6 +641,8 @@ Specifies the smooth group to use for the *next* vertex. If this is never called Specifies a tangent to use for the *next* vertex. If every vertex needs to have this information set and you fail to submit it for the first vertex, this information may not be used at all. +\ **Note:** Even though ``tangent`` is a :ref:`Plane`, it does not directly represent the tangent plane. Its :ref:`Plane.x`, :ref:`Plane.y`, and :ref:`Plane.z` represent the tangent vector and :ref:`Plane.d` should be either ``-1`` or ``1``. See also :ref:`Mesh.ARRAY_TANGENT`. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_tabbar.rst b/classes/class_tabbar.rst index 619584e68..be3ccb307 100644 --- a/classes/class_tabbar.rst +++ b/classes/class_tabbar.rst @@ -50,6 +50,8 @@ Properties +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+ | :ref:`bool` | :ref:`select_with_rmb` | ``false`` | +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+ + | :ref:`bool` | :ref:`switch_on_drag_hover` | ``true`` | + +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+ | :ref:`AlignmentMode` | :ref:`tab_alignment` | ``0`` | +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+ | :ref:`CloseButtonDisplayPolicy` | :ref:`tab_close_display_policy` | ``0`` | @@ -141,65 +143,67 @@ Theme Properties .. table:: :widths: auto - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`Color` | :ref:`drop_mark_color` | ``Color(1, 1, 1, 1)`` | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`Color` | :ref:`font_disabled_color` | ``Color(0.875, 0.875, 0.875, 0.5)`` | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`Color` | :ref:`font_hovered_color` | ``Color(0.95, 0.95, 0.95, 1)`` | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`Color` | :ref:`font_outline_color` | ``Color(0, 0, 0, 1)`` | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`Color` | :ref:`font_selected_color` | ``Color(0.95, 0.95, 0.95, 1)`` | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`Color` | :ref:`font_unselected_color` | ``Color(0.7, 0.7, 0.7, 1)`` | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`Color` | :ref:`icon_disabled_color` | ``Color(1, 1, 1, 1)`` | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`Color` | :ref:`icon_hovered_color` | ``Color(1, 1, 1, 1)`` | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`Color` | :ref:`icon_selected_color` | ``Color(1, 1, 1, 1)`` | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`Color` | :ref:`icon_unselected_color` | ``Color(1, 1, 1, 1)`` | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`int` | :ref:`h_separation` | ``4`` | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`int` | :ref:`icon_max_width` | ``0`` | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`int` | :ref:`outline_size` | ``0`` | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`int` | :ref:`tab_separation` | ``0`` | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`Font` | :ref:`font` | | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`int` | :ref:`font_size` | | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`Texture2D` | :ref:`close` | | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`Texture2D` | :ref:`decrement` | | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`Texture2D` | :ref:`decrement_highlight` | | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`Texture2D` | :ref:`drop_mark` | | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`Texture2D` | :ref:`increment` | | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`Texture2D` | :ref:`increment_highlight` | | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`StyleBox` | :ref:`button_highlight` | | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`StyleBox` | :ref:`button_pressed` | | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`StyleBox` | :ref:`tab_disabled` | | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`StyleBox` | :ref:`tab_focus` | | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`StyleBox` | :ref:`tab_hovered` | | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`StyleBox` | :ref:`tab_selected` | | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`StyleBox` | :ref:`tab_unselected` | | - +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+ + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`drop_mark_color` | ``Color(1, 1, 1, 1)`` | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`font_disabled_color` | ``Color(0.875, 0.875, 0.875, 0.5)`` | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`font_hovered_color` | ``Color(0.95, 0.95, 0.95, 1)`` | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`font_outline_color` | ``Color(0, 0, 0, 1)`` | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`font_selected_color` | ``Color(0.95, 0.95, 0.95, 1)`` | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`font_unselected_color` | ``Color(0.7, 0.7, 0.7, 1)`` | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`icon_disabled_color` | ``Color(1, 1, 1, 1)`` | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`icon_hovered_color` | ``Color(1, 1, 1, 1)`` | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`icon_selected_color` | ``Color(1, 1, 1, 1)`` | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`icon_unselected_color` | ``Color(1, 1, 1, 1)`` | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`int` | :ref:`h_separation` | ``4`` | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`int` | :ref:`hover_switch_wait_msec` | ``500`` | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`int` | :ref:`icon_max_width` | ``0`` | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`int` | :ref:`outline_size` | ``0`` | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`int` | :ref:`tab_separation` | ``0`` | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Font` | :ref:`font` | | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`int` | :ref:`font_size` | | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Texture2D` | :ref:`close` | | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Texture2D` | :ref:`decrement` | | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Texture2D` | :ref:`decrement_highlight` | | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Texture2D` | :ref:`drop_mark` | | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Texture2D` | :ref:`increment` | | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Texture2D` | :ref:`increment_highlight` | | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`button_highlight` | | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`button_pressed` | | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`tab_disabled` | | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`tab_focus` | | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`tab_hovered` | | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`tab_selected` | | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`tab_unselected` | | + +-----------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+ .. rst-class:: classref-section-separator @@ -568,6 +572,23 @@ If ``true``, enables selecting a tab with the right mouse button. ---- +.. _class_TabBar_property_switch_on_drag_hover: + +.. rst-class:: classref-property + +:ref:`bool` **switch_on_drag_hover** = ``true`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_switch_on_drag_hover**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **get_switch_on_drag_hover**\ (\ ) + +If ``true``, hovering over a tab while dragging something will switch to that tab. Does not have effect when hovering another tab to rearrange. The delay for when this happens is dictated by :ref:`hover_switch_wait_msec`. + +.. rst-class:: classref-item-separator + +---- + .. _class_TabBar_property_tab_alignment: .. rst-class:: classref-property @@ -1166,6 +1187,18 @@ The horizontal separation between the elements inside tabs. ---- +.. _class_TabBar_theme_constant_hover_switch_wait_msec: + +.. rst-class:: classref-themeproperty + +:ref:`int` **hover_switch_wait_msec** = ``500`` :ref:`🔗` + +During a drag-and-drop, this is how many milliseconds to wait before switching the tab. + +.. rst-class:: classref-item-separator + +---- + .. _class_TabBar_theme_constant_icon_max_width: .. rst-class:: classref-themeproperty diff --git a/classes/class_tabcontainer.rst b/classes/class_tabcontainer.rst index 7e11ace63..32b1d7581 100644 --- a/classes/class_tabcontainer.rst +++ b/classes/class_tabcontainer.rst @@ -49,6 +49,8 @@ Properties +---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+ | :ref:`bool` | :ref:`drag_to_rearrange_enabled` | ``false`` | +---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`switch_on_drag_hover` | ``true`` | + +---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+ | :ref:`AlignmentMode` | :ref:`tab_alignment` | ``0`` | +---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+ | :ref:`FocusMode` | :ref:`tab_focus_mode` | ``2`` | @@ -424,6 +426,23 @@ If ``true``, tabs can be rearranged with mouse drag. ---- +.. _class_TabContainer_property_switch_on_drag_hover: + +.. rst-class:: classref-property + +:ref:`bool` **switch_on_drag_hover** = ``true`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_switch_on_drag_hover**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **get_switch_on_drag_hover**\ (\ ) + +If ``true``, hovering over a tab while dragging something will switch to that tab. Does not have effect when hovering another tab to rearrange. + +.. rst-class:: classref-item-separator + +---- + .. _class_TabContainer_property_tab_alignment: .. rst-class:: classref-property diff --git a/classes/class_textedit.rst b/classes/class_textedit.rst index e8b0e280f..75b72951c 100644 --- a/classes/class_textedit.rst +++ b/classes/class_textedit.rst @@ -517,6 +517,8 @@ Theme Properties +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`int` | :ref:`outline_size` | ``0`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`int` | :ref:`wrap_offset` | ``10`` | + +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Font` | :ref:`font` | | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`int` | :ref:`font_size` | | @@ -4209,6 +4211,18 @@ The size of the text outline. ---- +.. _class_TextEdit_theme_constant_wrap_offset: + +.. rst-class:: classref-themeproperty + +:ref:`int` **wrap_offset** = ``10`` :ref:`🔗` + +Sets an additional margin for line wrapping width. + +.. rst-class:: classref-item-separator + +---- + .. _class_TextEdit_theme_font_font: .. rst-class:: classref-themeproperty diff --git a/classes/class_tilesetatlassource.rst b/classes/class_tilesetatlassource.rst index a9a882d06..af54c8c48 100644 --- a/classes/class_tilesetatlassource.rst +++ b/classes/class_tilesetatlassource.rst @@ -380,7 +380,7 @@ Returns the alternative ID a following call to :ref:`create_alternative_tile()` **get_runtime_texture**\ (\ ) |const| :ref:`🔗` -If :ref:`use_texture_padding` is ``false``, returns :ref:`texture`. Otherwise, returns and internal :ref:`ImageTexture` created that includes the padding. +If :ref:`use_texture_padding` is ``false``, returns :ref:`texture`. Otherwise, returns an internal :ref:`ImageTexture` created that includes the padding. .. rst-class:: classref-item-separator diff --git a/classes/class_tree.rst b/classes/class_tree.rst index e418c3703..54db6a96b 100644 --- a/classes/class_tree.rst +++ b/classes/class_tree.rst @@ -81,6 +81,8 @@ Properties +------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :ref:`int` | :ref:`drop_mode_flags` | ``0`` | +------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`enable_drag_unfolding` | ``true`` | + +------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :ref:`bool` | :ref:`enable_recursive_folding` | ``true`` | +------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :ref:`FocusMode` | focus_mode | ``2`` (overrides :ref:`Control`) | @@ -225,6 +227,8 @@ Theme Properties +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`int` | :ref:`children_hl_line_width` | ``1`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`int` | :ref:`dragging_unfold_wait_msec` | ``500`` | + +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`int` | :ref:`draw_guides` | ``1`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`int` | :ref:`draw_relationship_lines` | ``0`` | @@ -738,6 +742,23 @@ This controls the drop sections, i.e. the decision and drawing of possible drop ---- +.. _class_Tree_property_enable_drag_unfolding: + +.. rst-class:: classref-property + +:ref:`bool` **enable_drag_unfolding** = ``true`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_enable_drag_unfolding**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_drag_unfolding_enabled**\ (\ ) + +If ``true``, tree items will unfold when hovered over during a drag-and-drop. The delay for when this happens is dictated by :ref:`dragging_unfold_wait_msec`. + +.. rst-class:: classref-item-separator + +---- + .. _class_Tree_property_enable_recursive_folding: .. rst-class:: classref-property @@ -1561,6 +1582,18 @@ The width of the relationship lines between the selected :ref:`TreeItem` **dragging_unfold_wait_msec** = ``500`` :ref:`🔗` + +During a drag-and-drop, this is how many milliseconds to wait over a section before the section unfolds. + +.. rst-class:: classref-item-separator + +---- + .. _class_Tree_theme_constant_draw_guides: .. rst-class:: classref-themeproperty