Commit Graph

956 Commits

Author SHA1 Message Date
Hugo Locurcio 5df0c8b271 Add a nearest-neighbor scaling option to Viewport's Scaling 3D Mode property
This is useful for 3D games with a pixel art appearance, or when
using a resolution scale of `0.5` to improve performance without
compromising crispness too much when not using FSR 1.0.

The property hints now allow decreasing the scale further to accomodate
for pixel art use cases, as well as increased precision in the value
(useful for a scale of `0.3333`).

Co-authored-by: Daniel Savage <dansvg@gmail.com>
Co-authored-by: Kaleb Reid <78945904+Kaleb-Reid@users.noreply.github.com>
2026-03-25 00:05:54 +01:00
Rémi Verschelde 970f8236b5 Merge pull request #117733 from KoBeWi/autranslator_localized_(i.e._at_location)
Add `_get_tooltip_auto_translate_mode_at()` to Control
2026-03-23 22:36:15 +01:00
kit 94c2707a8b Fix WindowWrapper leaking all key inputs to parent 2026-03-23 16:58:42 -04:00
kobewi 0d220b35a5 Add _get_tooltip_auto_translate_mode_at() to Control 2026-03-22 17:56:46 +01:00
Pāvels Nadtočajevs cdcb208eb9 [Viewport] Add option to inherit parents texture filter/repeat, use it for popups. 2026-03-11 15:06:47 +02:00
Rémi Verschelde 18edfa5245 Explicitly include scene_tree.h where used
Pre-requisite before removing `scene_tree.h` from `node.h`
which has cascading consequences on most of the codebase.
2026-03-05 10:43:25 +01:00
Rémi Verschelde eabb9a63d4 Rename callable_method_pointer.h to callable_mp.h and include it explicitly
This allows removing it from `class_db.h`, significantly reducing the amount of files
that include it transitively.

Also includes some include cleanup in `control.h` and `rich_text_label.h` done while
ensure they don't depend on `callable_mp`.
2026-03-04 16:23:23 +01:00
Rémi Verschelde 765362b033 Explicitly include core/config/engine.h where used 2026-03-04 10:17:10 +01:00
Rémi Verschelde 8c0f175c94 Decouple RenderingServer from as much of the codebase as possible
Notably decouples it from:
- AccessibilityServer
- DisplayServer
- Viewport
- Window
2026-03-03 12:48:07 +01:00
Rémi Verschelde a447ac95ec Move DisplayServer enums and typedefs to DisplayServerEnums
This will allow decoupling `display_server.h` from a number of headers in the
codebase which only require those enums and not all the DisplayServer API.
2026-03-03 12:44:02 +01:00
Thaddeus Crews e380a41752 Style: Add class_db.h includes explicitly 2026-02-26 15:50:28 -06:00
Thaddeus Crews 861d74c09d Merge pull request #115799 from BastiaanOlij/add_view_count_to_viewport
Add view count support to Viewport
2026-02-26 08:15:13 -06:00
Bastiaan Olij f3a815238b Add view count support to Viewport 2026-02-26 12:37:21 +11:00
Rémi Verschelde a3cb56dd38 Decouple RenderingServer from XR/OpenXR headers
Move BlitToScreen to RenderingServerTypes.
2026-02-25 20:17:23 +01:00
Rémi Verschelde f5a290ac46 Move RenderingServer enums to a dedicated RenderingServerEnums (RSE) namespace
A number of headers in the codebase included `rendering_server.h` just for
some enum definitions. This means that any change to `rendering_server.h` or
one of its dependencies would trigger a massive incremental rebuild.

With this change, we decouple a number of classes from `rendering_server.h`,
greatly speeding up incremental rebuilds for that area.

On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 60s (from 2m57s).
2026-02-25 19:43:03 +01:00
kobewi 6f86914f55 Cleanup _validate_property() implementations 2026-02-23 15:05:25 +01:00
Rémi Verschelde 1c12d2c36e Tidy up includes in scene/main and scene/debugger 2026-02-19 15:09:29 +01:00
kobewi f7b9703cbd Use actual class names in resource type hints 2026-01-29 21:07:56 +01:00
Nintorch eb019511ed Optimize files that #include input.h header 2026-01-28 14:21:00 +05:00
Adam Scott 263589497b Add non-public {Line,Text}Edit::_set_text()
- [Web] Fix "Enter" not triggering LineEdit submits.

