Commit Graph

356 Commits

Author SHA1 Message Date
Fredia Huya-Kouadio b28bcb4cfc Fix the logic used to route `InputEventScreenDrag` events to `Control` nodes. 2022-11-30 14:16:26 -08:00
Nong Van Tinh ffbaa7fff0 Enhance null checking for input event 2022-11-27 15:01:34 +07:00
kobewi 0511f48c49 Fix Viewport size change not updating textures
(cherry picked from commit 3a4a4aeade)
2022-09-05 15:35:45 +02:00
Rémi Verschelde c551a79084
Merge pull request #65063 from Atlinx/fix/65033_fix-hdr-warning
Disable HDR warning for Viewport on GLES2 projects
2022-08-30 08:38:06 +02:00
Atlinx e3b3462187 Remove HDR warning if on low end 2022-08-29 19:14:30 -04:00
Michael Alexsander 1e80b17a8d Fix some corner cases in the `Menu/OptionButton` item auto-highlight 2022-08-28 01:45:08 -03:00
Yuri Sizov 72d1156286 Remove Inspector tooltip hack that never actually worked 2022-08-26 17:12:46 +03:00
Marcel Admiraal 0992621200 Fix mouse_over not dropped when mouse leaves window 2022-07-03 09:49:56 +01:00
Rémi Verschelde df70aa1772
Merge pull request #57566 from Calinou/viewport-shadow-atlas-clamp-sizes 2022-07-03 03:08:03 +02:00
Rémi Verschelde 3d19f21576
Merge pull request #49967 from Calinou/viewport-2d-hdr-print-warning 2022-07-03 02:41:26 +02:00
Haoyu Qiu d043f91b79 Fix `Viewport.own_world` documentation
Also fixed the naming of the setter's parameter and made an `if` block
straightforward.
2022-06-06 21:34:36 +08:00
Hugo Locurcio cd1432eb12
Hide Viewport properties not applicable to the current rendering backend
This also adds a missing property range hint for the Sharpen Intensity
property (similar to the project setting).
2022-04-12 18:11:45 +02:00
Fredy Huya-Kouadio cb0b2aefc3 Android port of the Godot Editor
These set of changes focus primarily on getting the core logic and overall Godot Editor UI and functionality up and running natively on Android devices.
UI tweaks / cleanup / polish, as well configuration for Android specific functionality / restrictions will be addressed in follow-up PRs iteratively based on feedback.

Co-authored-by: thebestnom <shoval.arad@gmail.com>
2022-03-28 07:54:10 -07:00
Markus Sauermann 62fa80afd7 Cleanup internal GUI state, if event is accepted in _input. 2022-03-14 18:36:31 +01:00
Rémi Verschelde fdaf0de3f0
Merge pull request #59100 from RandomShaper/mouse_drop_on_disable_3.x 2022-03-14 11:25:12 +01:00
Pedro J. Estébanez 3d7821bf1f Drop mouse focus and over when gui input is globally disabled
Since some porjects may be relying on the former behavior, this is opt-in via a new project setting, disabled by default, but enabled for new projects, since it's the new standard behavior (and the only one in 4.0).
2022-03-14 11:06:26 +01:00
Rémi Verschelde 08c3e00b95
Merge pull request #55355 from ConteZero/drag_and_drop_3.x 2022-03-14 08:43:22 +01:00
ConteZero 4167e98088 Add drag and drop to TextEdit, LineEdit, RichTextLabel 2022-03-14 08:15:25 +01:00
Rémi Verschelde 7a16bb2ee4
Fix typos with codespell
Using codespell 2.2-dev from current git.

Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.

(cherry picked from commit 1bdb82c64e)
2022-02-11 09:50:59 +01:00
Nathan Franke c27b05febb
use exact match when checking focus next / previous 2022-02-09 10:18:58 -06:00
Hugo Locurcio 92376633f3
Clamp Viewport shadow atlas sizes to improve usability
- Add a range hint to the Viewport `shadow_atlas_size` property.
- Add range steps to the shadow resolution project settings that
  match the lowest allowed values (since lower increments don't
  make sense).
