Commit Graph

1241 Commits

Author SHA1 Message Date
kobewi 3a77484f70 Fix CanvasItem visibility propagation 2022-02-19 22:40:53 +01:00
Markus Sauermann 27aab7f7ca Update variable name to reflect usage 2022-02-19 09:19:15 +01:00
Rémi Verschelde 417698c202
Merge pull request #58042 from Sauermann/fix-viewport-border-notifications
Fix Viewport mouse enter+exit notifications
2022-02-19 09:07:07 +01:00
diddykonga 78dc608aa8 Change 'find_node' to 'find_nodes' and Add 'type' parameter
Changed 'find_node' to 'find_nodes' which now returns an 'TypedArray<Node>', as well as Added a 'type' parameter to match against specific node types, which supports inheritance.
2022-02-17 01:44:13 -06:00
Markus Sauermann 415042ac89 Connect notifications from Container to Viewport
mouse enter+exit
2022-02-15 22:41:30 +01:00
Rémi Verschelde 0f5455230c
Use `switch` consistently in `_notification` (`scene` folder) 2022-02-15 18:44:55 +01:00
Rémi Verschelde 171021145d
Merge pull request #58147 from Geometror/fix-tooltip-flicker 2022-02-15 18:02:55 +01:00
Hendrik Brucker c30d161562 Fix tooltip flickering in some cases 2022-02-15 16:29:03 +01:00
Wagner Scholl Lemos 160ee4ef8e Added show and hide methods and updated doc API. 2022-02-15 11:37:41 -03:00
Rémi Verschelde d3a6b6daaa
Merge pull request #56953 from bruvzg/ex_wnd 2022-02-12 16:46:55 +01:00
Hendrik Brucker b396fd4eef Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
bruvzg 7d59b81d79
Add exclusive window handling to DisplayServer (on macOS and Windows). 2022-02-12 00:14:09 +02:00
Rémi Verschelde 4be8f200f0
Fix crash calling `_activate()` on ShaderGlobalsOverride out of tree
Fixes #45984.
2022-02-10 18:22:20 +01:00
Fabio Alessandrelli a18ba63417 [Net] Allow to use strings as method name in RPC.
Node::rpc and Node::rpc_id will now also accepts Strings instead of only
accepting StringNames.
2022-02-09 14:27:16 +01:00
kobewi ab5b5e1577 Rework CanvasItem visibility propagation 2022-02-06 00:26:28 +01:00
Rémi Verschelde 5f42e0d0ab
Merge pull request #57646 from Faless/mp/4.x_interfaces
[Net] Move RPC, Node cache out of MultiplayerAPI.
2022-02-05 18:26:04 +01:00
kobewi 189dab2d76 Add visibility to CanvasLayer 2022-02-05 14:02:21 +01:00
Fabio Alessandrelli 347d2dfc42 [Net] Move RPC, Node cache out of MultiplayerAPI.
Now uses two interfaces so it can be overridden in the future, and
core no longer depends on Node.

The interfaces are implements in scene/multiplayer.
Replaces root_node with root_path.
Remove all Node references from MultiplayerAPI.
2022-02-05 02:00:23 +01:00
Rémi Verschelde 2885befbe6
Merge pull request #55950 from Faless/mp/4.x_replication_nodes 2022-02-04 19:03:10 +01:00
Fabio Alessandrelli d219547c96 [Net] New replication interface, spawner and synchronizer nodes.
Initial implementation of the MultiplayerReplicationInterface and its
default implementation (SceneReplicationInterface).

New MultiplayerSpawner node helps dealing with instantiation of scenes
on remote peers (e.g. clients).
It supports both custom spawns via a `_spawn_custom` virtual function,
and optional auto-spawn of known scenes via a TypedArray<PackedScenes>
property.

