diff --git a/classes/class_@gdscript.rst b/classes/class_@gdscript.rst index 16e427b1b04..abd49a0367f 100644 --- a/classes/class_@gdscript.rst +++ b/classes/class_@gdscript.rst @@ -662,7 +662,7 @@ Add a custom icon to the current script. The icon specified at ``icon_path`` is \ **Note:** As annotations describe their subject, the :ref:`@icon` annotation must be placed before the class definition and inheritance. -\ **Note:** Unlike most other annotations, the argument of the :ref:`@icon` annotation must be a string literal (constant expressions are not supported). +\ **Note:** Unlike other annotations, the argument of the :ref:`@icon` annotation must be a string literal (constant expressions are not supported). .. rst-class:: classref-item-separator @@ -748,20 +748,6 @@ Mark the current script as a tool script, allowing it to be loaded and executed ---- -.. _class_@GDScript_annotation_@uid: - -.. rst-class:: classref-annotation - -**@uid** **(** :ref:`String` uid **)** - -Stores information about UID of this script. This annotation is auto-generated when saving the script and must not be modified manually. Only applies to scripts saved as separate files (i.e. not built-in). - -\ **Note:** Unlike most other annotations, the argument of the :ref:`@uid` annotation must be a string literal (constant expressions are not supported). - -.. rst-class:: classref-item-separator - ----- - .. _class_@GDScript_annotation_@warning_ignore: .. rst-class:: classref-annotation diff --git a/classes/class_@globalscope.rst b/classes/class_@globalscope.rst index f8a6c09f74b..6696e60a7ea 100644 --- a/classes/class_@globalscope.rst +++ b/classes/class_@globalscope.rst @@ -2393,6 +2393,42 @@ Group Switch key mask. ---- +.. _enum_@GlobalScope_KeyLocation: + +.. rst-class:: classref-enumeration + +enum **KeyLocation**: + +.. _class_@GlobalScope_constant_KEY_LOCATION_UNSPECIFIED: + +.. rst-class:: classref-enumeration-constant + +:ref:`KeyLocation` **KEY_LOCATION_UNSPECIFIED** = ``0`` + +Used for keys which only appear once, or when a comparison doesn't need to differentiate the ``LEFT`` and ``RIGHT`` versions. + +For example, when using :ref:`InputEvent.is_match`, an event which has :ref:`KEY_LOCATION_UNSPECIFIED` will match any :ref:`KeyLocation` on the passed event. + +.. _class_@GlobalScope_constant_KEY_LOCATION_LEFT: + +.. rst-class:: classref-enumeration-constant + +:ref:`KeyLocation` **KEY_LOCATION_LEFT** = ``1`` + +A key which is to the left of its twin. + +.. _class_@GlobalScope_constant_KEY_LOCATION_RIGHT: + +.. rst-class:: classref-enumeration-constant + +:ref:`KeyLocation` **KEY_LOCATION_RIGHT** = ``2`` + +A key which is to the right of its twin. + +.. rst-class:: classref-item-separator + +---- + .. _enum_@GlobalScope_MouseButton: .. rst-class:: classref-enumeration @@ -2835,7 +2871,7 @@ enum **MIDIMessage**: :ref:`MIDIMessage` **MIDI_MESSAGE_NONE** = ``0`` -Enum value which doesn't correspond to any MIDI message. This is used to initialize :ref:`MIDIMessage` properties with a generic state. +Does not correspond to any MIDI message. This is the default value of :ref:`InputEventMIDI.message`. .. _class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_OFF: @@ -2843,7 +2879,9 @@ Enum value which doesn't correspond to any MIDI message. This is used to initial :ref:`MIDIMessage` **MIDI_MESSAGE_NOTE_OFF** = ``8`` -MIDI note OFF message. Not all MIDI devices send this event; some send :ref:`MIDI_MESSAGE_NOTE_ON` with zero velocity instead. See the documentation of :ref:`InputEventMIDI` for information of how to use MIDI inputs. +MIDI message sent when a note is released. + +\ **Note:** Not all MIDI devices send this message; some may send :ref:`MIDI_MESSAGE_NOTE_ON` with :ref:`InputEventMIDI.velocity` set to ``0``. .. _class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_ON: @@ -2851,7 +2889,7 @@ MIDI note OFF message. Not all MIDI devices send this event; some send :ref:`MID :ref:`MIDIMessage` **MIDI_MESSAGE_NOTE_ON** = ``9`` -MIDI note ON message. Some MIDI devices send this event with velocity zero instead of :ref:`MIDI_MESSAGE_NOTE_OFF`, but implementations vary. See the documentation of :ref:`InputEventMIDI` for information of how to use MIDI inputs. +MIDI message sent when a note is pressed. .. _class_@GlobalScope_constant_MIDI_MESSAGE_AFTERTOUCH: @@ -2859,7 +2897,7 @@ MIDI note ON message. Some MIDI devices send this event with velocity zero inste :ref:`MIDIMessage` **MIDI_MESSAGE_AFTERTOUCH** = ``10`` -MIDI aftertouch message. This message is most often sent by pressing down on the key after it "bottoms out". +MIDI message sent to indicate a change in pressure while a note is being pressed down, also called aftertouch. .. _class_@GlobalScope_constant_MIDI_MESSAGE_CONTROL_CHANGE: @@ -2867,7 +2905,7 @@ MIDI aftertouch message. This message is most often sent by pressing down on the :ref:`MIDIMessage` **MIDI_MESSAGE_CONTROL_CHANGE** = ``11`` -MIDI control change message. This message is sent when a controller value changes. Controllers include devices such as pedals and levers. +MIDI message sent when a controller value changes. In a MIDI device, a controller is any input that doesn't play notes. These may include sliders for volume, balance, and panning, as well as switches and pedals. See the `General MIDI specification `__ for a small list. .. _class_@GlobalScope_constant_MIDI_MESSAGE_PROGRAM_CHANGE: @@ -2875,7 +2913,7 @@ MIDI control change message. This message is sent when a controller value change :ref:`MIDIMessage` **MIDI_MESSAGE_PROGRAM_CHANGE** = ``12`` -MIDI program change message. This message sent when the program patch number changes. +MIDI message sent when the MIDI device changes its current instrument (also called *program* or *preset*). .. _class_@GlobalScope_constant_MIDI_MESSAGE_CHANNEL_PRESSURE: @@ -2883,7 +2921,7 @@ MIDI program change message. This message sent when the program patch number cha :ref:`MIDIMessage` **MIDI_MESSAGE_CHANNEL_PRESSURE** = ``13`` -MIDI channel pressure message. This message is most often sent by pressing down on the key after it "bottoms out". This message is different from polyphonic after-touch as it indicates the highest pressure across all keys. +MIDI message sent to indicate a change in pressure for the whole channel. Some MIDI devices may send this instead of :ref:`MIDI_MESSAGE_AFTERTOUCH`. .. _class_@GlobalScope_constant_MIDI_MESSAGE_PITCH_BEND: @@ -2891,7 +2929,7 @@ MIDI channel pressure message. This message is most often sent by pressing down :ref:`MIDIMessage` **MIDI_MESSAGE_PITCH_BEND** = ``14`` -MIDI pitch bend message. This message is sent to indicate a change in the pitch bender (wheel or lever, typically). +MIDI message sent when the value of the pitch bender changes, usually a wheel on the MIDI device. .. _class_@GlobalScope_constant_MIDI_MESSAGE_SYSTEM_EXCLUSIVE: @@ -2899,7 +2937,9 @@ MIDI pitch bend message. This message is sent to indicate a change in the pitch :ref:`MIDIMessage` **MIDI_MESSAGE_SYSTEM_EXCLUSIVE** = ``240`` -MIDI system exclusive message. This has behavior exclusive to the device you're receiving input from. Getting this data is not implemented in Godot. +MIDI system exclusive (SysEx) message. This type of message is not standardized and it's highly dependent on the MIDI device sending it. + +\ **Note:** Getting this message's data from :ref:`InputEventMIDI` is not implemented. .. _class_@GlobalScope_constant_MIDI_MESSAGE_QUARTER_FRAME: @@ -2907,7 +2947,9 @@ MIDI system exclusive message. This has behavior exclusive to the device you're :ref:`MIDIMessage` **MIDI_MESSAGE_QUARTER_FRAME** = ``241`` -MIDI quarter frame message. Contains timing information that is used to synchronize MIDI devices. Getting this data is not implemented in Godot. +MIDI message sent every quarter frame to keep connected MIDI devices synchronized. Related to :ref:`MIDI_MESSAGE_TIMING_CLOCK`. + +\ **Note:** Getting this message's data from :ref:`InputEventMIDI` is not implemented. .. _class_@GlobalScope_constant_MIDI_MESSAGE_SONG_POSITION_POINTER: @@ -2915,7 +2957,9 @@ MIDI quarter frame message. Contains timing information that is used to synchron :ref:`MIDIMessage` **MIDI_MESSAGE_SONG_POSITION_POINTER** = ``242`` -MIDI song position pointer message. Gives the number of 16th notes since the start of the song. Getting this data is not implemented in Godot. +MIDI message sent to jump onto a new position in the current sequence or song. + +\ **Note:** Getting this message's data from :ref:`InputEventMIDI` is not implemented. .. _class_@GlobalScope_constant_MIDI_MESSAGE_SONG_SELECT: @@ -2923,7 +2967,9 @@ MIDI song position pointer message. Gives the number of 16th notes since the sta :ref:`MIDIMessage` **MIDI_MESSAGE_SONG_SELECT** = ``243`` -MIDI song select message. Specifies which sequence or song is to be played. Getting this data is not implemented in Godot. +MIDI message sent to select a sequence or song to play. + +\ **Note:** Getting this message's data from :ref:`InputEventMIDI` is not implemented. .. _class_@GlobalScope_constant_MIDI_MESSAGE_TUNE_REQUEST: @@ -2931,7 +2977,7 @@ MIDI song select message. Specifies which sequence or song is to be played. Gett :ref:`MIDIMessage` **MIDI_MESSAGE_TUNE_REQUEST** = ``246`` -MIDI tune request message. Upon receiving a tune request, all analog synthesizers should tune their oscillators. +MIDI message sent to request a tuning calibration. Used on analog synthesizers. Most modern MIDI devices do not need this message. .. _class_@GlobalScope_constant_MIDI_MESSAGE_TIMING_CLOCK: @@ -2939,7 +2985,7 @@ MIDI tune request message. Upon receiving a tune request, all analog synthesizer :ref:`MIDIMessage` **MIDI_MESSAGE_TIMING_CLOCK** = ``248`` -MIDI timing clock message. Sent 24 times per quarter note when synchronization is required. +MIDI message sent 24 times after :ref:`MIDI_MESSAGE_QUARTER_FRAME`, to keep connected MIDI devices synchronized. .. _class_@GlobalScope_constant_MIDI_MESSAGE_START: @@ -2947,7 +2993,7 @@ MIDI timing clock message. Sent 24 times per quarter note when synchronization i :ref:`MIDIMessage` **MIDI_MESSAGE_START** = ``250`` -MIDI start message. Start the current sequence playing. This message will be followed with Timing Clocks. +MIDI message sent to start the current sequence or song from the beginning. .. _class_@GlobalScope_constant_MIDI_MESSAGE_CONTINUE: @@ -2955,7 +3001,7 @@ MIDI start message. Start the current sequence playing. This message will be fol :ref:`MIDIMessage` **MIDI_MESSAGE_CONTINUE** = ``251`` -MIDI continue message. Continue at the point the sequence was stopped. +MIDI message sent to resume from the point the current sequence or song was paused. .. _class_@GlobalScope_constant_MIDI_MESSAGE_STOP: @@ -2963,7 +3009,7 @@ MIDI continue message. Continue at the point the sequence was stopped. :ref:`MIDIMessage` **MIDI_MESSAGE_STOP** = ``252`` -MIDI stop message. Stop the current sequence. +MIDI message sent to pause the current sequence or song. .. _class_@GlobalScope_constant_MIDI_MESSAGE_ACTIVE_SENSING: @@ -2971,7 +3017,7 @@ MIDI stop message. Stop the current sequence. :ref:`MIDIMessage` **MIDI_MESSAGE_ACTIVE_SENSING** = ``254`` -MIDI active sensing message. This message is intended to be sent repeatedly to tell the receiver that a connection is alive. +MIDI message sent repeatedly while the MIDI device is idle, to tell the receiver that the connection is alive. Most MIDI devices do not send this message. .. _class_@GlobalScope_constant_MIDI_MESSAGE_SYSTEM_RESET: @@ -2979,7 +3025,7 @@ MIDI active sensing message. This message is intended to be sent repeatedly to t :ref:`MIDIMessage` **MIDI_MESSAGE_SYSTEM_RESET** = ``255`` -MIDI system reset message. Reset all receivers in the system to power-up status. It should not be sent on power-up itself. +MIDI message sent to reset a MIDI device to its default state, as if it was just turned on. It should not be sent when the MIDI device is being turned on. .. rst-class:: classref-item-separator @@ -7285,6 +7331,8 @@ Encodes a :ref:`Variant` value to a byte array, without encoding \ **Note:** If you need object serialization, see :ref:`var_to_bytes_with_objects`. +\ **Note:** Encoding :ref:`Callable` is not supported and will result in an empty value, regardless of the data. + .. rst-class:: classref-item-separator ---- @@ -7297,6 +7345,8 @@ Encodes a :ref:`Variant` value to a byte array, without encoding Encodes a :ref:`Variant` value to a byte array. Encoding objects is allowed (and can potentially include executable code). Deserialization can be done with :ref:`bytes_to_var_with_objects`. +\ **Note:** Encoding :ref:`Callable` is not supported and will result in an empty value, regardless of the data. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_animatedsprite2d.rst b/classes/class_animatedsprite2d.rst index 14694f60e1b..6c98c61599f 100644 --- a/classes/class_animatedsprite2d.rst +++ b/classes/class_animatedsprite2d.rst @@ -113,6 +113,8 @@ Emitted when :ref:`animation` changes Emitted when the animation reaches the end, or the start if it is played in reverse. When the animation finishes, it pauses the playback. +\ **Note:** This signal is not emitted if an animation is looping. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_animatedsprite3d.rst b/classes/class_animatedsprite3d.rst index 00d764ef917..d2c3b682b7a 100644 --- a/classes/class_animatedsprite3d.rst +++ b/classes/class_animatedsprite3d.rst @@ -103,6 +103,8 @@ Emitted when :ref:`animation` changes Emitted when the animation reaches the end, or the start if it is played in reverse. When the animation finishes, it pauses the playback. +\ **Note:** This signal is not emitted if an animation is looping. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_audioeffect.rst b/classes/class_audioeffect.rst index 1a8812c6124..4d092c7d33f 100644 --- a/classes/class_audioeffect.rst +++ b/classes/class_audioeffect.rst @@ -14,20 +14,24 @@ AudioEffect **Inherited By:** :ref:`AudioEffectAmplify`, :ref:`AudioEffectCapture`, :ref:`AudioEffectChorus`, :ref:`AudioEffectCompressor`, :ref:`AudioEffectDelay`, :ref:`AudioEffectDistortion`, :ref:`AudioEffectEQ`, :ref:`AudioEffectFilter`, :ref:`AudioEffectLimiter`, :ref:`AudioEffectPanner`, :ref:`AudioEffectPhaser`, :ref:`AudioEffectPitchShift`, :ref:`AudioEffectRecord`, :ref:`AudioEffectReverb`, :ref:`AudioEffectSpectrumAnalyzer`, :ref:`AudioEffectStereoEnhance` -Audio effect for audio. +Base class for audio effect resources. .. rst-class:: classref-introduction-group Description ----------- -Base resource for audio bus. Applies an audio effect on the bus that the resource is applied on. +The base :ref:`Resource` for every audio effect. In the editor, an audio effect can be added to the current bus layout through the Audio panel. At run-time, it is also possible to manipulate audio effects through :ref:`AudioServer.add_bus_effect`, :ref:`AudioServer.remove_bus_effect`, and :ref:`AudioServer.get_bus_effect`. + +When applied on a bus, an audio effect creates a corresponding :ref:`AudioEffectInstance`. The instance is directly responsible for manipulating the sound, based on the original audio effect's properties. .. rst-class:: classref-introduction-group Tutorials --------- +- :doc:`Audio buses <../tutorials/audio/audio_buses>` + - `Audio Mic Record Demo `__ .. rst-class:: classref-reftable-group @@ -57,9 +61,21 @@ Method Descriptions :ref:`AudioEffectInstance` **_instantiate** **(** **)** |virtual| -.. container:: contribute +Override this method to customize the :ref:`AudioEffectInstance` created when this effect is applied on a bus in the editor's Audio panel, or through :ref:`AudioServer.add_bus_effect`. + +:: + + extends AudioEffect + + @export var strength = 4.0 + + func _instantiate(): + var effect = CustomAudioEffectInstance.new() + effect.base = self + + return effect - There is currently no description for this method. Please help us by :ref:`contributing one `! +\ **Note:** It is recommended to keep a reference to the original **AudioEffect** in the new instance. Depending on the implementation this allows the effect instance to listen for changes at run-time and be modified accordingly. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |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_audioeffectinstance.rst b/classes/class_audioeffectinstance.rst index 8ab1a42f4b6..bf872a656f4 100644 --- a/classes/class_audioeffectinstance.rst +++ b/classes/class_audioeffectinstance.rst @@ -14,9 +14,21 @@ AudioEffectInstance **Inherited By:** :ref:`AudioEffectSpectrumAnalyzerInstance` -.. container:: contribute +Manipulates the audio it receives for a given effect. - There is currently no description for this class. Please help us by :ref:`contributing one `! +.. rst-class:: classref-introduction-group + +Description +----------- + +An audio effect instance manipulates the audio it receives for a given effect. This instance is automatically created by an :ref:`AudioEffect` when it is added to a bus, and should usually not be created directly. If necessary, it can be fetched at run-time with :ref:`AudioServer.get_bus_effect_instance`. + +.. rst-class:: classref-introduction-group + +Tutorials +--------- + +- :doc:`Audio buses <../tutorials/audio/audio_buses>` .. rst-class:: classref-reftable-group @@ -47,9 +59,9 @@ Method Descriptions void **_process** **(** const void* src_buffer, AudioFrame* dst_buffer, :ref:`int` frame_count **)** |virtual| -.. container:: contribute +Called by the :ref:`AudioServer` to process this effect. When :ref:`_process_silence` is not overridden or it returns ``false``, this method is called only when the bus is active. - There is currently no description for this method. Please help us by :ref:`contributing one `! +\ **Note:** It is not useful to override this method in GDScript or C#. Only GDExtension can take advantage of it. .. rst-class:: classref-item-separator @@ -61,9 +73,9 @@ void **_process** **(** const void* src_buffer, AudioFrame* dst_buffer, :ref:`in :ref:`bool` **_process_silence** **(** **)** |virtual| |const| -.. container:: contribute +Override this method to customize the processing behavior of this effect instance. - There is currently no description for this method. Please help us by :ref:`contributing one `! +Should return ``true`` to force the :ref:`AudioServer` to always call :ref:`_process`, even if the bus has been muted or cannot otherwise be heard. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |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_bone2d.rst b/classes/class_bone2d.rst index d4a59a3d7d7..6b1e6cb6699 100644 --- a/classes/class_bone2d.rst +++ b/classes/class_bone2d.rst @@ -104,7 +104,7 @@ Method Descriptions void **apply_rest** **(** **)** -Stores the node's current transforms in :ref:`rest`. +Resets the bone to the rest pose. This is equivalent to setting :ref:`Node2D.transform` to :ref:`rest`. .. rst-class:: classref-item-separator diff --git a/classes/class_displayserver.rst b/classes/class_displayserver.rst index 6b6d151bea8..864ee25b048 100644 --- a/classes/class_displayserver.rst +++ b/classes/class_displayserver.rst @@ -31,345 +31,347 @@ Methods .. table:: :widths: auto - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`clipboard_get` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Image` | :ref:`clipboard_get_image` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`clipboard_get_primary` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`clipboard_has` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`clipboard_has_image` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`clipboard_set` **(** :ref:`String` clipboard **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`clipboard_set_primary` **(** :ref:`String` clipboard_primary **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`CursorShape` | :ref:`cursor_get_shape` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`cursor_set_custom_image` **(** :ref:`Resource` cursor, :ref:`CursorShape` shape=0, :ref:`Vector2` hotspot=Vector2(0, 0) **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`cursor_set_shape` **(** :ref:`CursorShape` shape **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`dialog_input_text` **(** :ref:`String` title, :ref:`String` description, :ref:`String` existing_text, :ref:`Callable` callback **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`dialog_show` **(** :ref:`String` title, :ref:`String` description, :ref:`PackedStringArray` buttons, :ref:`Callable` callback **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`enable_for_stealing_focus` **(** :ref:`int` process_id **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`file_dialog_show` **(** :ref:`String` title, :ref:`String` current_directory, :ref:`String` filename, :ref:`bool` show_hidden, :ref:`FileDialogMode` mode, :ref:`PackedStringArray` filters, :ref:`Callable` callback **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`force_process_and_drop_events` **(** **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Color` | :ref:`get_accent_color` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Rect2[]` | :ref:`get_display_cutouts` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Rect2i` | :ref:`get_display_safe_area` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`get_keyboard_focus_screen` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`get_name` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`get_primary_screen` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`get_screen_count` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`get_screen_from_rect` **(** :ref:`Rect2` rect **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`get_swap_cancel_ok` **(** **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`get_window_at_screen_position` **(** :ref:`Vector2i` position **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedInt32Array` | :ref:`get_window_list` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_check_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_icon_check_item` **(** :ref:`String` menu_root, :ref:`Texture2D` icon, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_icon_item` **(** :ref:`String` menu_root, :ref:`Texture2D` icon, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_icon_radio_check_item` **(** :ref:`String` menu_root, :ref:`Texture2D` icon, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_multistate_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`int` max_states, :ref:`int` default_state, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_radio_check_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_separator` **(** :ref:`String` menu_root, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_submenu_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`String` submenu, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_clear` **(** :ref:`String` menu_root **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Key` | :ref:`global_menu_get_item_accelerator` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Callable` | :ref:`global_menu_get_item_callback` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_get_item_count` **(** :ref:`String` menu_root **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Texture2D` | :ref:`global_menu_get_item_icon` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_get_item_indentation_level` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_get_item_index_from_tag` **(** :ref:`String` menu_root, :ref:`Variant` tag **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_get_item_index_from_text` **(** :ref:`String` menu_root, :ref:`String` text **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Callable` | :ref:`global_menu_get_item_key_callback` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_get_item_max_states` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_get_item_state` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`global_menu_get_item_submenu` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Variant` | :ref:`global_menu_get_item_tag` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`global_menu_get_item_text` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`global_menu_get_item_tooltip` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Dictionary` | :ref:`global_menu_get_system_menu_roots` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`global_menu_is_item_checkable` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`global_menu_is_item_checked` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`global_menu_is_item_disabled` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`global_menu_is_item_hidden` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`global_menu_is_item_radio_checkable` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_remove_item` **(** :ref:`String` menu_root, :ref:`int` idx **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_accelerator` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Key` keycode **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_callback` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Callable` callback **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_checkable` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` checkable **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_checked` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` checked **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_disabled` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` disabled **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_hidden` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` hidden **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_hover_callbacks` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Callable` callback **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_icon` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Texture2D` icon **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_indentation_level` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`int` level **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_key_callback` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Callable` key_callback **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_max_states` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`int` max_states **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_radio_checkable` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` checkable **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_state` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`int` state **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_submenu` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`String` submenu **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_tag` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Variant` tag **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_text` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`String` text **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_tooltip` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`String` tooltip **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_popup_callbacks` **(** :ref:`String` menu_root, :ref:`Callable` open_callback, :ref:`Callable` close_callback **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`has_feature` **(** :ref:`Feature` feature **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`ime_get_selection` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`ime_get_text` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_dark_mode` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_dark_mode_supported` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_touchscreen_available` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`keyboard_get_current_layout` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Key` | :ref:`keyboard_get_keycode_from_physical` **(** :ref:`Key` keycode **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Key` | :ref:`keyboard_get_label_from_physical` **(** :ref:`Key` keycode **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`keyboard_get_layout_count` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`keyboard_get_layout_language` **(** :ref:`int` index **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`keyboard_get_layout_name` **(** :ref:`int` index **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`keyboard_set_current_layout` **(** :ref:`int` index **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |bitfield|\<:ref:`MouseButtonMask`\> | :ref:`mouse_get_button_state` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`MouseMode` | :ref:`mouse_get_mode` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`mouse_get_position` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`mouse_set_mode` **(** :ref:`MouseMode` mouse_mode **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`process_events` **(** **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`screen_get_dpi` **(** :ref:`int` screen=-1 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Image` | :ref:`screen_get_image` **(** :ref:`int` screen=-1 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`screen_get_max_scale` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`ScreenOrientation` | :ref:`screen_get_orientation` **(** :ref:`int` screen=-1 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Color` | :ref:`screen_get_pixel` **(** :ref:`Vector2i` position **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`screen_get_position` **(** :ref:`int` screen=-1 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`screen_get_refresh_rate` **(** :ref:`int` screen=-1 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`screen_get_scale` **(** :ref:`int` screen=-1 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`screen_get_size` **(** :ref:`int` screen=-1 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Rect2i` | :ref:`screen_get_usable_rect` **(** :ref:`int` screen=-1 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`screen_is_kept_on` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`screen_set_keep_on` **(** :ref:`bool` enable **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`screen_set_orientation` **(** :ref:`ScreenOrientation` orientation, :ref:`int` screen=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_icon` **(** :ref:`Image` image **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_native_icon` **(** :ref:`String` filename **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`tablet_get_current_driver` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`tablet_get_driver_count` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`tablet_get_driver_name` **(** :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`tablet_set_current_driver` **(** :ref:`String` name **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Dictionary[]` | :ref:`tts_get_voices` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedStringArray` | :ref:`tts_get_voices_for_language` **(** :ref:`String` language **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`tts_is_paused` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`tts_is_speaking` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`tts_pause` **(** **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`tts_resume` **(** **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`tts_set_utterance_callback` **(** :ref:`TTSUtteranceEvent` event, :ref:`Callable` callable **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`tts_speak` **(** :ref:`String` text, :ref:`String` voice, :ref:`int` volume=50, :ref:`float` pitch=1.0, :ref:`float` rate=1.0, :ref:`int` utterance_id=0, :ref:`bool` interrupt=false **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`tts_stop` **(** **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`virtual_keyboard_get_height` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`virtual_keyboard_hide` **(** **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`virtual_keyboard_show` **(** :ref:`String` existing_text, :ref:`Rect2` position=Rect2(0, 0, 0, 0), :ref:`VirtualKeyboardType` type=0, :ref:`int` max_length=-1, :ref:`int` cursor_start=-1, :ref:`int` cursor_end=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`warp_mouse` **(** :ref:`Vector2i` position **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`window_can_draw` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`window_get_active_popup` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`window_get_attached_instance_id` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`window_get_current_screen` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`window_get_flag` **(** :ref:`WindowFlags` flag, :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`window_get_max_size` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`window_get_min_size` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`WindowMode` | :ref:`window_get_mode` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`window_get_native_handle` **(** :ref:`HandleType` handle_type, :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Rect2i` | :ref:`window_get_popup_safe_rect` **(** :ref:`int` window **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`window_get_position` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`window_get_position_with_decorations` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector3i` | :ref:`window_get_safe_title_margins` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`window_get_size` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`window_get_size_with_decorations` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`window_get_title_size` **(** :ref:`String` title, :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`VSyncMode` | :ref:`window_get_vsync_mode` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`window_is_focused` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`window_is_maximize_allowed` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`window_maximize_on_title_dbl_click` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`window_minimize_on_title_dbl_click` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_move_to_foreground` **(** :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_request_attention` **(** :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_current_screen` **(** :ref:`int` screen, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_drop_files_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_exclusive` **(** :ref:`int` window_id, :ref:`bool` exclusive **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_flag` **(** :ref:`WindowFlags` flag, :ref:`bool` enabled, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_ime_active` **(** :ref:`bool` active, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_ime_position` **(** :ref:`Vector2i` position, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_input_event_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_input_text_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_max_size` **(** :ref:`Vector2i` max_size, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_min_size` **(** :ref:`Vector2i` min_size, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_mode` **(** :ref:`WindowMode` mode, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_mouse_passthrough` **(** :ref:`PackedVector2Array` region, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_popup_safe_rect` **(** :ref:`int` window, :ref:`Rect2i` rect **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_position` **(** :ref:`Vector2i` position, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_rect_changed_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_size` **(** :ref:`Vector2i` size, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_title` **(** :ref:`String` title, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_transient` **(** :ref:`int` window_id, :ref:`int` parent_window_id **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_vsync_mode` **(** :ref:`VSyncMode` vsync_mode, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_window_buttons_offset` **(** :ref:`Vector2i` offset, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_window_event_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`clipboard_get` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Image` | :ref:`clipboard_get_image` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`clipboard_get_primary` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`clipboard_has` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`clipboard_has_image` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`clipboard_set` **(** :ref:`String` clipboard **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`clipboard_set_primary` **(** :ref:`String` clipboard_primary **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`CursorShape` | :ref:`cursor_get_shape` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`cursor_set_custom_image` **(** :ref:`Resource` cursor, :ref:`CursorShape` shape=0, :ref:`Vector2` hotspot=Vector2(0, 0) **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`cursor_set_shape` **(** :ref:`CursorShape` shape **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`dialog_input_text` **(** :ref:`String` title, :ref:`String` description, :ref:`String` existing_text, :ref:`Callable` callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`dialog_show` **(** :ref:`String` title, :ref:`String` description, :ref:`PackedStringArray` buttons, :ref:`Callable` callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`enable_for_stealing_focus` **(** :ref:`int` process_id **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`file_dialog_show` **(** :ref:`String` title, :ref:`String` current_directory, :ref:`String` filename, :ref:`bool` show_hidden, :ref:`FileDialogMode` mode, :ref:`PackedStringArray` filters, :ref:`Callable` callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`file_dialog_with_options_show` **(** :ref:`String` title, :ref:`String` current_directory, :ref:`String` root, :ref:`String` filename, :ref:`bool` show_hidden, :ref:`FileDialogMode` mode, :ref:`PackedStringArray` filters, :ref:`Dictionary[]` options, :ref:`Callable` callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`force_process_and_drop_events` **(** **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`get_accent_color` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Rect2[]` | :ref:`get_display_cutouts` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Rect2i` | :ref:`get_display_safe_area` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_keyboard_focus_screen` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_name` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_primary_screen` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_screen_count` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_screen_from_rect` **(** :ref:`Rect2` rect **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`get_swap_cancel_ok` **(** **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_window_at_screen_position` **(** :ref:`Vector2i` position **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedInt32Array` | :ref:`get_window_list` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_check_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_icon_check_item` **(** :ref:`String` menu_root, :ref:`Texture2D` icon, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_icon_item` **(** :ref:`String` menu_root, :ref:`Texture2D` icon, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_icon_radio_check_item` **(** :ref:`String` menu_root, :ref:`Texture2D` icon, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_multistate_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`int` max_states, :ref:`int` default_state, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_radio_check_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_separator` **(** :ref:`String` menu_root, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_submenu_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`String` submenu, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_clear` **(** :ref:`String` menu_root **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Key` | :ref:`global_menu_get_item_accelerator` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Callable` | :ref:`global_menu_get_item_callback` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_get_item_count` **(** :ref:`String` menu_root **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Texture2D` | :ref:`global_menu_get_item_icon` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_get_item_indentation_level` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_get_item_index_from_tag` **(** :ref:`String` menu_root, :ref:`Variant` tag **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_get_item_index_from_text` **(** :ref:`String` menu_root, :ref:`String` text **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Callable` | :ref:`global_menu_get_item_key_callback` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_get_item_max_states` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_get_item_state` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`global_menu_get_item_submenu` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant` | :ref:`global_menu_get_item_tag` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`global_menu_get_item_text` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`global_menu_get_item_tooltip` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary` | :ref:`global_menu_get_system_menu_roots` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`global_menu_is_item_checkable` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`global_menu_is_item_checked` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`global_menu_is_item_disabled` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`global_menu_is_item_hidden` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`global_menu_is_item_radio_checkable` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_remove_item` **(** :ref:`String` menu_root, :ref:`int` idx **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_accelerator` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Key` keycode **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_callback` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Callable` callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_checkable` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` checkable **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_checked` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` checked **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_disabled` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` disabled **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_hidden` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` hidden **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_hover_callbacks` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Callable` callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_icon` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Texture2D` icon **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_indentation_level` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`int` level **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_key_callback` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Callable` key_callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_max_states` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`int` max_states **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_radio_checkable` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` checkable **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_state` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`int` state **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_submenu` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`String` submenu **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_tag` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Variant` tag **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_text` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`String` text **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_tooltip` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`String` tooltip **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_popup_callbacks` **(** :ref:`String` menu_root, :ref:`Callable` open_callback, :ref:`Callable` close_callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`has_feature` **(** :ref:`Feature` feature **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`ime_get_selection` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`ime_get_text` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_dark_mode` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_dark_mode_supported` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_touchscreen_available` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`keyboard_get_current_layout` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Key` | :ref:`keyboard_get_keycode_from_physical` **(** :ref:`Key` keycode **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Key` | :ref:`keyboard_get_label_from_physical` **(** :ref:`Key` keycode **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`keyboard_get_layout_count` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`keyboard_get_layout_language` **(** :ref:`int` index **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`keyboard_get_layout_name` **(** :ref:`int` index **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`keyboard_set_current_layout` **(** :ref:`int` index **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |bitfield|\<:ref:`MouseButtonMask`\> | :ref:`mouse_get_button_state` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`MouseMode` | :ref:`mouse_get_mode` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`mouse_get_position` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`mouse_set_mode` **(** :ref:`MouseMode` mouse_mode **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`process_events` **(** **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`screen_get_dpi` **(** :ref:`int` screen=-1 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Image` | :ref:`screen_get_image` **(** :ref:`int` screen=-1 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`screen_get_max_scale` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`ScreenOrientation` | :ref:`screen_get_orientation` **(** :ref:`int` screen=-1 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`screen_get_pixel` **(** :ref:`Vector2i` position **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`screen_get_position` **(** :ref:`int` screen=-1 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`screen_get_refresh_rate` **(** :ref:`int` screen=-1 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`screen_get_scale` **(** :ref:`int` screen=-1 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`screen_get_size` **(** :ref:`int` screen=-1 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Rect2i` | :ref:`screen_get_usable_rect` **(** :ref:`int` screen=-1 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`screen_is_kept_on` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`screen_set_keep_on` **(** :ref:`bool` enable **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`screen_set_orientation` **(** :ref:`ScreenOrientation` orientation, :ref:`int` screen=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_icon` **(** :ref:`Image` image **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_native_icon` **(** :ref:`String` filename **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`tablet_get_current_driver` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`tablet_get_driver_count` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`tablet_get_driver_name` **(** :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`tablet_set_current_driver` **(** :ref:`String` name **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary[]` | :ref:`tts_get_voices` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`tts_get_voices_for_language` **(** :ref:`String` language **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`tts_is_paused` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`tts_is_speaking` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`tts_pause` **(** **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`tts_resume` **(** **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`tts_set_utterance_callback` **(** :ref:`TTSUtteranceEvent` event, :ref:`Callable` callable **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`tts_speak` **(** :ref:`String` text, :ref:`String` voice, :ref:`int` volume=50, :ref:`float` pitch=1.0, :ref:`float` rate=1.0, :ref:`int` utterance_id=0, :ref:`bool` interrupt=false **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`tts_stop` **(** **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`virtual_keyboard_get_height` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`virtual_keyboard_hide` **(** **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`virtual_keyboard_show` **(** :ref:`String` existing_text, :ref:`Rect2` position=Rect2(0, 0, 0, 0), :ref:`VirtualKeyboardType` type=0, :ref:`int` max_length=-1, :ref:`int` cursor_start=-1, :ref:`int` cursor_end=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`warp_mouse` **(** :ref:`Vector2i` position **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`window_can_draw` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`window_get_active_popup` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`window_get_attached_instance_id` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`window_get_current_screen` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`window_get_flag` **(** :ref:`WindowFlags` flag, :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`window_get_max_size` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`window_get_min_size` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`WindowMode` | :ref:`window_get_mode` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`window_get_native_handle` **(** :ref:`HandleType` handle_type, :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Rect2i` | :ref:`window_get_popup_safe_rect` **(** :ref:`int` window **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`window_get_position` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`window_get_position_with_decorations` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector3i` | :ref:`window_get_safe_title_margins` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`window_get_size` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`window_get_size_with_decorations` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`window_get_title_size` **(** :ref:`String` title, :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`VSyncMode` | :ref:`window_get_vsync_mode` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`window_is_focused` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`window_is_maximize_allowed` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`window_maximize_on_title_dbl_click` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`window_minimize_on_title_dbl_click` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_move_to_foreground` **(** :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_request_attention` **(** :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_current_screen` **(** :ref:`int` screen, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_drop_files_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_exclusive` **(** :ref:`int` window_id, :ref:`bool` exclusive **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_flag` **(** :ref:`WindowFlags` flag, :ref:`bool` enabled, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_ime_active` **(** :ref:`bool` active, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_ime_position` **(** :ref:`Vector2i` position, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_input_event_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_input_text_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_max_size` **(** :ref:`Vector2i` max_size, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_min_size` **(** :ref:`Vector2i` min_size, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_mode` **(** :ref:`WindowMode` mode, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_mouse_passthrough` **(** :ref:`PackedVector2Array` region, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_popup_safe_rect` **(** :ref:`int` window, :ref:`Rect2i` rect **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_position` **(** :ref:`Vector2i` position, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_rect_changed_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_size` **(** :ref:`Vector2i` size, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_title` **(** :ref:`String` title, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_transient` **(** :ref:`int` window_id, :ref:`int` parent_window_id **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_vsync_mode` **(** :ref:`VSyncMode` vsync_mode, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_window_buttons_offset` **(** :ref:`Vector2i` offset, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_window_event_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -416,7 +418,7 @@ Display server supports touchscreen input. **Windows, Linux (X11), Android, iOS, :ref:`Feature` **FEATURE_MOUSE** = ``3`` -Display server supports mouse input. **Windows, macOS, Linux (X11), Android, Web** +Display server supports mouse input. **Windows, macOS, Linux (X11/Wayland), Android, Web** .. _class_DisplayServer_constant_FEATURE_MOUSE_WARP: @@ -424,7 +426,7 @@ Display server supports mouse input. **Windows, macOS, Linux (X11), Android, Web :ref:`Feature` **FEATURE_MOUSE_WARP** = ``4`` -Display server supports warping mouse coordinates to keep the mouse cursor constrained within an area, but looping when one of the edges is reached. **Windows, macOS, Linux (X11)** +Display server supports warping mouse coordinates to keep the mouse cursor constrained within an area, but looping when one of the edges is reached. **Windows, macOS, Linux (X11/Wayland)** .. _class_DisplayServer_constant_FEATURE_CLIPBOARD: @@ -432,7 +434,7 @@ Display server supports warping mouse coordinates to keep the mouse cursor const :ref:`Feature` **FEATURE_CLIPBOARD** = ``5`` -Display server supports setting and getting clipboard data. See also :ref:`FEATURE_CLIPBOARD_PRIMARY`. **Windows, macOS, Linux (X11), Android, iOS, Web** +Display server supports setting and getting clipboard data. See also :ref:`FEATURE_CLIPBOARD_PRIMARY`. **Windows, macOS, Linux (X11/Wayland), Android, iOS, Web** .. _class_DisplayServer_constant_FEATURE_VIRTUAL_KEYBOARD: @@ -448,7 +450,7 @@ Display server supports popping up a virtual keyboard when requested to input te :ref:`Feature` **FEATURE_CURSOR_SHAPE** = ``7`` -Display server supports setting the mouse cursor shape to be different from the default. **Windows, macOS, Linux (X11), Android, Web** +Display server supports setting the mouse cursor shape to be different from the default. **Windows, macOS, Linux (X11/Wayland), Android, Web** .. _class_DisplayServer_constant_FEATURE_CUSTOM_CURSOR_SHAPE: @@ -456,7 +458,7 @@ Display server supports setting the mouse cursor shape to be different from the :ref:`Feature` **FEATURE_CUSTOM_CURSOR_SHAPE** = ``8`` -Display server supports setting the mouse cursor shape to a custom image. **Windows, macOS, Linux (X11), Web** +Display server supports setting the mouse cursor shape to a custom image. **Windows, macOS, Linux (X11/Wayland), Web** .. _class_DisplayServer_constant_FEATURE_NATIVE_DIALOG: @@ -480,7 +482,7 @@ Display server supports `Input Method Editor ` **FEATURE_WINDOW_TRANSPARENCY** = ``11`` -Display server supports windows can use per-pixel transparency to make windows behind them partially or fully visible. **Windows, macOS, Linux (X11)** +Display server supports windows can use per-pixel transparency to make windows behind them partially or fully visible. **Windows, macOS, Linux (X11/Wayland)** .. _class_DisplayServer_constant_FEATURE_HIDPI: @@ -488,7 +490,7 @@ Display server supports windows can use per-pixel transparency to make windows b :ref:`Feature` **FEATURE_HIDPI** = ``12`` -Display server supports querying the operating system's display scale factor. This allows for *reliable* automatic hiDPI display detection, as opposed to guessing based on the screen resolution and reported display DPI (which can be unreliable due to broken monitor EDID). **Windows, macOS** +Display server supports querying the operating system's display scale factor. This allows for *reliable* automatic hiDPI display detection, as opposed to guessing based on the screen resolution and reported display DPI (which can be unreliable due to broken monitor EDID). **Windows, Linux (Wayland), macOS** .. _class_DisplayServer_constant_FEATURE_ICON: @@ -520,7 +522,7 @@ Display server supports changing the screen orientation. **Android, iOS** :ref:`Feature` **FEATURE_SWAP_BUFFERS** = ``16`` -Display server supports V-Sync status can be changed from the default (which is forced to be enabled platforms not supporting this feature). **Windows, macOS, Linux (X11)** +Display server supports V-Sync status can be changed from the default (which is forced to be enabled platforms not supporting this feature). **Windows, macOS, Linux (X11/Wayland)** .. _class_DisplayServer_constant_FEATURE_CLIPBOARD_PRIMARY: @@ -528,7 +530,7 @@ Display server supports V-Sync status can be changed from the default (which is :ref:`Feature` **FEATURE_CLIPBOARD_PRIMARY** = ``18`` -Display server supports Primary clipboard can be used. This is a different clipboard from :ref:`FEATURE_CLIPBOARD`. **Linux (X11)** +Display server supports Primary clipboard can be used. This is a different clipboard from :ref:`FEATURE_CLIPBOARD`. **Linux (X11/Wayland)** .. _class_DisplayServer_constant_FEATURE_TEXT_TO_SPEECH: @@ -536,7 +538,7 @@ Display server supports Primary clipboard can be used. This is a different clipb :ref:`Feature` **FEATURE_TEXT_TO_SPEECH** = ``19`` -Display server supports text-to-speech. See ``tts_*`` methods. **Windows, macOS, Linux (X11), Android, iOS, Web** +Display server supports text-to-speech. See ``tts_*`` methods. **Windows, macOS, Linux (X11/Wayland), Android, iOS, Web** .. _class_DisplayServer_constant_FEATURE_EXTEND_TO_TITLE: @@ -1064,7 +1066,7 @@ The window background can be transparent. \ **Note:** This flag has no effect if :ref:`ProjectSettings.display/window/per_pixel_transparency/allowed` is set to ``false``. -\ **Note:** Transparency support is implemented on Linux (X11), macOS and Windows, but availability might vary depending on GPU driver, display manager, and compositor capabilities. +\ **Note:** Transparency support is implemented on Linux (X11/Wayland), macOS, and Windows, but availability might vary depending on GPU driver, display manager, and compositor capabilities. .. _class_DisplayServer_constant_WINDOW_FLAG_NO_FOCUS: @@ -1300,7 +1302,7 @@ OpenGL context (only with the GL Compatibility renderer): - Windows: ``HGLRC`` for the window (native GL), or ``EGLContext`` for the window (ANGLE). -- Linux: ``GLXContext*`` for the window. +- Linux (X11): ``GLXContext*`` for the window. - macOS: ``NSOpenGLContext*`` for the window (native GL), or ``EGLContext`` for the window (ANGLE). @@ -1365,6 +1367,8 @@ Constants Represents the screen containing the mouse pointer. +\ **Note:** On Linux (Wayland), this constant always represents the screen at index ``0``. + .. _class_DisplayServer_constant_SCREEN_WITH_KEYBOARD_FOCUS: .. rst-class:: classref-constant @@ -1373,6 +1377,8 @@ Represents the screen containing the mouse pointer. Represents the screen containing the window with the keyboard focus. +\ **Note:** On Linux (Wayland), this constant always represents the screen at index ``0``. + .. _class_DisplayServer_constant_SCREEN_PRIMARY: .. rst-class:: classref-constant @@ -1381,6 +1387,8 @@ Represents the screen containing the window with the keyboard focus. Represents the primary screen. +\ **Note:** On Linux (Wayland), this constant always represents the screen at index ``0``. + .. _class_DisplayServer_constant_SCREEN_OF_MAIN_WINDOW: .. rst-class:: classref-constant @@ -1389,6 +1397,8 @@ Represents the primary screen. Represents the screen where the main window is located. This is usually the default value in functions that allow specifying one of several screens. +\ **Note:** On Linux (Wayland), this constant always represents the screen at index ``0``. + .. _class_DisplayServer_constant_MAIN_WINDOW_ID: .. rst-class:: classref-constant @@ -1446,7 +1456,7 @@ Returns the user's clipboard as an image if possible. Returns the user's `primary `__ clipboard as a string if possible. This is the clipboard that is set when the user selects text in any application, rather than when pressing :kbd:`Ctrl + C`. The clipboard data can then be pasted by clicking the middle mouse button in any application that supports the primary clipboard mechanism. -\ **Note:** This method is only implemented on Linux (X11). +\ **Note:** This method is only implemented on Linux (X11/Wayland). .. rst-class:: classref-item-separator @@ -1496,7 +1506,7 @@ void **clipboard_set_primary** **(** :ref:`String` clipboard_prima Sets the user's `primary `__ clipboard content to the given string. This is the clipboard that is set when the user selects text in any application, rather than when pressing :kbd:`Ctrl + C`. The clipboard data can then be pasted by clicking the middle mouse button in any application that supports the primary clipboard mechanism. -\ **Note:** This method is only implemented on Linux (X11). +\ **Note:** This method is only implemented on Linux (X11/Wayland). .. rst-class:: classref-item-separator @@ -1588,11 +1598,9 @@ Allows the ``process_id`` PID to steal focus from this window. In other words, t Displays OS native dialog for selecting files or directories in the file system. -Callbacks have the following arguments: ``bool status, PackedStringArray selected_paths, int selected_filter_index``. - -\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG` feature. +Callbacks have the following arguments: ``status: bool, selected_paths: PackedStringArray, selected_filter_index: int``. -\ **Note:** This method is implemented on Linux, Windows and macOS. +\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG` feature. Supported platforms include Linux (X11 and Wayland), Windows, and macOS. \ **Note:** ``current_directory`` might be ignored. @@ -1606,6 +1614,38 @@ Callbacks have the following arguments: ``bool status, PackedStringArray selecte ---- +.. _class_DisplayServer_method_file_dialog_with_options_show: + +.. rst-class:: classref-method + +:ref:`Error` **file_dialog_with_options_show** **(** :ref:`String` title, :ref:`String` current_directory, :ref:`String` root, :ref:`String` filename, :ref:`bool` show_hidden, :ref:`FileDialogMode` mode, :ref:`PackedStringArray` filters, :ref:`Dictionary[]` options, :ref:`Callable` callback **)** + +Displays OS native dialog for selecting files or directories in the file system with additional user selectable options. + +\ ``options`` is array of :ref:`Dictionary`\ s with the following keys: + +- ``"name"`` - option's name :ref:`String`. + +- ``"values"`` - :ref:`PackedStringArray` of values. If empty, boolean option (check box) is used. + +- ``"default"`` - default selected option index (:ref:`int`) or default boolean value (:ref:`bool`). + +Callbacks have the following arguments: ``status: bool, selected_paths: PackedStringArray, selected_filter_index: int, selected_option: Dictionary``. + +\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG` feature. Supported platforms include Linux (X11 and Wayland), Windows, and macOS. + +\ **Note:** ``current_directory`` might be ignored. + +\ **Note:** On Linux (X11), ``show_hidden`` is ignored. + +\ **Note:** On macOS, native file dialogs have no title. + +\ **Note:** On macOS, sandboxed apps will save security-scoped bookmarks to retain access to the opened folders across multiple sessions. Use :ref:`OS.get_granted_permissions` to get a list of saved bookmarks. + +.. rst-class:: classref-item-separator + +---- + .. _class_DisplayServer_method_force_process_and_drop_events: .. rst-class:: classref-method @@ -1678,9 +1718,9 @@ Returns the index of the screen containing the window with the keyboard focus, o :ref:`String` **get_name** **(** **)** |const| -Returns the name of the **DisplayServer** currently in use. Most operating systems only have a single **DisplayServer**, but Linux has access to more than one **DisplayServer** (although only X11 is currently implemented in Godot). +Returns the name of the **DisplayServer** currently in use. Most operating systems only have a single **DisplayServer**, but Linux has access to more than one **DisplayServer** (currently X11 and Wayland). -The names of built-in display servers are ``Windows``, ``macOS``, ``X11`` (Linux), ``Android``, ``iOS``, ``web`` (HTML5) and ``headless`` (when started with the ``--headless`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>`). +The names of built-in display servers are ``Windows``, ``macOS``, ``X11`` (Linux), ``Wayland`` (Linux), ``Android``, ``iOS``, ``web`` (HTML5), and ``headless`` (when started with the ``--headless`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>`). .. rst-class:: classref-item-separator @@ -2675,7 +2715,7 @@ Returns the composition string contained within the `Input Method Editor ` index **)** Sets the active keyboard layout. -\ **Note:** This method is implemented on Linux (X11), macOS and Windows. +\ **Note:** This method is implemented on Linux (X11/Wayland), macOS and Windows. .. rst-class:: classref-item-separator @@ -2886,7 +2926,7 @@ Returns the dots per inch density of the specified screen. If ``screen`` is :ref xxhdpi - 480 dpi xxxhdpi - 640 dpi -\ **Note:** This method is implemented on Android, Linux (X11), macOS and Windows. Returns ``72`` on unsupported platforms. +\ **Note:** This method is implemented on Android, Linux (X11/Wayland), macOS and Windows. Returns ``72`` on unsupported platforms. .. rst-class:: classref-item-separator @@ -2973,6 +3013,8 @@ Returns the screen's top-left corner position in pixels. On multi-monitor setups See also :ref:`screen_get_size`. +\ **Note:** On Linux (Wayland) this method always returns ``(0, 0)``. + .. rst-class:: classref-item-separator ---- @@ -3183,7 +3225,7 @@ Each :ref:`Dictionary` contains two :ref:`String Note that Godot depends on system libraries for text-to-speech functionality. These libraries are installed by default on Windows and macOS, but not on all Linux distributions. If they are not present, this method will return an empty list. This applies to both Godot users on Linux, as well as end-users on Linux running Godot games that use text-to-speech. -\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Wayland), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3199,7 +3241,7 @@ Note that Godot depends on system libraries for text-to-speech functionality. Th Returns an :ref:`PackedStringArray` of voice identifiers for the ``language``. -\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Wayland), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3215,7 +3257,7 @@ Returns an :ref:`PackedStringArray` of voice identifier Returns ``true`` if the synthesizer is in a paused state. -\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Wayland), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3231,7 +3273,7 @@ Returns ``true`` if the synthesizer is in a paused state. Returns ``true`` if the synthesizer is generating speech, or have utterance waiting in the queue. -\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Wayland), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3247,7 +3289,7 @@ void **tts_pause** **(** **)** Puts the synthesizer into a paused state. -\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Wayland), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3263,7 +3305,7 @@ void **tts_resume** **(** **)** Resumes the synthesizer if it was paused. -\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Wayland), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3285,7 +3327,7 @@ Adds a callback, which is called when the utterance has started, finished, cance \ **Note:** The granularity of the boundary callbacks is engine dependent. -\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Wayland), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3311,11 +3353,11 @@ Adds an utterance to the queue. If ``interrupt`` is ``true``, the queue is clear - ``utterance_id`` is passed as a parameter to the callback functions. -\ **Note:** On Windows and Linux (X11), utterance ``text`` can use SSML markup. SSML support is engine and voice dependent. If the engine does not support SSML, you should strip out all XML markup before calling :ref:`tts_speak`. +\ **Note:** On Windows and Linux (X11/Wayland), utterance ``text`` can use SSML markup. SSML support is engine and voice dependent. If the engine does not support SSML, you should strip out all XML markup before calling :ref:`tts_speak`. \ **Note:** The granularity of pitch, rate, and volume is engine and voice dependent. Values may be truncated. -\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Wayland), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3331,7 +3373,7 @@ void **tts_stop** **(** **)** Stops synthesis in progress and removes all utterances from the queue. -\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Linux), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3397,7 +3439,7 @@ void **warp_mouse** **(** :ref:`Vector2i` position **)** Sets the mouse cursor position to the given ``position`` relative to an origin at the upper left corner of the currently focused game Window Manager window. -\ **Note:** :ref:`warp_mouse` is only supported on Windows, macOS and Linux. It has no effect on Android, iOS and Web. +\ **Note:** :ref:`warp_mouse` is only supported on Windows, macOS, and Linux (X11/Wayland). It has no effect on Android, iOS, and Web. .. rst-class:: classref-item-separator @@ -3507,7 +3549,7 @@ Returns the mode of the given window. Returns internal structure pointers for use in plugins. -\ **Note:** This method is implemented on Android, Linux (X11), macOS and Windows. +\ **Note:** This method is implemented on Android, Linux (X11/Wayland), macOS, and Windows. .. rst-class:: classref-item-separator @@ -3709,7 +3751,7 @@ Sets the ``callback`` that should be called when files are dropped from the oper \ **Warning:** Advanced users only! Adding such a callback to a :ref:`Window` node will override its default implementation, which can introduce bugs. -\ **Note:** This method is implemented on Windows, macOS, Linux (X11) and Web. +\ **Note:** This method is implemented on Windows, macOS, Linux (X11/Wayland), and Web. .. rst-class:: classref-item-separator @@ -3921,6 +3963,8 @@ See also :ref:`window_get_position` instead. +\ **Note:** On Linux (Wayland): this method is a no-op. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_editorinterface.rst b/classes/class_editorinterface.rst index fc3f8b45282..396efcc1958 100644 --- a/classes/class_editorinterface.rst +++ b/classes/class_editorinterface.rst @@ -112,6 +112,8 @@ Methods +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`inspect_object` **(** :ref:`Object` object, :ref:`String` for_property="", :ref:`bool` inspector_only=false **)** | +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_multi_window_enabled` **(** **)** |const| | + +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_playing_scene` **(** **)** |const| | +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_plugin_enabled` **(** :ref:`String` plugin **)** |const| | @@ -329,6 +331,8 @@ Returns the edited (current) scene's root :ref:`Node`. Returns the editor control responsible for main screen plugins and tools. Use it with plugins that implement :ref:`EditorPlugin._has_main_screen`. +\ **Note:** This node is a :ref:`VBoxContainer`, which means that if you add a :ref:`Control` child to it, you need to set the child's :ref:`Control.size_flags_vertical` to :ref:`Control.SIZE_EXPAND_FILL` to make it use the full available space. + \ **Warning:** Removing and freeing this node will render a part of the editor useless and may cause a crash. .. rst-class:: classref-item-separator @@ -537,6 +541,24 @@ Shows the given property on the given ``object`` in the editor's Inspector dock. ---- +.. _class_EditorInterface_method_is_multi_window_enabled: + +.. rst-class:: classref-method + +:ref:`bool` **is_multi_window_enabled** **(** **)** |const| + +Returns ``true`` if multiple window support is enabled in the editor. Multiple window support is enabled if *all* of these statements are true: + +- :ref:`EditorSettings.interface/multi_window/enable` is ``true``. + +- :ref:`EditorSettings.interface/editor/single_window_mode` is ``false``. + +- :ref:`Viewport.gui_embed_subwindows` is ``false``. This is forced to ``true`` on platforms that don't support multiple windows such as Web, or when the ``--single-window`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>` is used. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorInterface_method_is_playing_scene: .. rst-class:: classref-method diff --git a/classes/class_editorplugin.rst b/classes/class_editorplugin.rst index e47ec3de3fa..0c87f971f14 100644 --- a/classes/class_editorplugin.rst +++ b/classes/class_editorplugin.rst @@ -217,7 +217,7 @@ Emitted when any project setting has changed. **resource_saved** **(** :ref:`Resource` resource **)** -Emitted when the given ``resource`` was saved on disc. +Emitted when the given ``resource`` was saved on disc. See also :ref:`scene_saved`. .. rst-class:: classref-item-separator @@ -241,7 +241,19 @@ Emitted when the scene is changed in the editor. The argument will return the ro **scene_closed** **(** :ref:`String` filepath **)** -Emitted when user closes a scene. The argument is file path to a closed scene. +Emitted when user closes a scene. The argument is a file path to the closed scene. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorPlugin_signal_scene_saved: + +.. rst-class:: classref-signal + +**scene_saved** **(** :ref:`String` filepath **)** + +Emitted when a scene was saved on disc. The argument is a file path to the saved scene. See also :ref:`resource_saved`. .. rst-class:: classref-section-separator @@ -970,7 +982,7 @@ Implement this function if your plugin edits a specific type of object (Resource Returns ``true`` if this is a main screen editor plugin (it goes in the workspace selector together with **2D**, **3D**, **Script** and **AssetLib**). -When the plugin's workspace is selected, other main screen plugins will be hidden, but your plugin will not appear automatically. It needs to be added as a child of :ref:`EditorInterface.get_base_control` and made visible inside :ref:`_make_visible`. +When the plugin's workspace is selected, other main screen plugins will be hidden, but your plugin will not appear automatically. It needs to be added as a child of :ref:`EditorInterface.get_editor_main_screen` and made visible inside :ref:`_make_visible`. Use :ref:`_get_plugin_name` and :ref:`_get_plugin_icon` to customize the plugin button's appearance. diff --git a/classes/class_editorsceneformatimporterblend.rst b/classes/class_editorsceneformatimporterblend.rst index cf4875a8a8d..aa111436f36 100644 --- a/classes/class_editorsceneformatimporterblend.rst +++ b/classes/class_editorsceneformatimporterblend.rst @@ -21,7 +21,7 @@ Description Imports Blender scenes in the ``.blend`` file format through the glTF 2.0 3D import pipeline. This importer requires Blender to be installed by the user, so that it can be used to export the scene as glTF 2.0. -The location of the Blender binary is set via the ``filesystem/import/blender/blender3_path`` editor setting. +The location of the Blender binary is set via the ``filesystem/import/blender/blender_path`` editor setting. This importer is only used if :ref:`ProjectSettings.filesystem/import/blender/enabled` is enabled, otherwise ``.blend`` files present in the project folder are not imported. diff --git a/classes/class_editorsettings.rst b/classes/class_editorsettings.rst index dc1fbac080d..80b833aa316 100644 --- a/classes/class_editorsettings.rst +++ b/classes/class_editorsettings.rst @@ -245,7 +245,7 @@ Properties +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`filesystem/file_dialog/thumbnail_size` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`filesystem/import/blender/blender3_path` | + | :ref:`String` | :ref:`filesystem/import/blender/blender_path` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`filesystem/import/blender/rpc_port` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -373,6 +373,8 @@ Properties +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`interface/touchscreen/scale_gizmo_handles` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`network/connection/network_mode` | + +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`network/debug/remote_host` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`network/debug/remote_port` | @@ -397,6 +399,8 @@ Properties +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`run/output/font_size` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`run/platforms/linuxbsd/prefer_wayland` | + +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`run/window_placement/android_window` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`run/window_placement/rect` | @@ -983,7 +987,9 @@ The color of the viewport border in the 2D editor. This border represents the vi :ref:`float` **editors/3d/default_fov** -The default camera field of view to use in the 3D editor (in degrees). The camera field of view can be adjusted on a per-scene basis using the **View** menu at the top of the 3D editor. If a scene had its camera field of view adjusted using the **View** menu, this setting is ignored in the scene in question. This setting is also ignored while a Camera3D node is being previewed in the editor. +The default camera vertical field of view to use in the 3D editor (in degrees). The camera field of view can be adjusted on a per-scene basis using the **View** menu at the top of the 3D editor. If a scene had its camera field of view adjusted using the **View** menu, this setting is ignored in the scene in question. This setting is also ignored while a :ref:`Camera3D` node is being previewed in the editor. + +\ **Note:** The editor camera always uses the **Keep Height** aspect mode. .. rst-class:: classref-item-separator @@ -995,7 +1001,7 @@ The default camera field of view to use in the 3D editor (in degrees). The camer :ref:`float` **editors/3d/default_z_far** -The default camera far clip distance to use in the 3D editor (in degrees). Higher values make it possible to view objects placed further away from the camera, at the cost of lower precision in the depth buffer (which can result in visible Z-fighting in the distance). The camera far clip distance can be adjusted on a per-scene basis using the **View** menu at the top of the 3D editor. If a scene had its camera far clip distance adjusted using the **View** menu, this setting is ignored in the scene in question. This setting is also ignored while a Camera3D node is being previewed in the editor. +The default camera far clip distance to use in the 3D editor (in degrees). Higher values make it possible to view objects placed further away from the camera, at the cost of lower precision in the depth buffer (which can result in visible Z-fighting in the distance). The camera far clip distance can be adjusted on a per-scene basis using the **View** menu at the top of the 3D editor. If a scene had its camera far clip distance adjusted using the **View** menu, this setting is ignored in the scene in question. This setting is also ignored while a :ref:`Camera3D` node is being previewed in the editor. .. rst-class:: classref-item-separator @@ -1007,7 +1013,7 @@ The default camera far clip distance to use in the 3D editor (in degrees). Highe :ref:`float` **editors/3d/default_z_near** -The default camera near clip distance to use in the 3D editor (in degrees). Lower values make it possible to view objects placed closer to the camera, at the cost of lower precision in the depth buffer (which can result in visible Z-fighting in the distance). The camera near clip distance can be adjusted on a per-scene basis using the **View** menu at the top of the 3D editor. If a scene had its camera near clip distance adjusted using the **View** menu, this setting is ignored in the scene in question. This setting is also ignored while a Camera3D node is being previewed in the editor. +The default camera near clip distance to use in the 3D editor (in degrees). Lower values make it possible to view objects placed closer to the camera, at the cost of lower precision in the depth buffer (which can result in visible Z-fighting in the distance). The camera near clip distance can be adjusted on a per-scene basis using the **View** menu at the top of the 3D editor. If a scene had its camera near clip distance adjusted using the **View** menu, this setting is ignored in the scene in question. This setting is also ignored while a :ref:`Camera3D` node is being previewed in the editor. .. rst-class:: classref-item-separator @@ -1853,11 +1859,11 @@ The thumbnail size to use in the editor's file dialogs (in pixels). See also :re ---- -.. _class_EditorSettings_property_filesystem/import/blender/blender3_path: +.. _class_EditorSettings_property_filesystem/import/blender/blender_path: .. rst-class:: classref-property -:ref:`String` **filesystem/import/blender/blender3_path** +:ref:`String` **filesystem/import/blender/blender_path** The path to the directory containing the Blender executable used for converting the Blender 3D scene files ``.blend`` to glTF 2.0 format during import. Blender 3.0 or later is required. @@ -2291,6 +2297,8 @@ The default **Auto** value will only enable this if the editor was compiled with If ``true``, embed modal windows such as docks inside the main editor window. When single-window mode is enabled, tooltips will also be embedded inside the main editor window, which means they can't be displayed outside of the editor window. +\ **Note:** To query whether the editor can use multiple windows in an editor plugin, use :ref:`EditorInterface.is_multi_window_enabled` instead of querying the value of this editor setting. + .. rst-class:: classref-item-separator ---- @@ -2375,10 +2383,12 @@ If ``true``, display OpenType features marked as ``hidden`` by the font file in :ref:`bool` **interface/multi_window/enable** -If ``true``, the multi window support in editor is enabled. The following panels can become dedicated windows (made floating): Docks, Script editor, and Shader editor. +If ``true``, multiple window support in editor is enabled. The following panels can become dedicated windows (i.e. made floating): Docks, Script editor, and Shader editor. \ **Note:** When :ref:`interface/editor/single_window_mode` is ``true``, the multi window support is always disabled. +\ **Note:** To query whether the editor can use multiple windows in an editor plugin, use :ref:`EditorInterface.is_multi_window_enabled` instead of querying the value of this editor setting. + .. rst-class:: classref-item-separator ---- @@ -2477,7 +2487,7 @@ The color to use for "highlighted" user interface elements in the editor (presse The extra spacing to add to various GUI elements in the editor (in pixels). Increasing this value is useful to improve usability on touch screens, at the cost of reducing the amount of usable screen real estate. - See also :ref:`interface/theme/spacing_preset`. +See also :ref:`interface/theme/spacing_preset`. .. rst-class:: classref-item-separator @@ -2691,6 +2701,18 @@ Specify the multiplier to apply to the scale for the editor gizmo handles to imp ---- +.. _class_EditorSettings_property_network/connection/network_mode: + +.. rst-class:: classref-property + +:ref:`int` **network/connection/network_mode** + +Determines whether online features are enabled in the editor, such as the Asset Library. Setting this property to "Offline" is recommended to limit editor's internet activity, especially if privacy is a concern. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorSettings_property_network/debug/remote_host: .. rst-class:: classref-property @@ -2839,6 +2861,18 @@ The size of the font in the **Output** panel at the bottom of the editor. This s ---- +.. _class_EditorSettings_property_run/platforms/linuxbsd/prefer_wayland: + +.. rst-class:: classref-property + +:ref:`bool` **run/platforms/linuxbsd/prefer_wayland** + +If ``true``, on Linux/BSD, the editor will check for Wayland first instead of X11 (if available). + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorSettings_property_run/window_placement/android_window: .. rst-class:: classref-property diff --git a/classes/class_engine.rst b/classes/class_engine.rst index b5d88453fa2..25660895a2a 100644 --- a/classes/class_engine.rst +++ b/classes/class_engine.rst @@ -542,8 +542,6 @@ Returns the current engine version information in a Dictionary. \ ``hash`` - Holds the full Git commit hash as a String -\ ``year`` - Holds the year the version was released in as an int - \ ``string`` - ``major`` + ``minor`` + ``patch`` + ``status`` + ``build`` in a single String The ``hex`` value is encoded as follows, from left to right: one byte for the major, one byte for the minor, one byte for the patch version. For example, "3.1.12" would be ``0x03010C``. **Note:** It's still an int internally, and printing it will give you its decimal representation, which is not particularly meaningful. Use hexadecimal literals for easy version comparisons from code: diff --git a/classes/class_filedialog.rst b/classes/class_filedialog.rst index 22831cdb831..1bad9f7be2d 100644 --- a/classes/class_filedialog.rst +++ b/classes/class_filedialog.rst @@ -46,6 +46,8 @@ Properties +---------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`mode_overrides_title` | ``true`` | +---------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`option_count` | ``0`` | + +---------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`root_subfolder` | ``""`` | +---------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`show_hidden_files` | ``false`` | @@ -63,19 +65,35 @@ Methods .. table:: :widths: auto - +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`add_filter` **(** :ref:`String` filter, :ref:`String` description="" **)** | - +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`clear_filters` **(** **)** | - +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`deselect_all` **(** **)** | - +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`LineEdit` | :ref:`get_line_edit` **(** **)** | - +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`VBoxContainer` | :ref:`get_vbox` **(** **)** | - +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`invalidate` **(** **)** | - +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`add_filter` **(** :ref:`String` filter, :ref:`String` description="" **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`add_option` **(** :ref:`String` name, :ref:`PackedStringArray` values, :ref:`int` index **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`clear_filters` **(** **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`deselect_all` **(** **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`LineEdit` | :ref:`get_line_edit` **(** **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_option_default` **(** :ref:`int` option **)** |const| | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_option_name` **(** :ref:`int` option **)** |const| | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`get_option_values` **(** :ref:`int` option **)** |const| | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary` | :ref:`get_selected_options` **(** **)** |const| | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`VBoxContainer` | :ref:`get_vbox` **(** **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`invalidate` **(** **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_option_default` **(** :ref:`int` option, :ref:`int` index **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_option_name` **(** :ref:`int` option, :ref:`String` name **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_option_values` **(** :ref:`int` option, :ref:`PackedStringArray` values **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-reftable-group @@ -367,6 +385,23 @@ If ``true``, changing the :ref:`file_mode` ---- +.. _class_FileDialog_property_option_count: + +.. rst-class:: classref-property + +:ref:`int` **option_count** = ``0`` + +.. rst-class:: classref-property-setget + +- void **set_option_count** **(** :ref:`int` value **)** +- :ref:`int` **get_option_count** **(** **)** + +The number of additional :ref:`OptionButton`\ s and :ref:`CheckBox`\ es in the dialog. + +.. rst-class:: classref-item-separator + +---- + .. _class_FileDialog_property_root_subfolder: .. rst-class:: classref-property @@ -441,6 +476,18 @@ For example, a ``filter`` of ``"*.png, *.jpg"`` and a ``description`` of ``"Imag ---- +.. _class_FileDialog_method_add_option: + +.. rst-class:: classref-method + +void **add_option** **(** :ref:`String` name, :ref:`PackedStringArray` values, :ref:`int` index **)** + +Adds an additional :ref:`OptionButton` to the file dialog. If ``values`` is empty, a :ref:`CheckBox` is added instead. + +.. rst-class:: classref-item-separator + +---- + .. _class_FileDialog_method_clear_filters: .. rst-class:: classref-method @@ -479,6 +526,54 @@ Returns the LineEdit for the selected file. ---- +.. _class_FileDialog_method_get_option_default: + +.. rst-class:: classref-method + +:ref:`int` **get_option_default** **(** :ref:`int` option **)** |const| + +Returns the default value index of the :ref:`OptionButton` or :ref:`CheckBox` with index ``option``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_FileDialog_method_get_option_name: + +.. rst-class:: classref-method + +:ref:`String` **get_option_name** **(** :ref:`int` option **)** |const| + +Returns the name of the :ref:`OptionButton` or :ref:`CheckBox` with index ``option``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_FileDialog_method_get_option_values: + +.. rst-class:: classref-method + +:ref:`PackedStringArray` **get_option_values** **(** :ref:`int` option **)** |const| + +Returns an array of values of the :ref:`OptionButton` with index ``option``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_FileDialog_method_get_selected_options: + +.. rst-class:: classref-method + +:ref:`Dictionary` **get_selected_options** **(** **)** |const| + +Returns a :ref:`Dictionary` with the selected values of the additional :ref:`OptionButton`\ s and/or :ref:`CheckBox`\ es. :ref:`Dictionary` keys are names and values are selected value indices. + +.. rst-class:: classref-item-separator + +---- + .. _class_FileDialog_method_get_vbox: .. rst-class:: classref-method @@ -501,6 +596,42 @@ void **invalidate** **(** **)** Invalidate and update the current dialog content list. +.. rst-class:: classref-item-separator + +---- + +.. _class_FileDialog_method_set_option_default: + +.. rst-class:: classref-method + +void **set_option_default** **(** :ref:`int` option, :ref:`int` index **)** + +Sets the default value index of the :ref:`OptionButton` or :ref:`CheckBox` with index ``option``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_FileDialog_method_set_option_name: + +.. rst-class:: classref-method + +void **set_option_name** **(** :ref:`int` option, :ref:`String` name **)** + +Sets the name of the :ref:`OptionButton` or :ref:`CheckBox` with index ``option``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_FileDialog_method_set_option_values: + +.. rst-class:: classref-method + +void **set_option_values** **(** :ref:`int` option, :ref:`PackedStringArray` values **)** + +Sets the option values of the :ref:`OptionButton` with index ``option``. + .. rst-class:: classref-section-separator ---- diff --git a/classes/class_flowcontainer.rst b/classes/class_flowcontainer.rst index f1102e108ed..48f466ba9a2 100644 --- a/classes/class_flowcontainer.rst +++ b/classes/class_flowcontainer.rst @@ -38,11 +38,13 @@ Properties .. table:: :widths: auto - +--------------------------------------------------------+----------------------------------------------------------+-----------+ - | :ref:`AlignmentMode` | :ref:`alignment` | ``0`` | - +--------------------------------------------------------+----------------------------------------------------------+-----------+ - | :ref:`bool` | :ref:`vertical` | ``false`` | - +--------------------------------------------------------+----------------------------------------------------------+-----------+ + +--------------------------------------------------------+----------------------------------------------------------------+-----------+ + | :ref:`AlignmentMode` | :ref:`alignment` | ``0`` | + +--------------------------------------------------------+----------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`reverse_fill` | ``false`` | + +--------------------------------------------------------+----------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`vertical` | ``false`` | + +--------------------------------------------------------+----------------------------------------------------------------+-----------+ .. rst-class:: classref-reftable-group @@ -135,6 +137,25 @@ The alignment of the container's children (must be one of :ref:`ALIGNMENT_BEGIN< ---- +.. _class_FlowContainer_property_reverse_fill: + +.. rst-class:: classref-property + +:ref:`bool` **reverse_fill** = ``false`` + +.. rst-class:: classref-property-setget + +- void **set_reverse_fill** **(** :ref:`bool` value **)** +- :ref:`bool` **is_reverse_fill** **(** **)** + +If ``true``, reverses fill direction. Horizontal **FlowContainer**\ s will fill rows bottom to top, vertical **FlowContainer**\ s will fill columns right to left. + +When using a vertical **FlowContainer** with a right to left :ref:`Control.layout_direction`, columns will fill left to right instead. + +.. rst-class:: classref-item-separator + +---- + .. _class_FlowContainer_property_vertical: .. rst-class:: classref-property diff --git a/classes/class_font.rst b/classes/class_font.rst index 11f5a46d350..438729615d5 100644 --- a/classes/class_font.rst +++ b/classes/class_font.rst @@ -56,7 +56,7 @@ Methods +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`draw_string_outline` **(** :ref:`RID` canvas_item, :ref:`Vector2` pos, :ref:`String` text, :ref:`HorizontalAlignment` alignment=0, :ref:`float` width=-1, :ref:`int` font_size=16, :ref:`int` size=1, :ref:`Color` modulate=Color(1, 1, 1, 1), |bitfield|\<:ref:`JustificationFlag`\> justification_flags=3, :ref:`Direction` direction=0, :ref:`Orientation` orientation=0 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`RID` | :ref:`find_variation` **(** :ref:`Dictionary` variation_coordinates, :ref:`int` face_index=0, :ref:`float` strength=0.0, :ref:`Transform2D` transform=Transform2D(1, 0, 0, 1, 0, 0), :ref:`int` spacing_top=0, :ref:`int` spacing_bottom=0, :ref:`int` spacing_space=0, :ref:`int` spacing_glyph=0 **)** |const| | + | :ref:`RID` | :ref:`find_variation` **(** :ref:`Dictionary` variation_coordinates, :ref:`int` face_index=0, :ref:`float` strength=0.0, :ref:`Transform2D` transform=Transform2D(1, 0, 0, 1, 0, 0), :ref:`int` spacing_top=0, :ref:`int` spacing_bottom=0, :ref:`int` spacing_space=0, :ref:`int` spacing_glyph=0, :ref:`float` baseline_offset=0.0 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_ascent` **(** :ref:`int` font_size=16 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -230,7 +230,7 @@ See also :ref:`CanvasItem.draw_string_outline` **find_variation** **(** :ref:`Dictionary` variation_coordinates, :ref:`int` face_index=0, :ref:`float` strength=0.0, :ref:`Transform2D` transform=Transform2D(1, 0, 0, 1, 0, 0), :ref:`int` spacing_top=0, :ref:`int` spacing_bottom=0, :ref:`int` spacing_space=0, :ref:`int` spacing_glyph=0 **)** |const| +:ref:`RID` **find_variation** **(** :ref:`Dictionary` variation_coordinates, :ref:`int` face_index=0, :ref:`float` strength=0.0, :ref:`Transform2D` transform=Transform2D(1, 0, 0, 1, 0, 0), :ref:`int` spacing_top=0, :ref:`int` spacing_bottom=0, :ref:`int` spacing_space=0, :ref:`int` spacing_glyph=0, :ref:`float` baseline_offset=0.0 **)** |const| Returns :ref:`TextServer` RID of the font cache for specific variation. diff --git a/classes/class_fontfile.rst b/classes/class_fontfile.rst index e808a1206b4..be350d31a50 100644 --- a/classes/class_fontfile.rst +++ b/classes/class_fontfile.rst @@ -146,6 +146,8 @@ Methods +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_embolden` **(** :ref:`int` cache_index **)** |const| | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_extra_baseline_offset` **(** :ref:`int` cache_index **)** |const| | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_extra_spacing` **(** :ref:`int` cache_index, :ref:`SpacingType` spacing **)** |const| | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_face_index` **(** :ref:`int` cache_index **)** |const| | @@ -222,6 +224,8 @@ Methods +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_embolden` **(** :ref:`int` cache_index, :ref:`float` strength **)** | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_extra_baseline_offset` **(** :ref:`int` cache_index, :ref:`float` baseline_offset **)** | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_extra_spacing` **(** :ref:`int` cache_index, :ref:`SpacingType` spacing, :ref:`int` value **)** | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_face_index` **(** :ref:`int` cache_index, :ref:`int` face_index **)** | @@ -752,6 +756,18 @@ Returns embolden strength, if is not equal to zero, emboldens the font outlines. ---- +.. _class_FontFile_method_get_extra_baseline_offset: + +.. rst-class:: classref-method + +:ref:`float` **get_extra_baseline_offset** **(** :ref:`int` cache_index **)** |const| + +Returns extra baseline offset (as a fraction of font height). + +.. rst-class:: classref-item-separator + +---- + .. _class_FontFile_method_get_extra_spacing: .. rst-class:: classref-method @@ -1218,6 +1234,18 @@ Sets embolden strength, if is not equal to zero, emboldens the font outlines. Ne ---- +.. _class_FontFile_method_set_extra_baseline_offset: + +.. rst-class:: classref-method + +void **set_extra_baseline_offset** **(** :ref:`int` cache_index, :ref:`float` baseline_offset **)** + +Sets extra baseline offset (as a fraction of font height). + +.. rst-class:: classref-item-separator + +---- + .. _class_FontFile_method_set_extra_spacing: .. rst-class:: classref-method diff --git a/classes/class_fontvariation.rst b/classes/class_fontvariation.rst index 754aa0b6342..023f5d3b47b 100644 --- a/classes/class_fontvariation.rst +++ b/classes/class_fontvariation.rst @@ -64,6 +64,8 @@ Properties +---------------------------------------+--------------------------------------------------------------------------------+-----------------------------------+ | :ref:`Font` | :ref:`base_font` | | +---------------------------------------+--------------------------------------------------------------------------------+-----------------------------------+ + | :ref:`float` | :ref:`baseline_offset` | ``0.0`` | + +---------------------------------------+--------------------------------------------------------------------------------+-----------------------------------+ | :ref:`Dictionary` | :ref:`opentype_features` | ``{}`` | +---------------------------------------+--------------------------------------------------------------------------------+-----------------------------------+ | :ref:`int` | :ref:`spacing_bottom` | ``0`` | @@ -121,6 +123,23 @@ Base font used to create a variation. If not set, default :ref:`Theme` **baseline_offset** = ``0.0`` + +.. rst-class:: classref-property-setget + +- void **set_baseline_offset** **(** :ref:`float` value **)** +- :ref:`float` **get_baseline_offset** **(** **)** + +Extra baseline offset (as a fraction of font height). + +.. rst-class:: classref-item-separator + +---- + .. _class_FontVariation_property_opentype_features: .. rst-class:: classref-property diff --git a/classes/class_gltfphysicsbody.rst b/classes/class_gltfphysicsbody.rst index 65e4847fa3a..e3f77373e03 100644 --- a/classes/class_gltfphysicsbody.rst +++ b/classes/class_gltfphysicsbody.rst @@ -19,7 +19,7 @@ Represents a GLTF physics body. Description ----------- -Represents a physics body as defined by the ``OMI_physics_body`` GLTF extension. This class is an intermediary between the GLTF data and Godot's nodes, and it's abstracted in a way that allows adding support for different GLTF physics extensions in the future. +Represents a physics body as an intermediary between the ``OMI_physics_body`` GLTF data and Godot's nodes, and it's abstracted in a way that allows adding support for different GLTF physics extensions in the future. .. rst-class:: classref-introduction-group @@ -38,19 +38,23 @@ Properties .. table:: :widths: auto - +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+ - | :ref:`Vector3` | :ref:`angular_velocity` | ``Vector3(0, 0, 0)`` | - +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+ - | :ref:`String` | :ref:`body_type` | ``"static"`` | - +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+ - | :ref:`Vector3` | :ref:`center_of_mass` | ``Vector3(0, 0, 0)`` | - +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+ - | :ref:`Basis` | :ref:`inertia_tensor` | ``Basis(0, 0, 0, 0, 0, 0, 0, 0, 0)`` | - +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+ - | :ref:`Vector3` | :ref:`linear_velocity` | ``Vector3(0, 0, 0)`` | - +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+ - | :ref:`float` | :ref:`mass` | ``1.0`` | - +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+ + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ + | :ref:`Vector3` | :ref:`angular_velocity` | ``Vector3(0, 0, 0)`` | + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ + | :ref:`String` | :ref:`body_type` | ``"rigid"`` | + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ + | :ref:`Vector3` | :ref:`center_of_mass` | ``Vector3(0, 0, 0)`` | + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ + | :ref:`Vector3` | :ref:`inertia_diagonal` | ``Vector3(0, 0, 0)`` | + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ + | :ref:`Quaternion` | :ref:`inertia_orientation` | ``Quaternion(0, 0, 0, 1)`` | + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ + | :ref:`Basis` | :ref:`inertia_tensor` | ``Basis(0, 0, 0, 0, 0, 0, 0, 0, 0)`` | + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ + | :ref:`Vector3` | :ref:`linear_velocity` | ``Vector3(0, 0, 0)`` | + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ + | :ref:`float` | :ref:`mass` | ``1.0`` | + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ .. rst-class:: classref-reftable-group @@ -100,14 +104,14 @@ The angular velocity of the physics body, in radians per second. This is only us .. rst-class:: classref-property -:ref:`String` **body_type** = ``"static"`` +:ref:`String` **body_type** = ``"rigid"`` .. rst-class:: classref-property-setget - void **set_body_type** **(** :ref:`String` value **)** - :ref:`String` **get_body_type** **(** **)** -The type of the body. When importing, this controls what type of :ref:`CollisionObject3D` node Godot should generate. Valid values are "static", "kinematic", "character", "rigid", "vehicle", and "trigger". +The type of the body. When importing, this controls what type of :ref:`CollisionObject3D` node Godot should generate. Valid values are "static", "animatable", "character", "rigid", "vehicle", and "trigger". When exporting, this will be squashed down to one of "static", "kinematic", or "dynamic" motion types, or the "trigger" property. .. rst-class:: classref-item-separator @@ -130,6 +134,42 @@ The center of mass of the body, in meters. This is in local space relative to th ---- +.. _class_GLTFPhysicsBody_property_inertia_diagonal: + +.. rst-class:: classref-property + +:ref:`Vector3` **inertia_diagonal** = ``Vector3(0, 0, 0)`` + +.. rst-class:: classref-property-setget + +- void **set_inertia_diagonal** **(** :ref:`Vector3` value **)** +- :ref:`Vector3` **get_inertia_diagonal** **(** **)** + +The inertia strength of the physics body, in kilogram meter squared (kg⋅m²). This represents the inertia around the principle axes, the diagonal of the inertia tensor matrix. This is only used when the body type is "rigid" or "vehicle". + +When converted to a Godot :ref:`RigidBody3D` node, if this value is zero, then the inertia will be calculated automatically. + +.. rst-class:: classref-item-separator + +---- + +.. _class_GLTFPhysicsBody_property_inertia_orientation: + +.. rst-class:: classref-property + +:ref:`Quaternion` **inertia_orientation** = ``Quaternion(0, 0, 0, 1)`` + +.. rst-class:: classref-property-setget + +- void **set_inertia_orientation** **(** :ref:`Quaternion` value **)** +- :ref:`Quaternion` **get_inertia_orientation** **(** **)** + +The inertia orientation of the physics body. This defines the rotation of the inertia's principle axes relative to the object's local axes. This is only used when the body type is "rigid" or "vehicle" and :ref:`inertia_diagonal` is set to a non-zero value. + +.. rst-class:: classref-item-separator + +---- + .. _class_GLTFPhysicsBody_property_inertia_tensor: .. rst-class:: classref-property @@ -194,7 +234,7 @@ Method Descriptions :ref:`GLTFPhysicsBody` **from_dictionary** **(** :ref:`Dictionary` dictionary **)** |static| -Creates a new GLTFPhysicsBody instance by parsing the given :ref:`Dictionary`. +Creates a new GLTFPhysicsBody instance by parsing the given :ref:`Dictionary` in the ``OMI_physics_body`` GLTF extension format. .. rst-class:: classref-item-separator @@ -218,7 +258,7 @@ Create a new GLTFPhysicsBody instance from the given Godot :ref:`CollisionObject :ref:`Dictionary` **to_dictionary** **(** **)** |const| -Serializes this GLTFPhysicsBody instance into a :ref:`Dictionary`. +Serializes this GLTFPhysicsBody instance into a :ref:`Dictionary`. It will be in the format expected by the ``OMI_physics_body`` GLTF extension. .. rst-class:: classref-item-separator diff --git a/classes/class_gltfphysicsshape.rst b/classes/class_gltfphysicsshape.rst index 7756f5ff7d2..de66d681693 100644 --- a/classes/class_gltfphysicsshape.rst +++ b/classes/class_gltfphysicsshape.rst @@ -19,7 +19,7 @@ Represents a GLTF physics shape. Description ----------- -Represents a physics shape as defined by the ``OMI_collider`` GLTF extension. This class is an intermediary between the GLTF data and Godot's nodes, and it's abstracted in a way that allows adding support for different GLTF physics extensions in the future. +Represents a physics shape as defined by the ``OMI_physics_shape`` or ``OMI_collider`` GLTF extensions. This class is an intermediary between the GLTF data and Godot's nodes, and it's abstracted in a way that allows adding support for different GLTF physics extensions in the future. .. rst-class:: classref-introduction-group @@ -28,7 +28,9 @@ Tutorials - :doc:`Runtime file loading and saving <../tutorials/io/runtime_file_loading_and_saving>` -- `OMI_collider GLTF extension `__ +- `OMI_physics_shape GLTF extension `__ + +- `OMI_collider GLTF extension `__ .. rst-class:: classref-reftable-group @@ -237,7 +239,7 @@ Create a new GLTFPhysicsShape instance from the given Godot :ref:`CollisionShape :ref:`Dictionary` **to_dictionary** **(** **)** |const| -Serializes this GLTFPhysicsShape instance into a :ref:`Dictionary`. +Serializes this GLTFPhysicsShape instance into a :ref:`Dictionary` in the format defined by ``OMI_physics_shape``. .. rst-class:: classref-item-separator diff --git a/classes/class_graphedit.rst b/classes/class_graphedit.rst index b90771943dc..45f46809dc3 100644 --- a/classes/class_graphedit.rst +++ b/classes/class_graphedit.rst @@ -206,7 +206,7 @@ Signals **begin_node_move** **(** **)** -Emitted at the beginning of a GraphNode movement. +Emitted at the beginning of a :ref:`GraphElement`'s movement. .. rst-class:: classref-item-separator @@ -278,7 +278,7 @@ Emitted when user drags a connection from an output port into the empty space of **copy_nodes_request** **(** **)** -Emitted when the user presses :kbd:`Ctrl + C`. +Emitted when this **GraphEdit** captures a ``ui_copy`` action (:kbd:`Ctrl + C` by default). In general, this signal indicates that the selected :ref:`GraphElement`\ s should be copied. .. rst-class:: classref-item-separator @@ -290,7 +290,9 @@ Emitted when the user presses :kbd:`Ctrl + C`. **delete_nodes_request** **(** :ref:`StringName[]` nodes **)** -Emitted when attempting to remove a GraphNode from the GraphEdit. Provides a list of node names to be removed (all selected nodes, excluding nodes without closing button). +Emitted when this **GraphEdit** captures a ``ui_graph_delete`` action (:kbd:`Delete` by default). + +\ ``nodes`` is an array of node names that should be removed. These usually include all selected nodes. .. rst-class:: classref-item-separator @@ -314,7 +316,7 @@ Emitted to the GraphEdit when the connection between ``from_port`` of ``from_nod **duplicate_nodes_request** **(** **)** -Emitted when a GraphNode is attempted to be duplicated in the GraphEdit. +Emitted when this **GraphEdit** captures a ``ui_graph_duplicate`` action (:kbd:`Ctrl + D` by default). In general, this signal indicates that the selected :ref:`GraphElement`\ s should be duplicated. .. rst-class:: classref-item-separator @@ -326,7 +328,7 @@ Emitted when a GraphNode is attempted to be duplicated in the GraphEdit. **end_node_move** **(** **)** -Emitted at the end of a GraphNode movement. +Emitted at the end of a :ref:`GraphElement`'s movement. .. rst-class:: classref-item-separator @@ -338,9 +340,7 @@ Emitted at the end of a GraphNode movement. **node_deselected** **(** :ref:`Node` node **)** -.. container:: contribute - - There is currently no description for this signal. Please help us by :ref:`contributing one `! +Emitted when the given :ref:`GraphElement` node is deselected. .. rst-class:: classref-item-separator @@ -352,7 +352,7 @@ Emitted at the end of a GraphNode movement. **node_selected** **(** :ref:`Node` node **)** -Emitted when a GraphNode is selected. +Emitted when the given :ref:`GraphElement` node is selected. .. rst-class:: classref-item-separator @@ -364,7 +364,7 @@ Emitted when a GraphNode is selected. **paste_nodes_request** **(** **)** -Emitted when the user presses :kbd:`Ctrl + V`. +Emitted when this **GraphEdit** captures a ``ui_paste`` action (:kbd:`Ctrl + V` by default). In general, this signal indicates that previously copied :ref:`GraphElement`\ s should be pasted. .. rst-class:: classref-item-separator diff --git a/classes/class_inputeventjoypadbutton.rst b/classes/class_inputeventjoypadbutton.rst index ba3001a3d16..ad6dc8077a2 100644 --- a/classes/class_inputeventjoypadbutton.rst +++ b/classes/class_inputeventjoypadbutton.rst @@ -98,7 +98,9 @@ If ``true``, the button's state is pressed. If ``false``, the button's state is - void **set_pressure** **(** :ref:`float` value **)** - :ref:`float` **get_pressure** **(** **)** -Represents the pressure the user puts on the button with their finger, if the controller supports it. Ranges from ``0`` to ``1``. +Represents the pressure the user puts on a pressure-sensitive button. + +\ *Deprecated.* This property is never set by the engine and is always ``0``. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |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_inputeventkey.rst b/classes/class_inputeventkey.rst index b3606a1e9eb..1d448257208 100644 --- a/classes/class_inputeventkey.rst +++ b/classes/class_inputeventkey.rst @@ -40,19 +40,21 @@ Properties .. table:: :widths: auto - +-----------------------------------+------------------------------------------------------------------------+-----------+ - | :ref:`bool` | :ref:`echo` | ``false`` | - +-----------------------------------+------------------------------------------------------------------------+-----------+ - | :ref:`Key` | :ref:`key_label` | ``0`` | - +-----------------------------------+------------------------------------------------------------------------+-----------+ - | :ref:`Key` | :ref:`keycode` | ``0`` | - +-----------------------------------+------------------------------------------------------------------------+-----------+ - | :ref:`Key` | :ref:`physical_keycode` | ``0`` | - +-----------------------------------+------------------------------------------------------------------------+-----------+ - | :ref:`bool` | :ref:`pressed` | ``false`` | - +-----------------------------------+------------------------------------------------------------------------+-----------+ - | :ref:`int` | :ref:`unicode` | ``0`` | - +-----------------------------------+------------------------------------------------------------------------+-----------+ + +---------------------------------------------------+------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`echo` | ``false`` | + +---------------------------------------------------+------------------------------------------------------------------------+-----------+ + | :ref:`Key` | :ref:`key_label` | ``0`` | + +---------------------------------------------------+------------------------------------------------------------------------+-----------+ + | :ref:`Key` | :ref:`keycode` | ``0`` | + +---------------------------------------------------+------------------------------------------------------------------------+-----------+ + | :ref:`KeyLocation` | :ref:`location` | ``0`` | + +---------------------------------------------------+------------------------------------------------------------------------+-----------+ + | :ref:`Key` | :ref:`physical_keycode` | ``0`` | + +---------------------------------------------------+------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`pressed` | ``false`` | + +---------------------------------------------------+------------------------------------------------------------------------+-----------+ + | :ref:`int` | :ref:`unicode` | ``0`` | + +---------------------------------------------------+------------------------------------------------------------------------+-----------+ .. rst-class:: classref-reftable-group @@ -67,6 +69,8 @@ Methods +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`as_text_keycode` **(** **)** |const| | +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`as_text_location` **(** **)** |const| | + +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`as_text_physical_keycode` **(** **)** |const| | +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Key` | :ref:`get_key_label_with_modifiers` **(** **)** |const| | @@ -156,6 +160,23 @@ To get a human-readable representation of the **InputEventKey**, use ``OS.get_ke ---- +.. _class_InputEventKey_property_location: + +.. rst-class:: classref-property + +:ref:`KeyLocation` **location** = ``0`` + +.. rst-class:: classref-property-setget + +- void **set_location** **(** :ref:`KeyLocation` value **)** +- :ref:`KeyLocation` **get_location** **(** **)** + +Represents the location of a key which has both left and right versions, such as :kbd:`Shift` or :kbd:`Alt`. + +.. rst-class:: classref-item-separator + +---- + .. _class_InputEventKey_property_physical_keycode: .. rst-class:: classref-property @@ -261,6 +282,18 @@ Returns a :ref:`String` representation of the event's :ref:`keycod ---- +.. _class_InputEventKey_method_as_text_location: + +.. rst-class:: classref-method + +:ref:`String` **as_text_location** **(** **)** |const| + +Returns a :ref:`String` representation of the event's :ref:`location`. This will be a blank string if the event is not specific to a location. + +.. rst-class:: classref-item-separator + +---- + .. _class_InputEventKey_method_as_text_physical_keycode: .. rst-class:: classref-method diff --git a/classes/class_inputeventmidi.rst b/classes/class_inputeventmidi.rst index 445e790aa54..c68c144d91e 100644 --- a/classes/class_inputeventmidi.rst +++ b/classes/class_inputeventmidi.rst @@ -12,18 +12,18 @@ InputEventMIDI **Inherits:** :ref:`InputEvent` **<** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` -Represents an input event from a MIDI device, such as a piano. +Represents a MIDI message from a MIDI device, such as a musical keyboard. .. rst-class:: classref-introduction-group Description ----------- -InputEventMIDI allows receiving input events from MIDI (Musical Instrument Digital Interface) devices such as a piano. +InputEventMIDI stores information about messages from `MIDI `__ (Musical Instrument Digital Interface) devices. These may include musical keyboards, synthesizers, and drum machines. -MIDI signals can be sent over a 5-pin MIDI connector or over USB, if your device supports both be sure to check the settings in the device to see which output it's using. +MIDI messages can be received over a 5-pin MIDI connector or over USB. If your device supports both be sure to check the settings in the device to see which output it is using. -To receive input events from MIDI devices, you need to call :ref:`OS.open_midi_inputs`. You can check which devices are detected using :ref:`OS.get_connected_midi_inputs`. +By default, Godot does not detect MIDI devices. You need to call :ref:`OS.open_midi_inputs`, first. You can check which devices are detected with :ref:`OS.get_connected_midi_inputs`, and close the connection with :ref:`OS.close_midi_inputs`. .. tabs:: @@ -38,16 +38,16 @@ To receive input events from MIDI devices, you need to call :ref:`OS.open_midi_i if input_event is InputEventMIDI: _print_midi_info(input_event) - func _print_midi_info(midi_event: InputEventMIDI): + func _print_midi_info(midi_event): print(midi_event) - print("Channel " + str(midi_event.channel)) - print("Message " + str(midi_event.message)) - print("Pitch " + str(midi_event.pitch)) - print("Velocity " + str(midi_event.velocity)) - print("Instrument " + str(midi_event.instrument)) - print("Pressure " + str(midi_event.pressure)) - print("Controller number: " + str(midi_event.controller_number)) - print("Controller value: " + str(midi_event.controller_value)) + print("Channel ", midi_event.channel) + print("Message ", midi_event.message) + print("Pitch ", midi_event.pitch) + print("Velocity ", midi_event.velocity) + print("Instrument ", midi_event.instrument) + print("Pressure ", midi_event.pressure) + print("Controller number: ", midi_event.controller_number) + print("Controller value: ", midi_event.controller_value) .. code-tab:: csharp @@ -57,9 +57,9 @@ To receive input events from MIDI devices, you need to call :ref:`OS.open_midi_i GD.Print(OS.GetConnectedMidiInputs()); } - public override void _Input(InputEvent @event) + public override void _Input(InputEvent inputEvent) { - if (@event is InputEventMIDI midiEvent) + if (inputEvent is InputEventMIDI midiEvent) { PrintMIDIInfo(midiEvent); } @@ -80,7 +80,7 @@ To receive input events from MIDI devices, you need to call :ref:`OS.open_midi_i -Note that Godot does not currently support MIDI output, so there is no way to emit MIDI signals from Godot. Only MIDI input works. +\ **Note:** Godot does not support MIDI output, so there is no way to emit MIDI messages from Godot. Only MIDI input is supported. .. rst-class:: classref-introduction-group @@ -139,7 +139,7 @@ Property Descriptions - void **set_channel** **(** :ref:`int` value **)** - :ref:`int` **get_channel** **(** **)** -The MIDI channel of this input event. There are 16 channels, so this value ranges from 0 to 15. MIDI channel 9 is reserved for the use with percussion instruments, the rest of the channels are for non-percussion instruments. +The MIDI channel of this message, ranging from ``0`` to ``15``. MIDI channel ``9`` is reserved for percussion instruments. .. rst-class:: classref-item-separator @@ -156,7 +156,7 @@ The MIDI channel of this input event. There are 16 channels, so this value range - void **set_controller_number** **(** :ref:`int` value **)** - :ref:`int` **get_controller_number** **(** **)** -If the message is :ref:`@GlobalScope.MIDI_MESSAGE_CONTROL_CHANGE`, this indicates the controller number, otherwise this is zero. Controllers include devices such as pedals and levers. +The unique number of the controller, if :ref:`message` is :ref:`@GlobalScope.MIDI_MESSAGE_CONTROL_CHANGE`, otherwise this is ``0``. This value can be used to identify sliders for volume, balance, and panning, as well as switches and pedals on the MIDI device. See the `General MIDI specification `__ for a small list. .. rst-class:: classref-item-separator @@ -173,7 +173,7 @@ If the message is :ref:`@GlobalScope.MIDI_MESSAGE_CONTROL_CHANGE` value **)** - :ref:`int` **get_controller_value** **(** **)** -If the message is :ref:`@GlobalScope.MIDI_MESSAGE_CONTROL_CHANGE`, this indicates the controller value, otherwise this is zero. Controllers include devices such as pedals and levers. +The value applied to the controller. If :ref:`message` is :ref:`@GlobalScope.MIDI_MESSAGE_CONTROL_CHANGE`, this value ranges from ``0`` to ``127``, otherwise it is ``0``. See also :ref:`controller_value`. .. rst-class:: classref-item-separator @@ -190,7 +190,9 @@ If the message is :ref:`@GlobalScope.MIDI_MESSAGE_CONTROL_CHANGE` value **)** - :ref:`int` **get_instrument** **(** **)** -The instrument of this input event. This value ranges from 0 to 127. Refer to the instrument list for `General MIDI `__ to see a list of instruments, except that this value is 0-index, so subtract one from every number on that chart. A standard piano will have an instrument number of 0. +The instrument (also called *program* or *preset*) used on this MIDI message. This value ranges from ``0`` to ``127``. + +To see what each value means, refer to the `General MIDI's instrument list `__. Keep in mind that the list is off by 1 because it does not begin from 0. A value of ``0`` corresponds to the acoustic grand piano. .. rst-class:: classref-item-separator @@ -207,15 +209,9 @@ The instrument of this input event. This value ranges from 0 to 127. Refer to th - void **set_message** **(** :ref:`MIDIMessage` value **)** - :ref:`MIDIMessage` **get_message** **(** **)** -Returns a value indicating the type of message for this MIDI signal. This is a member of the :ref:`MIDIMessage` enum. - -For MIDI messages between 0x80 and 0xEF, only the left half of the bits are returned as this value, as the other part is the channel (ex: 0x94 becomes 0x9). For MIDI messages from 0xF0 to 0xFF, the value is returned as-is. - -Notes will return :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_ON` when activated, but they might not always return :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_OFF` when deactivated, therefore your code should treat the input as stopped if some period of time has passed. - -Some MIDI devices may send :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_ON` with zero velocity instead of :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_OFF`. +Represents the type of MIDI message (see the :ref:`MIDIMessage` enum). -For more information, see the note in :ref:`velocity` and the MIDI message status byte list chart linked above. +For more information, see the `MIDI message status byte list chart `__. .. rst-class:: classref-item-separator @@ -232,7 +228,9 @@ For more information, see the note in :ref:`velocity` value **)** - :ref:`int` **get_pitch** **(** **)** -The pitch index number of this MIDI signal. This value ranges from 0 to 127. On a piano, middle C is 60, and A440 is 69, see the "MIDI note" column of the piano key frequency chart on Wikipedia for more information. +The pitch index number of this MIDI message. This value ranges from ``0`` to ``127``. + +On a piano, the **middle C** is ``60``, followed by a **C-sharp** (``61``), then a **D** (``62``), and so on. Each octave is split in offsets of 12. See the "MIDI note number" column of the `piano key frequency chart `__ a full list. .. rst-class:: classref-item-separator @@ -249,7 +247,9 @@ The pitch index number of this MIDI signal. This value ranges from 0 to 127. On - void **set_pressure** **(** :ref:`int` value **)** - :ref:`int` **get_pressure** **(** **)** -The pressure of the MIDI signal. This value ranges from 0 to 127. For many devices, this value is always zero. +The strength of the key being pressed. This value ranges from ``0`` to ``127``. + +\ **Note:** For many devices, this value is always ``0``. Other devices such as musical keyboards may simulate pressure by changing the :ref:`velocity`, instead. .. rst-class:: classref-item-separator @@ -266,9 +266,16 @@ The pressure of the MIDI signal. This value ranges from 0 to 127. For many devic - void **set_velocity** **(** :ref:`int` value **)** - :ref:`int` **get_velocity** **(** **)** -The velocity of the MIDI signal. This value ranges from 0 to 127. For a piano, this corresponds to how quickly the key was pressed, and is rarely above about 110 in practice. +The velocity of the MIDI message. This value ranges from ``0`` to ``127``. For a musical keyboard, this corresponds to how quickly the key was pressed, and is rarely above ``110`` in practice. + +\ **Note:** Some MIDI devices may send a :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_ON` message with ``0`` velocity and expect it to be treated the same as a :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_OFF` message. If necessary, this can be handled with a few lines of code: + +:: -\ **Note:** Some MIDI devices may send a :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_ON` message with zero velocity and expect this to be treated the same as a :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_OFF` message, but device implementations vary so Godot reports event data exactly as received. Depending on the hardware and the needs of the game/app, this MIDI quirk can be handled robustly with a couple lines of script (check for :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_ON` with velocity zero). + func _input(event): + if event is InputEventMIDI: + if event.message == MIDI_MESSAGE_NOTE_ON and event.velocity > 0: + print("Note pressed!") .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |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_lightmapgi.rst b/classes/class_lightmapgi.rst index 3eaf7ed608c..0ea0a52b799 100644 --- a/classes/class_lightmapgi.rst +++ b/classes/class_lightmapgi.rst @@ -29,7 +29,7 @@ The **LightmapGI** node is used to compute and store baked lightmaps. Lightmaps \ **Note:** Lightmap baking on :ref:`CSGShape3D`\ s and :ref:`PrimitiveMesh`\ es is not supported, as these cannot store UV2 data required for baking. -\ **Note:** If no custom lightmappers are installed, **LightmapGI** can only be baked when using the Vulkan backend (Forward+ or Mobile), not OpenGL. +\ **Note:** If no custom lightmappers are installed, **LightmapGI** can only be baked from devices that support the Forward+ or Mobile rendering backends. .. rst-class:: classref-introduction-group diff --git a/classes/class_missingnode.rst b/classes/class_missingnode.rst index f1a5d9a88e5..8e1b66ea93f 100644 --- a/classes/class_missingnode.rst +++ b/classes/class_missingnode.rst @@ -19,7 +19,9 @@ An internal editor class intended for keeping the data of unrecognized nodes. Description ----------- -This is an internal editor class intended for keeping data of nodes of unknown type (most likely this type was supplied by an extension that is no longer loaded). It can't be manually instantiated or placed in the scene. Ignore it if you don't know what it is. +This is an internal editor class intended for keeping data of nodes of unknown type (most likely this type was supplied by an extension that is no longer loaded). It can't be manually instantiated or placed in a scene. + +\ **Warning:** Ignore missing nodes unless you know what you are doing. Existing properties on a missing node can be freely modified in code, regardless of the type they are intended to be. .. rst-class:: classref-reftable-group @@ -55,7 +57,7 @@ Property Descriptions - void **set_original_class** **(** :ref:`String` value **)** - :ref:`String` **get_original_class** **(** **)** -Returns the name of the type this node was originally. +The name of the class this node was supposed to be (see :ref:`Object.get_class`). .. rst-class:: classref-item-separator @@ -72,9 +74,7 @@ Returns the name of the type this node was originally. - void **set_recording_properties** **(** :ref:`bool` value **)** - :ref:`bool` **is_recording_properties** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +If set to ``true``, allows new properties to be added on top of the existing ones with :ref:`Object.set`. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |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_missingresource.rst b/classes/class_missingresource.rst index 3e39850411a..72412d7e9bd 100644 --- a/classes/class_missingresource.rst +++ b/classes/class_missingresource.rst @@ -19,7 +19,9 @@ An internal editor class intended for keeping the data of unrecognized resources Description ----------- -This is an internal editor class intended for keeping data of resources of unknown type (most likely this type was supplied by an extension that is no longer loaded). It can't be manually instantiated or placed in the scene. Ignore it if you don't know what it is. +This is an internal editor class intended for keeping data of resources of unknown type (most likely this type was supplied by an extension that is no longer loaded). It can't be manually instantiated or placed in a scene. + +\ **Warning:** Ignore missing resources unless you know what you are doing. Existing properties on a missing resource can be freely modified in code, regardless of the type they are intended to be. .. rst-class:: classref-reftable-group @@ -55,7 +57,7 @@ Property Descriptions - void **set_original_class** **(** :ref:`String` value **)** - :ref:`String` **get_original_class** **(** **)** -Returns the name of the class this resource was originally. +The name of the class this resource was supposed to be (see :ref:`Object.get_class`). .. rst-class:: classref-item-separator @@ -72,9 +74,7 @@ Returns the name of the class this resource was originally. - void **set_recording_properties** **(** :ref:`bool` value **)** - :ref:`bool` **is_recording_properties** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +If set to ``true``, allows new properties to be added on top of the existing ones with :ref:`Object.set`. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |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_node.rst b/classes/class_node.rst index 67356ca2e85..a42455bba99 100644 --- a/classes/class_node.rst +++ b/classes/class_node.rst @@ -1112,7 +1112,7 @@ The owner of this node. The owner must be an ancestor of this node. When packing - void **set_process_mode** **(** :ref:`ProcessMode` value **)** - :ref:`ProcessMode` **get_process_mode** **(** **)** -The node's processing behavior (see :ref:`ProcessMode`). To check if the node is able to process, with the current mode and :ref:`SceneTree.paused`, use :ref:`can_process`. +The node's processing behavior (see :ref:`ProcessMode`). To check if the node can process in its current mode, use :ref:`can_process`. .. rst-class:: classref-item-separator @@ -1552,7 +1552,19 @@ This function ensures that the calling of this function will succeed, no matter :ref:`bool` **can_process** **(** **)** |const| -Returns ``true`` if the node can receive processing notifications and input callbacks (:ref:`NOTIFICATION_PROCESS`, :ref:`_input`, etc) from the :ref:`SceneTree` and :ref:`Viewport`. The value depends on both the current :ref:`process_mode` and :ref:`SceneTree.paused`. Returns ``false`` if the node is not inside the tree. +Returns ``true`` if the node can receive processing notifications and input callbacks (:ref:`NOTIFICATION_PROCESS`, :ref:`_input`, etc) from the :ref:`SceneTree` and :ref:`Viewport`. The returned value depends on :ref:`process_mode`: + +- If set to :ref:`PROCESS_MODE_PAUSABLE`, returns ``true`` when the game is processing, i.e. :ref:`SceneTree.paused` is ``false``; + +- If set to :ref:`PROCESS_MODE_WHEN_PAUSED`, returns ``true`` when the game is paused, i.e. :ref:`SceneTree.paused` is ``true``; + +- If set to :ref:`PROCESS_MODE_ALWAYS`, always returns ``true``; + +- If set to :ref:`PROCESS_MODE_DISABLED`, always returns ``false``; + +- If set to :ref:`PROCESS_MODE_INHERIT`, use the parent node's :ref:`process_mode` to determine the result. + +If the node is not inside the tree, returns ``false`` no matter the value of :ref:`process_mode`. .. rst-class:: classref-item-separator @@ -1564,7 +1576,7 @@ Returns ``true`` if the node can receive processing notifications and input call :ref:`Tween` **create_tween** **(** **)** -Creates a new :ref:`Tween` and binds it to this node. Fails if the node is not inside the tree. +Creates a new :ref:`Tween` and binds it to this node. This is the equivalent of doing: @@ -1581,7 +1593,9 @@ This is the equivalent of doing: -The Tween will start automatically on the next process frame or physics frame (depending on :ref:`TweenProcessMode`). +The Tween will start automatically on the next process frame or physics frame (depending on :ref:`TweenProcessMode`). See :ref:`Tween.bind_node` for more info on Tweens bound to nodes. + +\ **Note:** The method can still be used when the node is not inside :ref:`SceneTree`. It can fail in an unlikely case of using a custom :ref:`MainLoop`. .. rst-class:: classref-item-separator @@ -2605,7 +2619,7 @@ If ``recursive`` is ``true``, the given peer is recursively set as the authority void **set_physics_process** **(** :ref:`bool` enable **)** -If set to ``true``, enables physics (fixed framerate) processing. When a node is being processed, it will receive a :ref:`NOTIFICATION_PHYSICS_PROCESS` at a fixed (usually 60 FPS, see :ref:`Engine.physics_ticks_per_second` to change) interval (and the :ref:`_physics_process` callback will be called if exists). Enabled automatically if :ref:`_physics_process` is overridden. +If set to ``true``, enables physics (fixed framerate) processing. When a node is being processed, it will receive a :ref:`NOTIFICATION_PHYSICS_PROCESS` at a fixed (usually 60 FPS, see :ref:`Engine.physics_ticks_per_second` to change) interval (and the :ref:`_physics_process` callback will be called if it exists). Enabled automatically if :ref:`_physics_process` is overridden. .. rst-class:: classref-item-separator @@ -2631,7 +2645,9 @@ If set to ``true``, enables internal physics for this node. Internal physics pro void **set_process** **(** :ref:`bool` enable **)** -If set to ``true``, enables processing. When a node is being processed, it will receive a :ref:`NOTIFICATION_PROCESS` on every drawn frame (and the :ref:`_process` callback will be called if exists). Enabled automatically if :ref:`_process` is overridden. +If set to ``true``, enables processing. When a node is being processed, it will receive a :ref:`NOTIFICATION_PROCESS` on every drawn frame (and the :ref:`_process` callback will be called if it exists). Enabled automatically if :ref:`_process` is overridden. + +\ **Note:** This method only affects the :ref:`_process` callback, i.e. it has no effect on other callbacks like :ref:`_physics_process`. If you want to disable all processing for the node, set :ref:`process_mode` to :ref:`PROCESS_MODE_DISABLED`. .. rst-class:: classref-item-separator diff --git a/classes/class_object.rst b/classes/class_object.rst index 6ab975563d6..ad26b24288b 100644 --- a/classes/class_object.rst +++ b/classes/class_object.rst @@ -351,11 +351,13 @@ Combined with :ref:`_set` and :ref:`_get_prope :ref:`Dictionary[]` **_get_property_list** **(** **)** |virtual| -Override this method to customize how script properties should be handled by the engine. +Override this method to provide a custom list of additional properties to handle by the engine. Should return a property list, as an :ref:`Array` of dictionaries. The result is added to the array of :ref:`get_property_list`, and should be formatted in the same way. Each :ref:`Dictionary` must at least contain the ``name`` and ``type`` entries. -The example below displays ``hammer_type`` in the Inspector dock, only if ``holding_hammer`` is ``true``: +You can use :ref:`_property_can_revert` and :ref:`_property_get_revert` to customize the default values of the properties added by this method. + +The example below displays a list of numbers shown as words going from ``ZERO`` to ``FIVE``, with ``number_count`` controlling the size of the list: .. tabs:: @@ -363,79 +365,107 @@ The example below displays ``hammer_type`` in the Inspector dock, only if ``hold .. code-tab:: gdscript @tool - extends Node2D + extends Node - @export var holding_hammer = false: - set(value): - holding_hammer = value + @export var number_count = 3: + set(nc): + number_count = nc + numbers.resize(number_count) notify_property_list_changed() - var hammer_type = 0 - func _get_property_list(): - # By default, `hammer_type` is not visible in the editor. - var property_usage = PROPERTY_USAGE_NO_EDITOR - - if holding_hammer: - property_usage = PROPERTY_USAGE_DEFAULT + var numbers = PackedInt32Array([0, 0, 0]) + func _get_property_list(): var properties = [] - properties.append({ - "name": "hammer_type", - "type": TYPE_INT, - "usage": property_usage, # See above assignment. - "hint": PROPERTY_HINT_ENUM, - "hint_string": "Wooden,Iron,Golden,Enchanted" - }) + + for i in range(number_count): + properties.append({ + "name": "number_%d" % i, + "type": TYPE_INT, + "hint": PROPERTY_HINT_ENUM, + "hint_string": "ZERO,ONE,TWO,THREE,FOUR,FIVE", + }) return properties + + func _get(property): + if property.begins_with("number_"): + var index = property.get_slice("_", 1).to_int() + return numbers[index] + + func _set(property, value): + if property.begins_with("number_"): + var index = property.get_slice("_", 1).to_int() + numbers[index] = value + return true + return false .. code-tab:: csharp [Tool] - public partial class MyNode2D : Node2D + public partial class MyNode : Node { - private bool _holdingHammer; + private int _numberCount; [Export] - public bool HoldingHammer + public int NumberCount { - get => _holdingHammer; + get => _numberCount; set { - _holdingHammer = value; + _numberCount = value; + _numbers.Resize(_numberCount); NotifyPropertyListChanged(); } } - public int HammerType { get; set; } + private List _numbers = new(); public override Godot.Collections.Array _GetPropertyList() { - // By default, `HammerType` is not visible in the editor. - var propertyUsage = PropertyUsageFlags.NoEditor; + var properties = new Godot.Collections.Array(); - if (HoldingHammer) + for (int i = 0; i < _numberCount; i++) { - propertyUsage = PropertyUsageFlags.Default; + properties.Add(new Godot.Collections.Dictionary() + { + { "name", $"number_{i}" }, + { "type", (int)Variant.Type.Int }, + { "hint", (int)PropertyHint.Enum }, + { "hint_string", "Zero,One,Two,Three,Four,Five" }, + }); } - var properties = new Godot.Collections.Array(); - properties.Add(new Godot.Collections.Dictionary() + return properties; + } + + public override Variant _Get(StringName property) + { + string propertyName = property.ToString(); + if (propertyName.StartsWith("number_")) { - { "name", "HammerType" }, - { "type", (int)Variant.Type.Int }, - { "usage", (int)propertyUsage }, // See above assignment. - { "hint", (int)PropertyHint.Enum }, - { "hint_string", "Wooden,Iron,Golden,Enchanted" } - }); + int index = int.Parse(propertyName.Substring("number_".Length)); + return _numbers[index]; + } + return default; + } - return properties; + public override bool _Set(StringName property, Variant value) + { + string propertyName = property.ToString(); + if (propertyName.StartsWith("number_")) + { + int index = int.Parse(propertyName.Substring("number_".Length)); + numbers[index] = value.As(); + return true; + } + return false; } } -\ **Note:** This method is intended for advanced purposes. For most common use cases, the scripting languages offer easier ways to handle properties. See :ref:`@GDScript.@export`, :ref:`@GDScript.@export_enum`, :ref:`@GDScript.@export_group`, etc. +\ **Note:** This method is intended for advanced purposes. For most common use cases, the scripting languages offer easier ways to handle properties. See :ref:`@GDScript.@export`, :ref:`@GDScript.@export_enum`, :ref:`@GDScript.@export_group`, etc. If you want to customize exported properties, use :ref:`_validate_property`. \ **Note:** If the object's script is not :ref:`@GDScript.@tool`, this method will not be called in the editor. @@ -610,7 +640,7 @@ Override this method to customize the return value of :ref:`to_string` property **)** |virtual| -Override this method to customize existing properties. Every property info goes through this method. The dictionary contents is the same as in :ref:`_get_property_list`. +Override this method to customize existing properties. Every property info goes through this method, except properties added with :ref:`_get_property_list`. The dictionary contents is the same as in :ref:`_get_property_list`. .. tabs:: diff --git a/classes/class_openxrextensionwrapperextension.rst b/classes/class_openxrextensionwrapperextension.rst index 4fea0976f64..4464fbeaf56 100644 --- a/classes/class_openxrextensionwrapperextension.rst +++ b/classes/class_openxrextensionwrapperextension.rst @@ -29,55 +29,57 @@ Methods .. table:: :widths: auto - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Dictionary` | :ref:`_get_requested_extensions` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_before_instance_created` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`_on_event_polled` **(** const void* event **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_instance_created` **(** :ref:`int` instance **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_instance_destroyed` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_pre_render` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_process` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_register_metadata` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_session_created` **(** :ref:`int` session **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_session_destroyed` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_state_exiting` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_state_focused` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_state_idle` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_state_loss_pending` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_state_ready` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_state_stopping` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_state_synchronized` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_state_visible` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`_set_instance_create_info_and_get_next_pointer` **(** void* next_pointer **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`_set_session_create_and_get_next_pointer` **(** void* next_pointer **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`_set_swapchain_create_info_and_get_next_pointer` **(** void* next_pointer **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`_set_system_properties_and_get_next_pointer` **(** void* next_pointer **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`OpenXRAPIExtension` | :ref:`get_openxr_api` **(** **)** | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`register_extension_wrapper` **(** **)** | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary` | :ref:`_get_requested_extensions` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_before_instance_created` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_on_event_polled` **(** const void* event **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_instance_created` **(** :ref:`int` instance **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_instance_destroyed` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_pre_render` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_process` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_register_metadata` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_session_created` **(** :ref:`int` session **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_session_destroyed` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_state_exiting` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_state_focused` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_state_idle` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_state_loss_pending` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_state_ready` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_state_stopping` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_state_synchronized` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_state_visible` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`_set_hand_joint_locations_and_get_next_pointer` **(** :ref:`int` hand_index, void* next_pointer **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`_set_instance_create_info_and_get_next_pointer` **(** void* next_pointer **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`_set_session_create_and_get_next_pointer` **(** void* next_pointer **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`_set_swapchain_create_info_and_get_next_pointer` **(** void* next_pointer **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`_set_system_properties_and_get_next_pointer` **(** void* next_pointer **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`OpenXRAPIExtension` | :ref:`get_openxr_api` **(** **)** | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`register_extension_wrapper` **(** **)** | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -310,6 +312,18 @@ Called when the OpenXR session state is changed to visible. This means OpenXR is ---- +.. _class_OpenXRExtensionWrapperExtension_private_method__set_hand_joint_locations_and_get_next_pointer: + +.. rst-class:: classref-method + +:ref:`int` **_set_hand_joint_locations_and_get_next_pointer** **(** :ref:`int` hand_index, void* next_pointer **)** |virtual| + +Adds additional data structures when each hand tracker is created. + +.. rst-class:: classref-item-separator + +---- + .. _class_OpenXRExtensionWrapperExtension_private_method__set_instance_create_info_and_get_next_pointer: .. rst-class:: classref-method diff --git a/classes/class_packedbytearray.rst b/classes/class_packedbytearray.rst index 009cb56b53f..a88faac2bba 100644 --- a/classes/class_packedbytearray.rst +++ b/classes/class_packedbytearray.rst @@ -471,6 +471,8 @@ Decodes a size of a :ref:`Variant` from the bytes starting at ``b Returns a new **PackedByteArray** with the data decompressed. Set ``buffer_size`` to the size of the uncompressed data. Set the compression mode using one of :ref:`CompressionMode`'s constants. +\ **Note:** Decompression is not guaranteed to work with data not compressed by Godot, for example if data compressed with the deflate compression mode lacks a checksum or header. + .. rst-class:: classref-item-separator ---- @@ -487,6 +489,8 @@ This method is potentially slower than :ref:`decompress` **(** :ref:`RID` joint, :ref:`SliderJointParam` param, :ref:`float` value **)** | +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_add_collision_exception` **(** :ref:`RID` body, :ref:`RID` body_b **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RID` | :ref:`soft_body_create` **(** **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AABB` | :ref:`soft_body_get_bounds` **(** :ref:`RID` body **)** |const| | +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`soft_body_get_collision_layer` **(** :ref:`RID` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`soft_body_get_collision_mask` **(** :ref:`RID` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`soft_body_get_damping_coefficient` **(** :ref:`RID` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`soft_body_get_drag_coefficient` **(** :ref:`RID` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`soft_body_get_linear_stiffness` **(** :ref:`RID` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector3` | :ref:`soft_body_get_point_global_position` **(** :ref:`RID` body, :ref:`int` point_index **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`soft_body_get_pressure_coefficient` **(** :ref:`RID` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`soft_body_get_simulation_precision` **(** :ref:`RID` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RID` | :ref:`soft_body_get_space` **(** :ref:`RID` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant` | :ref:`soft_body_get_state` **(** :ref:`RID` body, :ref:`BodyState` state **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`soft_body_get_total_mass` **(** :ref:`RID` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`soft_body_is_point_pinned` **(** :ref:`RID` body, :ref:`int` point_index **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_move_point` **(** :ref:`RID` body, :ref:`int` point_index, :ref:`Vector3` global_position **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_pin_point` **(** :ref:`RID` body, :ref:`int` point_index, :ref:`bool` pin **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_remove_all_pinned_points` **(** :ref:`RID` body **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_remove_collision_exception` **(** :ref:`RID` body, :ref:`RID` body_b **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_collision_layer` **(** :ref:`RID` body, :ref:`int` layer **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_collision_mask` **(** :ref:`RID` body, :ref:`int` mask **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_damping_coefficient` **(** :ref:`RID` body, :ref:`float` damping_coefficient **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_drag_coefficient` **(** :ref:`RID` body, :ref:`float` drag_coefficient **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_linear_stiffness` **(** :ref:`RID` body, :ref:`float` stiffness **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_mesh` **(** :ref:`RID` body, :ref:`RID` mesh **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_pressure_coefficient` **(** :ref:`RID` body, :ref:`float` pressure_coefficient **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_ray_pickable` **(** :ref:`RID` body, :ref:`bool` enable **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_simulation_precision` **(** :ref:`RID` body, :ref:`int` simulation_precision **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_space` **(** :ref:`RID` body, :ref:`RID` space **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_state` **(** :ref:`RID` body, :ref:`BodyState` state, :ref:`Variant` variant **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_total_mass` **(** :ref:`RID` body, :ref:`float` total_mass **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_transform` **(** :ref:`RID` body, :ref:`Transform3D` transform **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_update_rendering_server` **(** :ref:`RID` body, :ref:`PhysicsServer3DRenderingServerHandler` rendering_server_handler **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`space_create` **(** **)** | +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PhysicsDirectSpaceState3D` | :ref:`space_get_direct_state` **(** :ref:`RID` space **)** | @@ -3267,15 +3331,405 @@ Gets a slider_joint parameter (see :ref:`SliderJointParam` body, :ref:`RID` body_b **)** + +Adds the given body to the list of bodies exempt from collisions. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_create: + +.. rst-class:: classref-method + +:ref:`RID` **soft_body_create** **(** **)** + +Creates a new soft body and returns its internal :ref:`RID`. + +.. rst-class:: classref-item-separator + +---- + .. _class_PhysicsServer3D_method_soft_body_get_bounds: .. rst-class:: classref-method :ref:`AABB` **soft_body_get_bounds** **(** :ref:`RID` body **)** |const| -.. container:: contribute +Returns the bounds of the given soft body in global coordinates. - There is currently no description for this method. Please help us by :ref:`contributing one `! +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_collision_layer: + +.. rst-class:: classref-method + +:ref:`int` **soft_body_get_collision_layer** **(** :ref:`RID` body **)** |const| + +Returns the physics layer or layers that the given soft body belongs to. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_collision_mask: + +.. rst-class:: classref-method + +:ref:`int` **soft_body_get_collision_mask** **(** :ref:`RID` body **)** |const| + +Returns the physics layer or layers that the given soft body can collide with. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_damping_coefficient: + +.. rst-class:: classref-method + +:ref:`float` **soft_body_get_damping_coefficient** **(** :ref:`RID` body **)** |const| + +Returns the damping coefficient of the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_drag_coefficient: + +.. rst-class:: classref-method + +:ref:`float` **soft_body_get_drag_coefficient** **(** :ref:`RID` body **)** |const| + +Returns the drag coefficient of the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_linear_stiffness: + +.. rst-class:: classref-method + +:ref:`float` **soft_body_get_linear_stiffness** **(** :ref:`RID` body **)** |const| + +Returns the linear stiffness of the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_point_global_position: + +.. rst-class:: classref-method + +:ref:`Vector3` **soft_body_get_point_global_position** **(** :ref:`RID` body, :ref:`int` point_index **)** |const| + +Returns the current position of the given soft body point in global coordinates. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_pressure_coefficient: + +.. rst-class:: classref-method + +:ref:`float` **soft_body_get_pressure_coefficient** **(** :ref:`RID` body **)** |const| + +Returns the pressure coefficient of the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_simulation_precision: + +.. rst-class:: classref-method + +:ref:`int` **soft_body_get_simulation_precision** **(** :ref:`RID` body **)** |const| + +Returns the simulation precision of the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_space: + +.. rst-class:: classref-method + +:ref:`RID` **soft_body_get_space** **(** :ref:`RID` body **)** |const| + +Returns the :ref:`RID` of the space assigned to the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_state: + +.. rst-class:: classref-method + +:ref:`Variant` **soft_body_get_state** **(** :ref:`RID` body, :ref:`BodyState` state **)** |const| + +Returns the given soft body state (see :ref:`BodyState` constants). + +\ **Note:** Godot's default physics implementation does not support :ref:`BODY_STATE_LINEAR_VELOCITY`, :ref:`BODY_STATE_ANGULAR_VELOCITY`, :ref:`BODY_STATE_SLEEPING`, or :ref:`BODY_STATE_CAN_SLEEP`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_total_mass: + +.. rst-class:: classref-method + +:ref:`float` **soft_body_get_total_mass** **(** :ref:`RID` body **)** |const| + +Returns the total mass assigned to the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_is_point_pinned: + +.. rst-class:: classref-method + +:ref:`bool` **soft_body_is_point_pinned** **(** :ref:`RID` body, :ref:`int` point_index **)** |const| + +Returns whether the given soft body point is pinned. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_move_point: + +.. rst-class:: classref-method + +void **soft_body_move_point** **(** :ref:`RID` body, :ref:`int` point_index, :ref:`Vector3` global_position **)** + +Moves the given soft body point to a position in global coordinates. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_pin_point: + +.. rst-class:: classref-method + +void **soft_body_pin_point** **(** :ref:`RID` body, :ref:`int` point_index, :ref:`bool` pin **)** + +Pins or unpins the given soft body point based on the value of ``pin``. + +\ **Note:** Pinning a point effectively makes it kinematic, preventing it from being affected by forces, but you can still move it using :ref:`soft_body_move_point`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_remove_all_pinned_points: + +.. rst-class:: classref-method + +void **soft_body_remove_all_pinned_points** **(** :ref:`RID` body **)** + +Unpins all points of the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_remove_collision_exception: + +.. rst-class:: classref-method + +void **soft_body_remove_collision_exception** **(** :ref:`RID` body, :ref:`RID` body_b **)** + +Removes the given body from the list of bodies exempt from collisions. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_collision_layer: + +.. rst-class:: classref-method + +void **soft_body_set_collision_layer** **(** :ref:`RID` body, :ref:`int` layer **)** + +Sets the physics layer or layers the given soft body belongs to. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_collision_mask: + +.. rst-class:: classref-method + +void **soft_body_set_collision_mask** **(** :ref:`RID` body, :ref:`int` mask **)** + +Sets the physics layer or layers the given soft body can collide with. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_damping_coefficient: + +.. rst-class:: classref-method + +void **soft_body_set_damping_coefficient** **(** :ref:`RID` body, :ref:`float` damping_coefficient **)** + +Sets the damping coefficient of the given soft body. Higher values will slow down the body more noticeably when forces are applied. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_drag_coefficient: + +.. rst-class:: classref-method + +void **soft_body_set_drag_coefficient** **(** :ref:`RID` body, :ref:`float` drag_coefficient **)** + +Sets the drag coefficient of the given soft body. Higher values increase this body's air resistance. + +\ **Note:** This value is currently unused by Godot's default physics implementation. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_linear_stiffness: + +.. rst-class:: classref-method + +void **soft_body_set_linear_stiffness** **(** :ref:`RID` body, :ref:`float` stiffness **)** + +Sets the linear stiffness of the given soft body. Higher values will result in a stiffer body, while lower values will increase the body's ability to bend. The value can be between ``0.0`` and ``1.0`` (inclusive). + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_mesh: + +.. rst-class:: classref-method + +void **soft_body_set_mesh** **(** :ref:`RID` body, :ref:`RID` mesh **)** + +Sets the mesh of the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_pressure_coefficient: + +.. rst-class:: classref-method + +void **soft_body_set_pressure_coefficient** **(** :ref:`RID` body, :ref:`float` pressure_coefficient **)** + +Sets the pressure coefficient of the given soft body. Simulates pressure build-up from inside this body. Higher values increase the strength of this effect. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_ray_pickable: + +.. rst-class:: classref-method + +void **soft_body_set_ray_pickable** **(** :ref:`RID` body, :ref:`bool` enable **)** + +Sets whether the given soft body will be pickable when using object picking. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_simulation_precision: + +.. rst-class:: classref-method + +void **soft_body_set_simulation_precision** **(** :ref:`RID` body, :ref:`int` simulation_precision **)** + +Sets the simulation precision of the given soft body. Increasing this value will improve the resulting simulation, but can affect performance. Use with care. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_space: + +.. rst-class:: classref-method + +void **soft_body_set_space** **(** :ref:`RID` body, :ref:`RID` space **)** + +Assigns a space to the given soft body (see :ref:`space_create`). + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_state: + +.. rst-class:: classref-method + +void **soft_body_set_state** **(** :ref:`RID` body, :ref:`BodyState` state, :ref:`Variant` variant **)** + +Sets the given body state for the given body (see :ref:`BodyState` constants). + +\ **Note:** Godot's default physics implementation does not support :ref:`BODY_STATE_LINEAR_VELOCITY`, :ref:`BODY_STATE_ANGULAR_VELOCITY`, :ref:`BODY_STATE_SLEEPING`, or :ref:`BODY_STATE_CAN_SLEEP`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_total_mass: + +.. rst-class:: classref-method + +void **soft_body_set_total_mass** **(** :ref:`RID` body, :ref:`float` total_mass **)** + +Sets the total mass for the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_transform: + +.. rst-class:: classref-method + +void **soft_body_set_transform** **(** :ref:`RID` body, :ref:`Transform3D` transform **)** + +Sets the global transform of the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_update_rendering_server: + +.. rst-class:: classref-method + +void **soft_body_update_rendering_server** **(** :ref:`RID` body, :ref:`PhysicsServer3DRenderingServerHandler` rendering_server_handler **)** + +Requests that the physics server updates the rendering server with the latest positions of the given soft body's points through the ``rendering_server_handler`` interface. .. rst-class:: classref-item-separator diff --git a/classes/class_popupmenu.rst b/classes/class_popupmenu.rst index 1370b9b58cc..9bfa003b795 100644 --- a/classes/class_popupmenu.rst +++ b/classes/class_popupmenu.rst @@ -116,6 +116,10 @@ Methods +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`get_item_metadata` **(** :ref:`int` index **)** |const| | +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_item_multistate` **(** :ref:`int` index **)** |const| | + +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_item_multistate_max` **(** :ref:`int` index **)** |const| | + +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Shortcut` | :ref:`get_item_shortcut` **(** :ref:`int` index **)** |const| | +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_item_submenu` **(** :ref:`int` index **)** |const| | @@ -174,6 +178,8 @@ Methods +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_multistate` **(** :ref:`int` index, :ref:`int` state **)** | +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_item_multistate_max` **(** :ref:`int` index, :ref:`int` max_states **)** | + +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_shortcut` **(** :ref:`int` index, :ref:`Shortcut` shortcut, :ref:`bool` global=false **)** | +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_shortcut_disabled` **(** :ref:`int` index, :ref:`bool` disabled **)** | @@ -613,10 +619,30 @@ void **add_multistate_item** **(** :ref:`String` label, :ref:`int< Adds a new multistate item with text ``label``. -Contrarily to normal binary items, multistate items can have more than two states, as defined by ``max_states``. Each press or activate of the item will increase the state by one. The default value is defined by ``default_state``. +Contrarily to normal binary items, multistate items can have more than two states, as defined by ``max_states``. The default value is defined by ``default_state``. An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided, then the default value of 0 (corresponding to :ref:`@GlobalScope.KEY_NONE`) will be assigned to the item (which means it won't have any accelerator). See :ref:`get_item_accelerator` for more info on accelerators. +\ **Note:** Multistate items don't update their state automatically and must be done manually. See :ref:`toggle_item_multistate`, :ref:`set_item_multistate` and :ref:`get_item_multistate` for more info on how to control it. + +Example usage: + +:: + + func _ready(): + add_multistate_item("Item", 3, 0) + + index_pressed.connect(func(index: int): + toggle_item_multistate(index) + match get_item_multistate(index): + 0: + print("First state") + 1: + print("Second state") + 2: + print("Third state") + ) + .. rst-class:: classref-item-separator ---- @@ -829,6 +855,30 @@ Returns the metadata of the specified item, which might be of any type. You can ---- +.. _class_PopupMenu_method_get_item_multistate: + +.. rst-class:: classref-method + +:ref:`int` **get_item_multistate** **(** :ref:`int` index **)** |const| + +Returns the state of the item at the given ``index``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PopupMenu_method_get_item_multistate_max: + +.. rst-class:: classref-method + +:ref:`int` **get_item_multistate_max** **(** :ref:`int` index **)** |const| + +Returns the max states of the item at the given ``index``. + +.. rst-class:: classref-item-separator + +---- + .. _class_PopupMenu_method_get_item_shortcut: .. rst-class:: classref-method @@ -1191,6 +1241,18 @@ Sets the state of a multistate item. See :ref:`add_multistate_item` index, :ref:`int` max_states **)** + +Sets the max states of a multistate item. See :ref:`add_multistate_item` for details. + +.. rst-class:: classref-item-separator + +---- + .. _class_PopupMenu_method_set_item_shortcut: .. rst-class:: classref-method diff --git a/classes/class_progressbar.rst b/classes/class_progressbar.rst index 2af8e52114d..15569a02d6a 100644 --- a/classes/class_progressbar.rst +++ b/classes/class_progressbar.rst @@ -29,11 +29,15 @@ Properties .. table:: :widths: auto - +-------------------------+--------------------------------------------------------------------+----------+ - | :ref:`int` | :ref:`fill_mode` | ``0`` | - +-------------------------+--------------------------------------------------------------------+----------+ - | :ref:`bool` | :ref:`show_percentage` | ``true`` | - +-------------------------+--------------------------------------------------------------------+----------+ + +-------------------------+----------------------------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`editor_preview_indeterminate` | | + +-------------------------+----------------------------------------------------------------------------------------------+-----------+ + | :ref:`int` | :ref:`fill_mode` | ``0`` | + +-------------------------+----------------------------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`indeterminate` | ``false`` | + +-------------------------+----------------------------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`show_percentage` | ``true`` | + +-------------------------+----------------------------------------------------------------------------------------------+-----------+ .. rst-class:: classref-reftable-group @@ -115,6 +119,23 @@ The progress fills from bottom to top. Property Descriptions --------------------- +.. _class_ProgressBar_property_editor_preview_indeterminate: + +.. rst-class:: classref-property + +:ref:`bool` **editor_preview_indeterminate** + +.. rst-class:: classref-property-setget + +- void **set_editor_preview_indeterminate** **(** :ref:`bool` value **)** +- :ref:`bool` **is_editor_preview_indeterminate_enabled** **(** **)** + +If ``false``, the :ref:`indeterminate` animation will be paused in the editor. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProgressBar_property_fill_mode: .. rst-class:: classref-property @@ -132,6 +153,23 @@ The fill direction. See :ref:`FillMode` for possible ---- +.. _class_ProgressBar_property_indeterminate: + +.. rst-class:: classref-property + +:ref:`bool` **indeterminate** = ``false`` + +.. rst-class:: classref-property-setget + +- void **set_indeterminate** **(** :ref:`bool` value **)** +- :ref:`bool` **is_indeterminate** **(** **)** + +When set to ``true``, the progress bar indicates that something is happening with an animation, but does not show the fill percentage or value. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProgressBar_property_show_percentage: .. rst-class:: classref-property diff --git a/classes/class_projectsettings.rst b/classes/class_projectsettings.rst index 3dbd53bcaa7..c988d79bd9c 100644 --- a/classes/class_projectsettings.rst +++ b/classes/class_projectsettings.rst @@ -357,6 +357,18 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`debug/shapes/paths/geometry_width` | ``2.0`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`display/display_server/driver` | | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`display/display_server/driver.android` | | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`display/display_server/driver.ios` | | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`display/display_server/driver.linuxbsd` | | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`display/display_server/driver.macos` | | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`display/display_server/driver.windows` | | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`display/mouse_cursor/custom_image` | ``""`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`display/mouse_cursor/custom_image_hotspot` | ``Vector2(0, 0)`` | @@ -1399,6 +1411,8 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`rendering/lights_and_shadows/positional_shadow/soft_shadow_filter_quality.mobile` | ``0`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`rendering/lights_and_shadows/tighter_shadow_caster_culling` | ``true`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`rendering/lights_and_shadows/use_physical_light_units` | ``false`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`rendering/limits/cluster_builder/max_clustered_elements` | ``512`` | @@ -2350,7 +2364,7 @@ If canvas item redraw debugging is active, this will be the time the flash will :ref:`bool` **debug/file_logging/enable_file_logging** = ``false`` -If ``true``, logs all output to files. +If ``true``, logs all output and error messages to files. See also :ref:`debug/file_logging/log_path`, :ref:`debug/file_logging/max_log_files`, and :ref:`application/run/flush_stdout_on_print`. .. rst-class:: classref-item-separator @@ -2376,6 +2390,8 @@ Desktop override for :ref:`debug/file_logging/enable_file_logging`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>`. If this command line argument is specified, log rotation is automatically disabled (see :ref:`debug/file_logging/max_log_files`). + .. rst-class:: classref-item-separator ---- @@ -2386,7 +2402,9 @@ Path at which to store log files for the project. Using a path under ``user://`` :ref:`int` **debug/file_logging/max_log_files** = ``5`` -Specifies the maximum number of log files allowed (used for rotation). +Specifies the maximum number of log files allowed (used for rotation). Set to ``1`` to disable log file rotation. + +If the ``--log-file `` :doc:`command line argument <../tutorials/editor/command_line_tutorial>` is used, log rotation is always disabled. .. rst-class:: classref-item-separator @@ -3572,6 +3590,78 @@ Line width of the curve path geometry, visible when "Visible Paths" is enabled i ---- +.. _class_ProjectSettings_property_display/display_server/driver: + +.. rst-class:: classref-property + +:ref:`String` **display/display_server/driver** + +Sets the driver to be used by the display server. This property can not be edited directly, instead, set the driver using the platform-specific overrides. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_display/display_server/driver.android: + +.. rst-class:: classref-property + +:ref:`String` **display/display_server/driver.android** + +Android override for :ref:`display/display_server/driver`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_display/display_server/driver.ios: + +.. rst-class:: classref-property + +:ref:`String` **display/display_server/driver.ios** + +iOS override for :ref:`display/display_server/driver`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_display/display_server/driver.linuxbsd: + +.. rst-class:: classref-property + +:ref:`String` **display/display_server/driver.linuxbsd** + +LinuxBSD override for :ref:`display/display_server/driver`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_display/display_server/driver.macos: + +.. rst-class:: classref-property + +:ref:`String` **display/display_server/driver.macos** + +MacOS override for :ref:`display/display_server/driver`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_display/display_server/driver.windows: + +.. rst-class:: classref-property + +:ref:`String` **display/display_server/driver.windows** + +Windows override for :ref:`display/display_server/driver`. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_display/mouse_cursor/custom_image: .. rst-class:: classref-property @@ -4316,7 +4406,7 @@ Search path for project-specific script templates. Godot will search for script If ``true``, Blender 3D scene files with the ``.blend`` extension will be imported by converting them to glTF 2.0. -This requires configuring a path to a Blender executable in the editor settings at ``filesystem/import/blender/blender3_path``. Blender 3.0 or later is required. +This requires configuring a path to a Blender executable in the editor settings at ``filesystem/import/blender/blender_path``. Blender 3.0 or later is required. .. rst-class:: classref-item-separator @@ -10272,6 +10362,20 @@ Lower-end override for :ref:`rendering/lights_and_shadows/positional_shadow/soft ---- +.. _class_ProjectSettings_property_rendering/lights_and_shadows/tighter_shadow_caster_culling: + +.. rst-class:: classref-property + +:ref:`bool` **rendering/lights_and_shadows/tighter_shadow_caster_culling** = ``true`` + +If ``true``, items that cannot cast shadows into the view frustum will not be rendered into shadow maps. + +This can increase performance. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_rendering/lights_and_shadows/use_physical_light_units: .. rst-class:: classref-property diff --git a/classes/class_raycast2d.rst b/classes/class_raycast2d.rst index 0a4d7b38bce..2f63fbcd354 100644 --- a/classes/class_raycast2d.rst +++ b/classes/class_raycast2d.rst @@ -19,7 +19,7 @@ A ray in 2D space, used to find the first :ref:`CollisionObject2D` that finds the closest :ref:`CollisionObject2D` along its path, if it intersects any. This is useful for a lot of things, such as +A raycast represents a ray from its origin to its :ref:`target_position` that finds the closest :ref:`CollisionObject2D` along its path, if it intersects any. \ **RayCast2D** can ignore some objects by adding them to an exception list, by making its detection reporting ignore :ref:`Area2D`\ s (:ref:`collide_with_areas`) or :ref:`PhysicsBody2D`\ s (:ref:`collide_with_bodies`), or by configuring physics layers. @@ -345,7 +345,7 @@ Returns the normal of the intersecting object's shape at the collision point, or :ref:`Vector2` **get_collision_point** **(** **)** |const| -Returns the collision point at which the ray intersects the closest object. +Returns the collision point at which the ray intersects the closest object. If :ref:`hit_from_inside` is ``true`` and the ray starts inside of a collision shape, this function will return the origin point of the ray. \ **Note:** This point is in the **global** coordinate system. diff --git a/classes/class_raycast3d.rst b/classes/class_raycast3d.rst index 664d381a801..9ec0c5ced01 100644 --- a/classes/class_raycast3d.rst +++ b/classes/class_raycast3d.rst @@ -19,7 +19,7 @@ A ray in 3D space, used to find the first :ref:`CollisionObject3D` that finds the closest :ref:`CollisionObject3D` along its path, if it intersects any. This is useful for a lot of things, such as +A raycast represents a ray from its origin to its :ref:`target_position` that finds the closest :ref:`CollisionObject3D` along its path, if it intersects any. \ **RayCast3D** can ignore some objects by adding them to an exception list, by making its detection reporting ignore :ref:`Area3D`\ s (:ref:`collide_with_areas`) or :ref:`PhysicsBody3D`\ s (:ref:`collide_with_bodies`), or by configuring physics layers. @@ -420,7 +420,7 @@ Returns the normal of the intersecting object's shape at the collision point, or :ref:`Vector3` **get_collision_point** **(** **)** |const| -Returns the collision point at which the ray intersects the closest object. +Returns the collision point at which the ray intersects the closest object. If :ref:`hit_from_inside` is ``true`` and the ray starts inside of a collision shape, this function will return the origin point of the ray. \ **Note:** This point is in the **global** coordinate system. diff --git a/classes/class_rdpipelinedepthstencilstate.rst b/classes/class_rdpipelinedepthstencilstate.rst index 1a4aa01071f..325ff3d0a64 100644 --- a/classes/class_rdpipelinedepthstencilstate.rst +++ b/classes/class_rdpipelinedepthstencilstate.rst @@ -93,9 +93,7 @@ Property Descriptions - void **set_back_op_compare** **(** :ref:`CompareOperator` value **)** - :ref:`CompareOperator` **get_back_op_compare** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +The method used for comparing the previous back stencil value and :ref:`back_op_reference`. .. rst-class:: classref-item-separator @@ -112,9 +110,7 @@ Property Descriptions - void **set_back_op_compare_mask** **(** :ref:`int` value **)** - :ref:`int` **get_back_op_compare_mask** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +Selects which bits from the back stencil value will be compared. .. rst-class:: classref-item-separator @@ -131,9 +127,7 @@ Property Descriptions - void **set_back_op_depth_fail** **(** :ref:`StencilOperation` value **)** - :ref:`StencilOperation` **get_back_op_depth_fail** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +The operation to perform on the stencil buffer for back pixels that pass the stencil test but fail the depth test. .. rst-class:: classref-item-separator @@ -150,9 +144,7 @@ Property Descriptions - void **set_back_op_fail** **(** :ref:`StencilOperation` value **)** - :ref:`StencilOperation` **get_back_op_fail** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +The operation to perform on the stencil buffer for back pixels that fail the stencil test .. rst-class:: classref-item-separator @@ -169,9 +161,7 @@ Property Descriptions - void **set_back_op_pass** **(** :ref:`StencilOperation` value **)** - :ref:`StencilOperation` **get_back_op_pass** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +The operation to perform on the stencil buffer for back pixels that pass the stencil test. .. rst-class:: classref-item-separator @@ -188,9 +178,7 @@ Property Descriptions - void **set_back_op_reference** **(** :ref:`int` value **)** - :ref:`int` **get_back_op_reference** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +The value the previous back stencil value will be compared to. .. rst-class:: classref-item-separator @@ -207,9 +195,7 @@ Property Descriptions - void **set_back_op_write_mask** **(** :ref:`int` value **)** - :ref:`int` **get_back_op_write_mask** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +Selects which bits from the back stencil value will be changed. .. rst-class:: classref-item-separator @@ -226,9 +212,7 @@ Property Descriptions - void **set_depth_compare_operator** **(** :ref:`CompareOperator` value **)** - :ref:`CompareOperator` **get_depth_compare_operator** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +The method used for comparing the previous and current depth values. .. rst-class:: classref-item-separator @@ -245,9 +229,7 @@ Property Descriptions - void **set_depth_range_max** **(** :ref:`float` value **)** - :ref:`float` **get_depth_range_max** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +The maximum depth that returns true for :ref:`enable_depth_range`. .. rst-class:: classref-item-separator @@ -264,9 +246,7 @@ Property Descriptions - void **set_depth_range_min** **(** :ref:`float` value **)** - :ref:`float` **get_depth_range_min** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +The minimum depth that returns true for :ref:`enable_depth_range`. .. rst-class:: classref-item-separator @@ -283,9 +263,7 @@ Property Descriptions - void **set_enable_depth_range** **(** :ref:`bool` value **)** - :ref:`bool` **get_enable_depth_range** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +If ``true``, each depth value will be tested to see if it is between :ref:`depth_range_min` and :ref:`depth_range_max`. If it is outside of these values, it is discarded. .. rst-class:: classref-item-separator @@ -319,9 +297,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_enable_depth_write** **(** :ref:`bool` value **)** - :ref:`bool` **get_enable_depth_write** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +If ``true``, writes to the depth buffer whenever the depth test returns true. Only works when enable_depth_test is also true. .. rst-class:: classref-item-separator @@ -338,9 +314,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_enable_stencil** **(** :ref:`bool` value **)** - :ref:`bool` **get_enable_stencil** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +If ``true``, enables stencil testing. There are separate stencil buffers for front-facing triangles and back-facing triangles. See properties that begin with "front_op" and properties with "back_op" for each. .. rst-class:: classref-item-separator @@ -357,9 +331,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_front_op_compare** **(** :ref:`CompareOperator` value **)** - :ref:`CompareOperator` **get_front_op_compare** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +The method used for comparing the previous front stencil value and :ref:`front_op_reference`. .. rst-class:: classref-item-separator @@ -376,9 +348,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_front_op_compare_mask** **(** :ref:`int` value **)** - :ref:`int` **get_front_op_compare_mask** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +Selects which bits from the front stencil value will be compared. .. rst-class:: classref-item-separator @@ -395,9 +365,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_front_op_depth_fail** **(** :ref:`StencilOperation` value **)** - :ref:`StencilOperation` **get_front_op_depth_fail** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +The operation to perform on the stencil buffer for front pixels that pass the stencil test but fail the depth test. .. rst-class:: classref-item-separator @@ -414,9 +382,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_front_op_fail** **(** :ref:`StencilOperation` value **)** - :ref:`StencilOperation` **get_front_op_fail** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +The operation to perform on the stencil buffer for front pixels that fail the stencil test. .. rst-class:: classref-item-separator @@ -433,9 +399,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_front_op_pass** **(** :ref:`StencilOperation` value **)** - :ref:`StencilOperation` **get_front_op_pass** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +The operation to perform on the stencil buffer for front pixels that pass the stencil test. .. rst-class:: classref-item-separator @@ -452,9 +416,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_front_op_reference** **(** :ref:`int` value **)** - :ref:`int` **get_front_op_reference** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +The value the previous front stencil value will be compared to. .. rst-class:: classref-item-separator @@ -471,9 +433,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_front_op_write_mask** **(** :ref:`int` value **)** - :ref:`int` **get_front_op_write_mask** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +Selects which bits from the front stencil value will be changed. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |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_rdsamplerstate.rst b/classes/class_rdsamplerstate.rst index 859590e02c3..eed6a9aa32c 100644 --- a/classes/class_rdsamplerstate.rst +++ b/classes/class_rdsamplerstate.rst @@ -168,7 +168,7 @@ The mipmap LOD bias to use. Positive values will make the sampler blurrier at a - void **set_mag_filter** **(** :ref:`SamplerFilter` value **)** - :ref:`SamplerFilter` **get_mag_filter** **(** **)** -The sampler's magnification filter. +The sampler's magnification filter. It is the filtering method used when sampling texels that appear bigger than on-screen pixels. .. rst-class:: classref-item-separator @@ -202,9 +202,7 @@ The maximum mipmap LOD bias to display (lowest resolution). Only effective if th - void **set_min_filter** **(** :ref:`SamplerFilter` value **)** - :ref:`SamplerFilter` **get_min_filter** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +The sampler's minification filter. It is the filtering method used when sampling texels that appear smaller than on-screen pixels. .. rst-class:: classref-item-separator @@ -306,9 +304,7 @@ The repeat mode to use along the W axis of UV coordinates. This affects the retu - void **set_unnormalized_uvw** **(** :ref:`bool` value **)** - :ref:`bool` **get_unnormalized_uvw** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +If ``true``, the texture will be sampled with coordinates ranging from 0 to the texture's resolution. Otherwise, the coordinates will be normalized and range from 0 to 1. .. rst-class:: classref-item-separator diff --git a/classes/class_reflectionprobe.rst b/classes/class_reflectionprobe.rst index 78e9391ca9c..84d1fad7cb8 100644 --- a/classes/class_reflectionprobe.rst +++ b/classes/class_reflectionprobe.rst @@ -67,6 +67,8 @@ Properties +------------------------------------------------------+----------------------------------------------------------------------------------+-------------------------+ | :ref:`Vector3` | :ref:`origin_offset` | ``Vector3(0, 0, 0)`` | +------------------------------------------------------+----------------------------------------------------------------------------------+-------------------------+ + | :ref:`int` | :ref:`reflection_mask` | ``1048575`` | + +------------------------------------------------------+----------------------------------------------------------------------------------+-------------------------+ | :ref:`Vector3` | :ref:`size` | ``Vector3(20, 20, 20)`` | +------------------------------------------------------+----------------------------------------------------------------------------------+-------------------------+ | :ref:`UpdateMode` | :ref:`update_mode` | ``0`` | @@ -227,7 +229,9 @@ If ``true``, enables box projection. This makes reflections look more correct in - void **set_cull_mask** **(** :ref:`int` value **)** - :ref:`int` **get_cull_mask** **(** **)** -Sets the cull mask which determines what objects are drawn by this probe. Every :ref:`VisualInstance3D` with a layer included in this cull mask will be rendered by the probe. To improve performance, it is best to only include large objects which are likely to take up a lot of space in the reflection. +Sets the cull mask which determines what objects are drawn by this probe. Every :ref:`VisualInstance3D` with a layer included in this cull mask will be rendered by the probe. It is best to only include large objects which are likely to take up a lot of space in the reflection in order to save on rendering cost. + +This can also be used to prevent an object from reflecting upon itself (for instance, a **ReflectionProbe** centered on a vehicle). .. rst-class:: classref-item-separator @@ -339,6 +343,23 @@ Sets the origin offset to be used when this **ReflectionProbe** is in :ref:`box_ ---- +.. _class_ReflectionProbe_property_reflection_mask: + +.. rst-class:: classref-property + +:ref:`int` **reflection_mask** = ``1048575`` + +.. rst-class:: classref-property-setget + +- void **set_reflection_mask** **(** :ref:`int` value **)** +- :ref:`int` **get_reflection_mask** **(** **)** + +Sets the reflection mask which determines what objects have reflections applied from this probe. Every :ref:`VisualInstance3D` with a layer included in this reflection mask will have reflections applied from this probe. See also :ref:`cull_mask`, which can be used to exclude objects from appearing in the reflection while still making them affected by the **ReflectionProbe**. + +.. rst-class:: classref-item-separator + +---- + .. _class_ReflectionProbe_property_size: .. rst-class:: classref-property diff --git a/classes/class_renderingserver.rst b/classes/class_renderingserver.rst index e6090d628a6..d117a84a996 100644 --- a/classes/class_renderingserver.rst +++ b/classes/class_renderingserver.rst @@ -747,6 +747,8 @@ Methods +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_origin_offset` **(** :ref:`RID` probe, :ref:`Vector3` offset **)** | +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`reflection_probe_set_reflection_mask` **(** :ref:`RID` probe, :ref:`int` layers **)** | + +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_resolution` **(** :ref:`RID` probe, :ref:`int` resolution **)** | +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_size` **(** :ref:`RID` probe, :ref:`Vector3` size **)** | @@ -9829,7 +9831,7 @@ If ``true``, reflections will ignore sky contribution. Equivalent to :ref:`Refle void **reflection_probe_set_cull_mask** **(** :ref:`RID` probe, :ref:`int` layers **)** -Sets the render cull mask for this reflection probe. Only instances with a matching cull mask will be rendered by this probe. Equivalent to :ref:`ReflectionProbe.cull_mask`. +Sets the render cull mask for this reflection probe. Only instances with a matching layer will be reflected by this probe. Equivalent to :ref:`ReflectionProbe.cull_mask`. .. rst-class:: classref-item-separator @@ -9907,6 +9909,18 @@ Sets the origin offset to be used when this reflection probe is in box project m ---- +.. _class_RenderingServer_method_reflection_probe_set_reflection_mask: + +.. rst-class:: classref-method + +void **reflection_probe_set_reflection_mask** **(** :ref:`RID` probe, :ref:`int` layers **)** + +Sets the render reflection mask for this reflection probe. Only instances with a matching layer will have reflections applied from this probe. Equivalent to :ref:`ReflectionProbe.reflection_mask`. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingServer_method_reflection_probe_set_resolution: .. rst-class:: classref-method diff --git a/classes/class_skeleton3d.rst b/classes/class_skeleton3d.rst index 0a80544d3f4..a00e062ac30 100644 --- a/classes/class_skeleton3d.rst +++ b/classes/class_skeleton3d.rst @@ -155,9 +155,7 @@ Signals **bone_enabled_changed** **(** :ref:`int` bone_idx **)** -.. container:: contribute - - There is currently no description for this signal. Please help us by :ref:`contributing one `! +Emitted when the bone at ``bone_idx`` is toggled with :ref:`set_bone_enabled`. Use :ref:`is_bone_enabled` to check the new value. .. rst-class:: classref-item-separator @@ -181,9 +179,7 @@ This signal is emitted when one of the bones in the Skeleton3D node have changed **pose_updated** **(** **)** -.. container:: contribute - - There is currently no description for this signal. Please help us by :ref:`contributing one `! +Emitted when the pose is updated, after :ref:`NOTIFICATION_UPDATE_SKELETON` is received. .. rst-class:: classref-item-separator @@ -195,9 +191,7 @@ This signal is emitted when one of the bones in the Skeleton3D node have changed **show_rest_only_changed** **(** **)** -.. container:: contribute - - There is currently no description for this signal. Please help us by :ref:`contributing one `! +Emitted when the value of :ref:`show_rest_only` changes. .. rst-class:: classref-section-separator @@ -214,11 +208,9 @@ Constants **NOTIFICATION_UPDATE_SKELETON** = ``50`` -.. container:: contribute - - There is currently no description for this constant. Please help us by :ref:`contributing one `! - +Notification received when this skeleton's pose needs to be updated. +This notification is received *before* the related :ref:`pose_updated` signal. .. rst-class:: classref-section-separator @@ -278,9 +270,7 @@ Multiplies the 3D position track animation. - void **set_show_rest_only** **(** :ref:`bool` value **)** - :ref:`bool` **is_show_rest_only** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +If ``true``, forces the bones in their default rest pose, regardless of their values. In the editor, this also prevents the bones from being edited. .. rst-class:: classref-section-separator diff --git a/classes/class_skeletonprofilehumanoid.rst b/classes/class_skeletonprofilehumanoid.rst index eb65d0cc9b7..efb6b834796 100644 --- a/classes/class_skeletonprofilehumanoid.rst +++ b/classes/class_skeletonprofilehumanoid.rst @@ -21,6 +21,65 @@ Description A :ref:`SkeletonProfile` as a preset that is optimized for the human form. This exists for standardization, so all parameters are read-only. +A humanoid skeleton profile contains 54 bones divided in 4 groups: ``"Body"``, ``"Face"``, ``"LeftHand"``, and ``"RightHand"``. It is structured as follows: + +:: + + Root + └─ Hips + ├─ LeftUpperLeg + │ └─ LeftLowerLeg + │ └─ LeftFoot + │ └─ LeftToes + ├─ RightUpperLeg + │ └─ RightLowerLeg + │ └─ RightFoot + │ └─ RightToes + └─ Spine + └─ Chest + └─ UpperChest + ├─ Neck + │ └─ Head + │ ├─ Jaw + │ ├─ LeftEye + │ └─ RightEye + ├─ LeftShoulder + │ └─ LeftUpperArm + │ └─ LeftLowerArm + │ └─ LeftHand + │ ├─ LeftThumbMetacarpal + │ │ └─ LeftThumbProximal + │ ├─ LeftIndexProximal + │ │ └─ LeftIndexIntermediate + │ │ └─ LeftIndexDistal + │ ├─ LeftMiddleProximal + │ │ └─ LeftMiddleIntermediate + │ │ └─ LeftMiddleDistal + │ ├─ LeftRingProximal + │ │ └─ LeftRingIntermediate + │ │ └─ LeftRingDistal + │ └─ LeftLittleProximal + │ └─ LeftLittleIntermediate + │ └─ LeftLittleDistal + └─ RightShoulder + └─ RightUpperArm + └─ RightLowerArm + └─ RightHand + ├─ RightThumbMetacarpal + │ └─ RightThumbProximal + ├─ RightIndexProximal + │ └─ RightIndexIntermediate + │ └─ RightIndexDistal + ├─ RightMiddleProximal + │ └─ RightMiddleIntermediate + │ └─ RightMiddleDistal + ├─ RightRingProximal + │ └─ RightRingIntermediate + │ └─ RightRingDistal + └─ RightLittleProximal + └─ RightLittleIntermediate + └─ RightLittleDistal + .. rst-class:: classref-introduction-group Tutorials diff --git a/classes/class_tabbar.rst b/classes/class_tabbar.rst index ea03bfa8993..7cd5f9db199 100644 --- a/classes/class_tabbar.rst +++ b/classes/class_tabbar.rst @@ -32,7 +32,9 @@ Properties +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+ | :ref:`bool` | :ref:`clip_tabs` | ``true`` | +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+ - | :ref:`int` | :ref:`current_tab` | ``0`` | + | :ref:`int` | :ref:`current_tab` | ``-1`` | + +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+ + | :ref:`bool` | :ref:`deselect_enabled` | ``false`` | +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+ | :ref:`bool` | :ref:`drag_to_rearrange_enabled` | ``false`` | +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+ @@ -418,14 +420,31 @@ If ``true``, tabs overflowing this node's width will be hidden, displaying two n .. rst-class:: classref-property -:ref:`int` **current_tab** = ``0`` +:ref:`int` **current_tab** = ``-1`` .. rst-class:: classref-property-setget - void **set_current_tab** **(** :ref:`int` value **)** - :ref:`int` **get_current_tab** **(** **)** -Select tab at index ``tab_idx``. +The index of the current selected tab. A value of ``-1`` means that no tab is selected and can only be set when :ref:`deselect_enabled` is ``true`` or if all tabs are hidden or disabled. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TabBar_property_deselect_enabled: + +.. rst-class:: classref-property + +:ref:`bool` **deselect_enabled** = ``false`` + +.. rst-class:: classref-property-setget + +- void **set_deselect_enabled** **(** :ref:`bool` value **)** +- :ref:`bool` **get_deselect_enabled** **(** **)** + +If ``true``, all tabs can be deselected so that no tab is selected. Click on the current tab to deselect it. .. rst-class:: classref-item-separator diff --git a/classes/class_tabcontainer.rst b/classes/class_tabcontainer.rst index 315f18144f9..c56585004db 100644 --- a/classes/class_tabcontainer.rst +++ b/classes/class_tabcontainer.rst @@ -43,7 +43,9 @@ Properties +---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+ | :ref:`bool` | :ref:`clip_tabs` | ``true`` | +---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+ - | :ref:`int` | :ref:`current_tab` | ``0`` | + | :ref:`int` | :ref:`current_tab` | ``-1`` | + +---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`deselect_enabled` | ``false`` | +---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+ | :ref:`bool` | :ref:`drag_to_rearrange_enabled` | ``false`` | +---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+ @@ -353,7 +355,7 @@ If ``true``, tabs overflowing this node's width will be hidden, displaying two n .. rst-class:: classref-property -:ref:`int` **current_tab** = ``0`` +:ref:`int` **current_tab** = ``-1`` .. rst-class:: classref-property-setget @@ -362,6 +364,27 @@ If ``true``, tabs overflowing this node's width will be hidden, displaying two n The current tab index. When set, this index's :ref:`Control` node's ``visible`` property is set to ``true`` and all others are set to ``false``. +A value of ``-1`` means that no tab is selected. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TabContainer_property_deselect_enabled: + +.. rst-class:: classref-property + +:ref:`bool` **deselect_enabled** = ``false`` + +.. rst-class:: classref-property-setget + +- void **set_deselect_enabled** **(** :ref:`bool` value **)** +- :ref:`bool` **get_deselect_enabled** **(** **)** + +If ``true``, all tabs can be deselected so that no tab is selected. Click on the :ref:`current_tab` to deselect it. + +Only the tab header will be shown if no tabs are selected. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_textserver.rst b/classes/class_textserver.rst index d8a92e49dcd..311c20edf31 100644 --- a/classes/class_textserver.rst +++ b/classes/class_textserver.rst @@ -56,6 +56,8 @@ Methods +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`font_get_ascent` **(** :ref:`RID` font_rid, :ref:`int` size **)** |const| | +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`font_get_baseline_offset` **(** :ref:`RID` font_rid **)** |const| | + +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`font_get_char_from_glyph_index` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`int` glyph_index **)** |const| | +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`font_get_descent` **(** :ref:`RID` font_rid, :ref:`int` size **)** |const| | @@ -186,6 +188,8 @@ Methods +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`font_set_ascent` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`float` ascent **)** | +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`font_set_baseline_offset` **(** :ref:`RID` font_rid, :ref:`float` baseline_offset **)** | + +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`font_set_data` **(** :ref:`RID` font_rid, :ref:`PackedByteArray` data **)** | +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`font_set_descent` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`float` descent **)** | @@ -1685,6 +1689,18 @@ Returns the font ascent (number of pixels above the baseline). ---- +.. _class_TextServer_method_font_get_baseline_offset: + +.. rst-class:: classref-method + +:ref:`float` **font_get_baseline_offset** **(** :ref:`RID` font_rid **)** |const| + +Returns extra baseline offset (as a fraction of font height). + +.. rst-class:: classref-item-separator + +---- + .. _class_TextServer_method_font_get_char_from_glyph_index: .. rst-class:: classref-method @@ -2481,6 +2497,18 @@ Sets the font ascent (number of pixels above the baseline). ---- +.. _class_TextServer_method_font_set_baseline_offset: + +.. rst-class:: classref-method + +void **font_set_baseline_offset** **(** :ref:`RID` font_rid, :ref:`float` baseline_offset **)** + +Sets extra baseline offset (as a fraction of font height). + +.. rst-class:: classref-item-separator + +---- + .. _class_TextServer_method_font_set_data: .. rst-class:: classref-method diff --git a/classes/class_textserverextension.rst b/classes/class_textserverextension.rst index 5eb1e35f4d0..502c1e62129 100644 --- a/classes/class_textserverextension.rst +++ b/classes/class_textserverextension.rst @@ -58,6 +58,8 @@ Methods +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_font_get_ascent` **(** :ref:`RID` font_rid, :ref:`int` size **)** |virtual| |const| | +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`_font_get_baseline_offset` **(** :ref:`RID` font_rid **)** |virtual| |const| | + +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_font_get_char_from_glyph_index` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`int` glyph_index **)** |virtual| |const| | +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_font_get_descent` **(** :ref:`RID` font_rid, :ref:`int` size **)** |virtual| |const| | @@ -188,6 +190,8 @@ Methods +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_ascent` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`float` ascent **)** |virtual| | +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_font_set_baseline_offset` **(** :ref:`RID` font_rid, :ref:`float` baseline_offset **)** |virtual| | + +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_data` **(** :ref:`RID` font_rid, :ref:`PackedByteArray` data **)** |virtual| | +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_data_ptr` **(** :ref:`RID` font_rid, const uint8_t* data_ptr, :ref:`int` data_size **)** |virtual| | @@ -640,6 +644,20 @@ void **_font_draw_glyph_outline** **(** :ref:`RID` font_rid, :ref:`RI ---- +.. _class_TextServerExtension_private_method__font_get_baseline_offset: + +.. rst-class:: classref-method + +:ref:`float` **_font_get_baseline_offset** **(** :ref:`RID` font_rid **)** |virtual| |const| + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one `! + +.. rst-class:: classref-item-separator + +---- + .. _class_TextServerExtension_private_method__font_get_char_from_glyph_index: .. rst-class:: classref-method @@ -1550,6 +1568,20 @@ void **_font_set_ascent** **(** :ref:`RID` font_rid, :ref:`int` font_rid, :ref:`float` baseline_offset **)** |virtual| + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one `! + +.. rst-class:: classref-item-separator + +---- + .. _class_TextServerExtension_private_method__font_set_data: .. rst-class:: classref-method diff --git a/classes/class_texture2drd.rst b/classes/class_texture2drd.rst index c4246a0536b..3a5147bd6ec 100644 --- a/classes/class_texture2drd.rst +++ b/classes/class_texture2drd.rst @@ -32,7 +32,7 @@ Properties +-------------------------+------------------------------------------------------------------+----------------------------------------------------------------------------------------+ | :ref:`bool` | resource_local_to_scene | ``false`` (overrides :ref:`Resource`) | +-------------------------+------------------------------------------------------------------+----------------------------------------------------------------------------------------+ - | :ref:`RID` | :ref:`texture_rd_rid` | ``RID()`` | + | :ref:`RID` | :ref:`texture_rd_rid` | | +-------------------------+------------------------------------------------------------------+----------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -48,7 +48,7 @@ Property Descriptions .. rst-class:: classref-property -:ref:`RID` **texture_rd_rid** = ``RID()`` +:ref:`RID` **texture_rd_rid** .. rst-class:: classref-property-setget diff --git a/classes/class_texture3drd.rst b/classes/class_texture3drd.rst index 08425d55e58..4b5dc493866 100644 --- a/classes/class_texture3drd.rst +++ b/classes/class_texture3drd.rst @@ -29,9 +29,9 @@ Properties .. table:: :widths: auto - +-----------------------+------------------------------------------------------------------+-----------+ - | :ref:`RID` | :ref:`texture_rd_rid` | ``RID()`` | - +-----------------------+------------------------------------------------------------------+-----------+ + +-----------------------+------------------------------------------------------------------+ + | :ref:`RID` | :ref:`texture_rd_rid` | + +-----------------------+------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -46,7 +46,7 @@ Property Descriptions .. rst-class:: classref-property -:ref:`RID` **texture_rd_rid** = ``RID()`` +:ref:`RID` **texture_rd_rid** .. rst-class:: classref-property-setget diff --git a/classes/class_texturelayeredrd.rst b/classes/class_texturelayeredrd.rst index 538432cf5f5..a0a4519ec0f 100644 --- a/classes/class_texturelayeredrd.rst +++ b/classes/class_texturelayeredrd.rst @@ -31,9 +31,9 @@ Properties .. table:: :widths: auto - +-----------------------+-----------------------------------------------------------------------+-----------+ - | :ref:`RID` | :ref:`texture_rd_rid` | ``RID()`` | - +-----------------------+-----------------------------------------------------------------------+-----------+ + +-----------------------+-----------------------------------------------------------------------+ + | :ref:`RID` | :ref:`texture_rd_rid` | + +-----------------------+-----------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -48,7 +48,7 @@ Property Descriptions .. rst-class:: classref-property -:ref:`RID` **texture_rd_rid** = ``RID()`` +:ref:`RID` **texture_rd_rid** .. rst-class:: classref-property-setget diff --git a/classes/class_timer.rst b/classes/class_timer.rst index e01b1559ed1..c353e06fd76 100644 --- a/classes/class_timer.rst +++ b/classes/class_timer.rst @@ -85,7 +85,7 @@ Signals **timeout** **(** **)** -Emitted when the timer reaches 0. +Emitted when the timer reaches the end. .. rst-class:: classref-section-separator @@ -108,7 +108,7 @@ enum **TimerProcessCallback**: :ref:`TimerProcessCallback` **TIMER_PROCESS_PHYSICS** = ``0`` -Update the timer during physics frames (see :ref:`Node.NOTIFICATION_INTERNAL_PHYSICS_PROCESS`). +Update the timer every physics process frame (see :ref:`Node.NOTIFICATION_INTERNAL_PHYSICS_PROCESS`). .. _class_Timer_constant_TIMER_PROCESS_IDLE: @@ -116,7 +116,7 @@ Update the timer during physics frames (see :ref:`Node.NOTIFICATION_INTERNAL_PHY :ref:`TimerProcessCallback` **TIMER_PROCESS_IDLE** = ``1`` -Update the timer during process frames (see :ref:`Node.NOTIFICATION_INTERNAL_PROCESS`). +Update the timer every process (rendered) frame (see :ref:`Node.NOTIFICATION_INTERNAL_PROCESS`). .. rst-class:: classref-section-separator @@ -138,9 +138,9 @@ Property Descriptions - void **set_autostart** **(** :ref:`bool` value **)** - :ref:`bool` **has_autostart** **(** **)** -If ``true``, the timer will automatically start when entering the scene tree. +If ``true``, the timer will start immediately when it enters the scene tree. -\ **Note:** This property is automatically set to ``false`` after the timer enters the scene tree and starts. +\ **Note:** After the timer enters the tree, this property is automatically set to ``false``. .. rst-class:: classref-item-separator @@ -157,7 +157,7 @@ If ``true``, the timer will automatically start when entering the scene tree. - void **set_one_shot** **(** :ref:`bool` value **)** - :ref:`bool` **is_one_shot** **(** **)** -If ``true``, the timer will stop when reaching 0. If ``false``, it will restart. +If ``true``, the timer will stop after reaching the end. Otherwise, as by default, the timer will automatically restart. .. rst-class:: classref-item-separator @@ -174,7 +174,7 @@ If ``true``, the timer will stop when reaching 0. If ``false``, it will restart. - void **set_paused** **(** :ref:`bool` value **)** - :ref:`bool` **is_paused** **(** **)** -If ``true``, the timer is paused and will not process until it is unpaused again, even if :ref:`start` is called. +If ``true``, the timer is paused. A paused timer does not process until this property is set back to ``false``, even when :ref:`start` is called. .. rst-class:: classref-item-separator @@ -191,7 +191,7 @@ If ``true``, the timer is paused and will not process until it is unpaused again - void **set_timer_process_callback** **(** :ref:`TimerProcessCallback` value **)** - :ref:`TimerProcessCallback` **get_timer_process_callback** **(** **)** -Processing callback. See :ref:`TimerProcessCallback`. +Specifies when the timer is updated during the main loop (see :ref:`TimerProcessCallback`). .. rst-class:: classref-item-separator @@ -207,9 +207,9 @@ Processing callback. See :ref:`TimerProcessCallback` **get_time_left** **(** **)** -The timer's remaining time in seconds. Returns 0 if the timer is inactive. +The timer's remaining time in seconds. This is always ``0`` if the timer is stopped. -\ **Note:** This value is read-only and cannot be set. It is based on :ref:`wait_time`, which can be set using :ref:`start`. +\ **Note:** This property is read-only and cannot be modified. It is based on :ref:`wait_time`. .. rst-class:: classref-item-separator @@ -226,9 +226,9 @@ The timer's remaining time in seconds. Returns 0 if the timer is inactive. - void **set_wait_time** **(** :ref:`float` value **)** - :ref:`float` **get_wait_time** **(** **)** -The wait time in seconds. +The time required for the timer to end, in seconds. This property can also be set every time :ref:`start` is called. -\ **Note:** Timers can only emit once per rendered frame at most (or once per physics frame if :ref:`process_callback` is :ref:`TIMER_PROCESS_PHYSICS`). This means very low wait times (lower than 0.05 seconds) will behave in significantly different ways depending on the rendered framerate. For very low wait times, it is recommended to use a process loop in a script instead of using a Timer node. Timers are affected by :ref:`Engine.time_scale`, a higher scale means quicker timeouts, and vice versa. +\ **Note:** Timers can only process once per physics or process frame (depending on the :ref:`process_callback`). An unstable framerate may cause the timer to end inconsistently, which is especially noticeable if the wait time is lower than roughly ``0.05`` seconds. For very short timers, it is recommended to write your own code instead of using a **Timer** node. Timers are also affected by :ref:`Engine.time_scale`. .. rst-class:: classref-section-separator @@ -245,7 +245,7 @@ Method Descriptions :ref:`bool` **is_stopped** **(** **)** |const| -Returns ``true`` if the timer is stopped. +Returns ``true`` if the timer is stopped or has not started. .. rst-class:: classref-item-separator @@ -257,9 +257,9 @@ Returns ``true`` if the timer is stopped. void **start** **(** :ref:`float` time_sec=-1 **)** -Starts the timer. Sets :ref:`wait_time` to ``time_sec`` if ``time_sec > 0``. This also resets the remaining time to :ref:`wait_time`. +Starts the timer, if it was not started already. Fails if the timer is not inside the tree. If ``time_sec`` is greater than ``0``, this value is used for the :ref:`wait_time`. -\ **Note:** This method will not resume a paused timer. See :ref:`paused`. +\ **Note:** This method does not resume a paused timer. See :ref:`paused`. .. rst-class:: classref-item-separator diff --git a/classes/class_treeitem.rst b/classes/class_treeitem.rst index 97e6fe381b1..1bbda4c51ae 100644 --- a/classes/class_treeitem.rst +++ b/classes/class_treeitem.rst @@ -74,6 +74,8 @@ Methods +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_button_by_id` **(** :ref:`int` column, :ref:`int` id **)** |const| | +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`get_button_color` **(** :ref:`int` column, :ref:`int` id **)** |const| | + +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_button_count` **(** :ref:`int` column **)** |const| | +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_button_id` **(** :ref:`int` column, :ref:`int` button_index **)** |const| | @@ -92,6 +94,8 @@ Methods +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`get_custom_color` **(** :ref:`int` column **)** |const| | +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Callable` | :ref:`get_custom_draw_callback` **(** :ref:`int` column **)** |const| | + +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Font` | :ref:`get_custom_font` **(** :ref:`int` column **)** |const| | +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_custom_font_size` **(** :ref:`int` column **)** |const| | @@ -202,6 +206,8 @@ Methods +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_custom_draw` **(** :ref:`int` column, :ref:`Object` object, :ref:`StringName` callback **)** | +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_custom_draw_callback` **(** :ref:`int` column, :ref:`Callable` callback **)** | + +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_custom_font` **(** :ref:`int` column, :ref:`Font` font **)** | +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_custom_font_size` **(** :ref:`int` column, :ref:`int` font_size **)** | @@ -528,6 +534,18 @@ Returns the button index if there is a button with ID ``id`` in column ``column` ---- +.. _class_TreeItem_method_get_button_color: + +.. rst-class:: classref-method + +:ref:`Color` **get_button_color** **(** :ref:`int` column, :ref:`int` id **)** |const| + +Returns the color of the button with ID ``id`` in column ``column``. If the specified button does not exist, returns :ref:`Color.BLACK`. + +.. rst-class:: classref-item-separator + +---- + .. _class_TreeItem_method_get_button_count: .. rst-class:: classref-method @@ -638,6 +656,18 @@ Returns the custom color of column ``column``. ---- +.. _class_TreeItem_method_get_custom_draw_callback: + +.. rst-class:: classref-method + +:ref:`Callable` **get_custom_draw_callback** **(** :ref:`int` column **)** |const| + +Returns the custom callback of column ``column``. + +.. rst-class:: classref-item-separator + +---- + .. _class_TreeItem_method_get_custom_font: .. rst-class:: classref-method @@ -1320,6 +1350,22 @@ Sets the given column's custom draw callback to ``callback`` method on ``object` The ``callback`` should accept two arguments: the **TreeItem** that is drawn and its position and size as a :ref:`Rect2`. +\ *Deprecated.* Use :ref:`set_custom_draw_callback` instead. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TreeItem_method_set_custom_draw_callback: + +.. rst-class:: classref-method + +void **set_custom_draw_callback** **(** :ref:`int` column, :ref:`Callable` callback **)** + +Sets the given column's custom draw callback. Use an empty :ref:`Callable` (``Callable()``) to clear the custom callback. + +The ``callback`` should accept two arguments: the **TreeItem** that is drawn and its position and size as a :ref:`Rect2`. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_undoredo.rst b/classes/class_undoredo.rst index 7ee3c1e1bc2..8247e9076d4 100644 --- a/classes/class_undoredo.rst +++ b/classes/class_undoredo.rst @@ -120,6 +120,18 @@ If you are registering multiple properties/method which depend on one another, b +.. rst-class:: classref-reftable-group + +Properties +---------- + +.. table:: + :widths: auto + + +-----------------------+-----------------------------------------------------+-------+ + | :ref:`int` | :ref:`max_steps` | ``0`` | + +-----------------------+-----------------------------------------------------+-------+ + .. rst-class:: classref-reftable-group Methods @@ -234,6 +246,28 @@ Makes subsequent actions with the same name be merged into one. .. rst-class:: classref-descriptions-group +Property Descriptions +--------------------- + +.. _class_UndoRedo_property_max_steps: + +.. rst-class:: classref-property + +:ref:`int` **max_steps** = ``0`` + +.. rst-class:: classref-property-setget + +- void **set_max_steps** **(** :ref:`int` value **)** +- :ref:`int` **get_max_steps** **(** **)** + +The maximum number of steps that can be stored in the undo/redo history. If the number of stored steps exceeds this limit, older steps are removed from history and can no longer be reached by calling :ref:`undo`. A value of ``0`` or lower means no limit. + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + Method Descriptions ------------------- diff --git a/classes/class_vector4i.rst b/classes/class_vector4i.rst index 4b2fea1f6d3..4a26815ac30 100644 --- a/classes/class_vector4i.rst +++ b/classes/class_vector4i.rst @@ -21,7 +21,7 @@ A 4-element structure that can be used to represent 4D grid coordinates or any o It uses integer coordinates and is therefore preferable to :ref:`Vector4` when exact precision is required. Note that the values are limited to 32 bits, and unlike :ref:`Vector4` this cannot be configured with an engine build option. Use :ref:`int` or :ref:`PackedInt64Array` if 64-bit values are needed. -\ **Note:** In a boolean context, a Vector4i will evaluate to ``false`` if it's equal to ``Vector4i(0, 0, 0, 0)``. Otherwise, a Vector3i will always evaluate to ``true``. +\ **Note:** In a boolean context, a Vector4i will evaluate to ``false`` if it's equal to ``Vector4i(0, 0, 0, 0)``. Otherwise, a Vector4i will always evaluate to ``true``. .. rst-class:: classref-reftable-group diff --git a/classes/class_window.rst b/classes/class_window.rst index 2b06b2c3f2e..dde6a1121bf 100644 --- a/classes/class_window.rst +++ b/classes/class_window.rst @@ -1399,7 +1399,7 @@ If ``true``, the **Window**'s background can be transparent. This is best used w \ **Note:** Transparency support is implemented on Linux, macOS and Windows, but availability might vary depending on GPU driver, display manager, and compositor capabilities. -\ **Note:** This property has no effect if either :ref:`ProjectSettings.display/window/per_pixel_transparency/allowed`, or the window's :ref:`Viewport.transparent_bg` is set to ``false``. +\ **Note:** This property has no effect if :ref:`ProjectSettings.display/window/per_pixel_transparency/allowed` is set to ``false``. .. rst-class:: classref-item-separator diff --git a/classes/class_xrinterface.rst b/classes/class_xrinterface.rst index 09cd1f9cfeb..eb5d6159999 100644 --- a/classes/class_xrinterface.rst +++ b/classes/class_xrinterface.rst @@ -290,7 +290,7 @@ Player is free to move around, full positional tracking. :ref:`PlayAreaMode` **XR_PLAY_AREA_STAGE** = ``4`` -Same as :ref:`XR_PLAY_AREA_ROOMSCALE` but origin point is fixed to the center of the physical space, :ref:`XRServer.center_on_hmd` disabled. +Same as :ref:`XR_PLAY_AREA_ROOMSCALE` but origin point is fixed to the center of the physical space. In this mode, system-level recentering may be disabled, requiring the use of :ref:`XRServer.center_on_hmd`. .. rst-class:: classref-item-separator @@ -640,6 +640,8 @@ Sets the active environment blend mode. Sets the active play area mode, will return ``false`` if the mode can't be used with this interface. +\ **Note:** Changing this after the interface has already been initialized can be jarring for the player, so it's recommended to recenter on the HMD with :ref:`XRServer.center_on_hmd` (if switching to :ref:`XR_PLAY_AREA_STAGE`) or make the switch during a scene change. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_xrorigin3d.rst b/classes/class_xrorigin3d.rst index 31c8aaab479..c339ab1b05c 100644 --- a/classes/class_xrorigin3d.rst +++ b/classes/class_xrorigin3d.rst @@ -21,11 +21,11 @@ Description This is a special node within the AR/VR system that maps the physical location of the center of our tracking space to the virtual location within our game world. -There should be only one of these nodes in your scene and you must have one. All the XRCamera3D, XRController3D and XRAnchor3D nodes should be direct children of this node for spatial tracking to work correctly. +Multiple origin points can be added to the scene tree, but only one can used at a time. All the :ref:`XRCamera3D`, :ref:`XRController3D`, and :ref:`XRAnchor3D` nodes should be direct children of this node for spatial tracking to work correctly. It is the position of this node that you update when your character needs to move through your game world while we're not moving in the real world. Movement in the real world is always in relation to this origin point. -For example, if your character is driving a car, the XROrigin3D node should be a child node of this car. Or, if you're implementing a teleport system to move your character, you should change the position of this node. +For example, if your character is driving a car, the **XROrigin3D** node should be a child node of this car. Or, if you're implementing a teleport system to move your character, you should change the position of this node. .. rst-class:: classref-introduction-group @@ -68,7 +68,7 @@ Property Descriptions - void **set_current** **(** :ref:`bool` value **)** - :ref:`bool` **is_current** **(** **)** -Is this XROrigin3D node the current origin used by the :ref:`XRServer`? +If ``true``, this origin node is currently being used by the :ref:`XRServer`. Only one origin point can be used at a time. .. rst-class:: classref-item-separator @@ -85,9 +85,7 @@ Is this XROrigin3D node the current origin used by the :ref:`XRServer` value **)** - :ref:`float` **get_world_scale** **(** **)** -Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter. - -\ **Note:** This method is a passthrough to the :ref:`XRServer` itself. +The scale of the game world compared to the real world. This is the same as :ref:`XRServer.world_scale`. By default, most AR/VR platforms assume that 1 game unit corresponds to 1 real world meter. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |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_xrserver.rst b/classes/class_xrserver.rst index a32116e915f..bbf3f16f114 100644 --- a/classes/class_xrserver.rst +++ b/classes/class_xrserver.rst @@ -59,6 +59,8 @@ Methods +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`center_on_hmd` **(** :ref:`RotationMode` rotation_mode, :ref:`bool` keep_height **)** | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Transform3D` | :ref:`clear_reference_frame` **(** **)** |const| | + +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`XRInterface` | :ref:`find_interface` **(** :ref:`String` name **)** |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Transform3D` | :ref:`get_hmd_transform` **(** **)** | @@ -306,7 +308,7 @@ The current origin of our tracking space in the virtual world. This is used by t - void **set_world_scale** **(** :ref:`float` value **)** - :ref:`float` **get_world_scale** **(** **)** -Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter. +The scale of the game world compared to the real world. By default, most AR/VR platforms assume that 1 game unit corresponds to 1 real world meter. .. rst-class:: classref-section-separator @@ -363,6 +365,18 @@ You should call this method after a few seconds have passed. For example, when t ---- +.. _class_XRServer_method_clear_reference_frame: + +.. rst-class:: classref-method + +:ref:`Transform3D` **clear_reference_frame** **(** **)** |const| + +Clears the reference frame that was set by previous calls to :ref:`center_on_hmd`. + +.. rst-class:: classref-item-separator + +---- + .. _class_XRServer_method_find_interface: .. rst-class:: classref-method