2022-02-04 18:01:16 +01:00
kobewi 621cf7d8d5 Update the minimum size of ViewportContainer 2022-02-02 13:21:03 +01:00
Rémi Verschelde a627cdafc5
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Rémi Verschelde 25369acff9
Merge pull request #51708 from Calinou/viewport-add-32bpc-color-depth 2022-01-04 14:30:24 +01:00
vitika9 e88f387958
Added check for SceneTree being null
(cherry picked from commit 51501dadcc)
2021-12-21 11:27:33 +01:00
Rémi Verschelde 98e0ebfc4b
Merge pull request #55480 from univeous/fix-joystick-focus-3.x 2021-12-07 12:15:42 +01:00
lawnjelly 3d981b8265 Add option to use handles to RID
Adds an option to compile an alternative implementation for RIDs, which allows checks for erroneous usage patterns as well as providing leak tests.
2021-12-06 14:43:34 +00:00
Rémi Verschelde cd4a08ada3
Viewport: Fixup dragging code after a0fb66d
The check was removed by mistake while cherry-picking.
2021-12-03 13:19:59 +01:00
Haoyu Qiu a0fb66d802
Fix mouse cursor and notification for force dragging
(cherry picked from commit 86a47c6540)
2021-12-03 12:51:15 +01:00
Univeous cf788ae684 Fix UI navigation with joysticks 2021-12-01 00:19:17 +08:00
kobewi fe28e823c5 Don't show tooltips for paused controls 2021-11-29 16:44:32 +01:00
kobewi 5b55599211 Show tooltips even when paused or time_scale is 0 2021-11-22 12:54:05 +01:00
vdyotte 30f359ee3c
fix hardcoded raycast distance with viewport object picking
having the raycast distance hardcoded to `10000` caused input events
to not be registered in very large 3D scenes.

This resolves the issue by using the cameras far distance instead.
Creating the more predictable behavior of if an object is visible,
it will be picked by the viewport.

resolves: #49735
(cherry picked from commit 02b6bbc5df)
2021-11-15 16:31:25 +01:00
Rémi Verschelde bee67513fb
Merge pull request #54033 from nekomatata/fix-collision-mouse-exit-error-3.x 2021-11-09 00:00:47 +01:00
Rémi Verschelde 42d385b312
clang-format: Disable alignment of operands, too unreliable
Sets `AlignOperands` to `DontAlign`.

`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 13:23:38 +02:00
kobewi cef504b955
Fix multiple definitions of Listener2D
(cherry picked from commit 6b68445e4d)
2021-10-26 13:34:33 +02:00
PouleyKetchoupp b4b94ac8a0 Fix errors in mouse detection when removing collision object from tree
Now behaves the same way as ui elements, mouse exit is skipped when the
object is removed from the tree.
2021-10-20 09:01:26 -07:00
Rémi Verschelde d35fccb651
Merge pull request #52365 from jitspoe/3.x.viewport_error_fix
[3.x] Fix ViewportTexture error when viewport is used from a child scene
2021-10-05 18:51:51 +02:00
kobewi f9720a9bf2 Add Listener2D 2021-10-05 13:29:59 +02:00
jitspoe d2637ca950
Fix ViewportTexture error when viewport is used from a child scene
Fix invalid errors when a separate child scene file contains a viewport and
that viewport is used for a texture in the current scene.

Fixes #27790.
2021-10-05 12:17:42 +02:00
Hugo Locurcio c6617e956c
Tweak the Viewport configuration warning to mention 2×2 size requirement 2021-10-01 16:43:33 +02:00
Rémi Verschelde b37776fa2f
Merge pull request #52591 from timothyqiu/error-macros
[3.x] Remove do{ } while(0) wrapper around error macros
2021-09-21 10:38:34 +02:00
Haoyu Qiu 70853fd669 Remove do{ } while(0) wrapper around error macros 2021-09-12 15:04:53 +08:00
Hugo Locurcio 1c63e335b3
Improve the error message about `SCREEN_TEXTURE` being unavailable
This also tweaks the Viewport `usage` property hint to match the
project setting used for the root viewport.
2021-09-11 23:17:07 +02:00
Hugo Locurcio 5335a0368c
Add a Viewport property to use full floating-point precision in HDR
This is only available on the GLES3 backend.

This can be useful for advanced shaders, but it should generally
not be enabled otherwise as full precision has a performance cost.
For general-purpose rendering, the built-in debanding filter should
be used to reduce banding instead.
2021-08-16 03:16:01 +02:00
Hugo Locurcio f64d5f4095
Print a warning for Viewports that have 2D usage and HDR enabled
2D usage + HDR isn't supported, so the usage must be changed to 3D
to be able to use HDR.
2021-07-04 20:34:08 +02:00
Hugo Locurcio a9c0c5484f
Add support for contrast-adaptive sharpening in 3D (GLES3 only)
This is an older, easier to implement variant of CAS as a pure
fragment shader. It doesn't support upscaling, but we won't make
use of it (at least for now).

The sharpening intensity can be adjusted on a per-Viewport basis.
For the root viewport, it can be adjusted in the Project Settings.

Since `textureLodOffset()` isn't available in GLES2, there is no
way to support contrast-adaptive sharpening in GLES2.
2021-06-21 15:37:31 +02:00
Rémi Verschelde 140350d767
Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2021-05-05 15:02:01 +02:00
Rémi Verschelde a828398655
Style: Replaces uses of 0/NULL by nullptr (C++11)
Using clang-tidy's `modernize-use-nullptr`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2021-05-04 16:30:23 +02:00
Rémi Verschelde b5e1e05ef2
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00