Co-authored-by: Marwen Azouzi <marwen.azouzi@datadoghq.com>
2026-01-01 12:00:52 +01:00
Rémi Verschelde 43f966772d Merge pull request #112712 from bruvzg/mo_e
Use event position for mouse over when event come from the same window.
2025-12-18 14:23:48 +01:00
David Snopek fc92ce3e7f Use RequiredParam/RequiredResult in some high value places 2025-12-02 10:44:12 -06:00
Thaddeus Crews 5ff7a9e793 Merge pull request #112031 from bruvzg/vm_os_f
Fix embedded window frame oversampling, fix DPITexture using uninitialized size in some conditions.
2025-11-25 09:52:24 -06:00
Pāvels Nadtočajevs 179d1b763b Use safe ObjectID for mouse over controls. 2025-11-18 20:18:12 +02:00
Thaddeus Crews 462a8d65bf Merge pull request #110162 from bruvzg/m_cli
Fix out of control area mouse events crash, if nothing have mouse focus.
2025-11-18 08:25:46 -06:00
Thaddeus Crews 7d5034c50a Merge pull request #108507 from dementive/optimize-scene-tree-groups
Optimize scene tree groups
2025-11-14 14:22:57 -06:00
Pāvels Nadtočajevs a6f6d7118e Use event position for mouse over when event come from the same window. 2025-11-13 08:26:11 +02:00
Michael Alexsander e32b9274a3 Fix UI focus being shown when it shouldn't 2025-11-03 17:00:05 -03:00
Pāvels Nadtočajevs 15279f769d Fix embedded window frame oversampling, fix DPITexture using uninitialized size in some conditions. 2025-10-25 17:23:45 +03:00
hannes 89aa5137b8 add gui_drag_threshold for viewports 2025-10-24 19:01:25 +02:00
Thaddeus Crews 201eed7129 Merge pull request #94488 from Alex2782/fix_create_folder_94446
Fix `exclusive` child window
2025-10-21 19:09:30 -05:00
Thaddeus Crews e870cd911b Merge pull request #110895 from Giganzo/input-focus
Add setting for when to show the focus state for mouse input
2025-10-21 19:09:25 -05:00
Alex 4523514123 Fix 'exclusive' child window 2025-10-20 14:55:32 +02:00
Lanza 80ce18918e fix: compilation errors when disable_xr=yes 2025-10-15 09:09:43 +08:00
Giganzo e384085ca1 Add setting for when to show the focus state for mouse input 2025-10-07 14:26:14 +02:00
Mounir Tohami 9894256e3a More XR disable for Viewport and export. 2025-10-06 20:15:07 +03:00
Thaddeus Crews 38af23a654 Merge pull request #89409 from aaronfranke/server-folders
Move server files into their subfolders
2025-10-03 12:01:00 -05:00
Aaron Franke e2dd60b5f8 Group together 2D camera override functions 2025-10-02 13:21:44 -07:00
Mounir Tohami d9af8e0acc Fix Camera2D editor override and 2D debug templates. 2025-10-02 13:52:29 +03:00
Aaron Franke 3d1c9fd5de Move server files into their subfolders 2025-09-30 19:39:39 -07:00
Aaron Franke 9fbf5808a0 Rename server "free" functions to "free_rid" to match exposed API 2025-09-30 16:52:25 -07:00
Thaddeus Crews d86123870b Merge pull request #52285 from rxlecky/camera-override-cleanup
Clean up and simplify camera override API
2025-09-30 18:35:11 -05:00
Thaddeus Crews 1f5d8a39cb Merge pull request #110520 from m4rr5/fix_vrs_modes_list
Fix Viewport VRS Mode property listing unimplemented Depth buffer option
2025-09-23 12:08:49 -05:00
Michael Alexsander aeb3a45c97 Hide Control focus when given via mouse input 2025-09-19 13:43:29 -03:00
Thaddeus Crews f27f917d32 Merge pull request #107955 from lodetrick/mouse-signals
Fix `mouse_entered` and `mouse_exited` Signals being emitted too early
2025-09-19 09:17:04 -05:00
Marcel Offermans 7d09e4a428 Fixes #110519 by removing the 'Depth buffer' option that is not present in the back-end. 2025-09-14 21:04:05 +02:00
Thaddeus Crews bfe246c2af Merge pull request #90922 from YeldhamDev/so_many_popupmenu_bugs
Fix wrong tooltip behavior in `PopupMenu`s that have styles  with top borders
2025-09-01 12:25:43 -05:00
Pāvels Nadtočajevs 2273c10a84 Fix out of control area mouse events crash, if nothing have mouse focus. 2025-09-01 14:56:13 +03:00
rxlecky 02e1919514 Cleanup and simplify camera override API
- Harmonise the camera override 2D and 3D APIs
- Switch to using Camera2D/3D nodes to provide override functionality. This makes for simpler code, gets rid of much of copy-pasted camera code and makes code that relies on current viewport camera such as VisibleOnScreenNotifiers and object picking work out of the box.
- Make camera override code only accesible within DEBUG_ENABLED builds
2025-08-31 15:34:46 +02:00
Hugo Locurcio eecfdbdd7d Add missing range hint to Viewport.oversampling_override in the editor 2025-08-29 17:41:35 +02:00