New MultiplayerSynchornizer helps synchronizing states between the local
and remote peers, supports both sync and spawn properties and is
configured via a `SceneReplicationConfig` resource.
It can also sync via path (i.e. without being spawned by a
MultiplayerSpawner if both peers has it in tree, but will not send the
spawn state in that case, only the sync one.
2022-02-04 14:56:30 +01:00
Rémi Verschelde 225a3b2545
Merge pull request #57341 from bruvzg/win_multiwin_fs 2022-02-04 13:28:56 +01:00
bruvzg f4ea9cd9f3
[Windows] Add WS_BORDER flag to windows in WINDOW_MODE_FULLSCREEN mode to allow multi-window interface in full-screen.
[Windows] Add WINDOW_MODE_EXCLUSIVE_FULLSCREEN without WS_BORDER flag enabled (no multi-window support).
2022-02-04 12:08:46 +02:00
bruvzg 244db37508
Cleanup and move char functions to the `char_utils.h` header. 2022-02-04 11:35:01 +02:00
Rémi Verschelde 2a3c4f00c8
Merge pull request #57541 from reduz/node-add-remove-hook 2022-02-04 10:13:29 +01:00
Rémi Verschelde 36880714e4
Merge pull request #57517 from groud/viewport_expose_gui_focus 2022-02-03 11:20:20 +01:00
Fabio Alessandrelli 6ff753675a
Merge pull request #56771 from mhilbrunner/unacceptable
Verify custom HTTP headers, fix off by one error
2022-02-02 18:28:30 +01:00
reduz fbd9599b04 Add a signal to notify when children nodes enter or exit tree
-Allows more fine grained notifications (hence better performance) than using the global scene tree signals (node added and removed).
-Required for #55950
2022-02-02 11:28:11 +01:00
Rémi Verschelde 7ed7bf1fa7
Merge pull request #48156 from madmiraal/fix-46438
Fix `mouse_over` not dropped when mouse leaves window
2022-02-02 07:58:49 +01:00
Anilforextra fc27636999 Vectors: Use clear() and has().
Use clear() instead of resize(0).

Use has() instead of "find(p_val) != -1".
2022-02-02 00:11:09 +05:45
Marcel Admiraal eaa70fd3f8 Fix mouse_over not dropped when mouse leaves window 2022-02-01 16:12:37 +00:00
Gilles Roudière 3521eecb4c Exposes gui_release_focus and gui_get_focus_owner to Viewport 2022-02-01 15:07:22 +01:00
Max Hilbrunner 3ef5a97505 Verify custom HTTP headers, fix off by one error 2022-01-27 03:22:37 +01:00
Max Hilbrunner 3a83872d26 HTTP comment cleanup 2022-01-27 03:22:37 +01:00
Fabio Alessandrelli 17d4d3839e [Net] Fix HTTPRequest memory leak in compressed responses.
When accept_gzip = true.
2022-01-24 14:24:45 +01:00
rafallus 44f6fe4be4 Bring reusable variables out of while loop 2022-01-23 19:39:00 -06:00
Marcel Admiraal d009aa4d02 Fix mouse position not being scaled when window size is changed 2022-01-23 11:53:58 +00:00
bruvzg 3d79ad6e50
Fix main window title translation. 2022-01-21 15:32:22 +02:00
Rémi Verschelde d681d99e12
Merge pull request #52134 from RandomShaper/fix_naming 2022-01-20 22:01:37 +01:00
Pedro J. Estébanez 7b0ed2aa5e Rename Variant::is_ref() to is_ref_counted() 2022-01-20 18:46:25 +01:00
Rémi Verschelde 9e0973ca23
Merge pull request #56972 from lawnjelly/warn_unused 2022-01-20 15:34:41 +01:00
lawnjelly b411a731fe Add nodiscard to core math classes to catch c++ errors.
A common source of errors is to call functions (such as round()) expecting them to work in place, but them actually being designed only to return the processed value. Not using the return value in this case in indicative of a bug, and can be flagged as a warning by using the [[nodiscard]] attribute.
2022-01-20 13:07:49 +00:00
Rémi Verschelde 28fcbdd6dd
Merge pull request #56957 from Pineapple/get-node-error-check-optimization
Rework Node::get_node to omit is_absolute() check in best case scenario
2022-01-20 07:34:15 +01:00
Bartłomiej T. Listwon e2792cc71c Rework Node::get_node to omit is_absolute() check in best case scenario 2022-01-19 21:38:18 +01:00
Rémi Verschelde 6ab5d9d008
Merge pull request #56935 from V-Sekai/window_theme_changed_signal 2022-01-19 13:31:56 +01:00
Rémi Verschelde 74b110a736
Merge pull request #56825 from bruvzg/macos_fix_fullscr_multiwindow 2022-01-19 10:03:17 +01:00
SaracenOne 2db30ef223 Add missing 'theme_changed' signal to Window class 2022-01-19 07:59:42 +00:00
bruvzg d62ca0c9c0 Window management improvements.
[macOS] Fix transient windows not working in the full-screen mode.
[macOS] Fix moving transient windows to the other screen than parent window.
[macOS] Fix popup menu switch on hover.
[macOS] Use content origin rect for windows position (to ensure `DS.mouse_get_position` is equal to `DS.window_get_position` + mouse position from the input events).
[macOS] Fix incorrect input coordinates, when external display with different scaling in connected/disconnected.
[macOS/Windows] Fix moving fullscreen windows between the screens.
Add auto refocusing of the parent window, when the focused transient window is closed.
Remove redundant `DS.mouse_get_absolute_position` function (returns mouse position in the screen coordinates, same as `DS.mouse_get_position`).
2022-01-18 11:47:03 +02:00
Mario Liebisch a5a03b3a73
Allow embedded windows to be non-resizable
This fixes issue #56869.
2022-01-17 21:19:45 +01:00
Haoyu Qiu 6aecf91e4f Replicate load-as-placeholder state on node duplication 2022-01-16 15:08:03 +08:00
Stijn Hinlopen fb1cd9e446 Refactor CanvasItem show/hide/set_visible 2022-01-12 23:13:41 +01:00