Commit Graph

162 Commits

Author SHA1 Message Date
b6dee8850b Merge pull request #87384 from bruvzg/sys_base_color
Add method to get "base" system UI color and system theme change callback.
2024-02-13 23:43:21 +01:00
ee53ae28df Add method to get "base" system UI color (macOS/Windows) and system theme change callback. 2024-02-13 18:38:53 +02:00
deffe6a3be [macOS] Add support for native help menu search callbacks, integrate editor help. 2024-02-13 18:37:37 +02:00
8da36031e4 Implement support for application status indicators (tray icons). 2024-02-13 15:59:35 +02:00
2ba6066d5d Minor fix in DisplayServer.xml to include Linux & Windows in FEATURE_NATIVE_DIALOG 2024-02-03 21:36:02 +02:00
edb21e0573 [Wayland] Add support for native file dialogs. 2024-01-31 14:13:19 +02:00
7e0f7d3abd Add Wayland support
Not everything is yet implemented, either for Godot or personal
limitations (I don't have all hardware in the world). A brief list of
the most important issues follows:

- Single-window only: the `DisplayServer` API doesn't expose enough
information for properly creating XDG shell windows.

- Very dumb rendering loop: this is very complicated, just know that
the low consumption mode is forced to 2000 Hz and some clever hacks are
in place to overcome a specific Wayland limitation. This will be
improved to the extent possible both downstream and upstream.

- Features to implement yet: IME, touch input, native file dialog,
drawing tablet (commented out due to a refactor), screen recording.

- Mouse passthrough can't be implement through a poly API, we need a
rect-based one.

- The cursor doesn't yet support fractional scaling.

- Auto scale is rounded up when using fractional scaling as we don't
have a per-window scale query API (basically we need
`DisplayServer::window_get_scale`).

- Building with `x11=no wayland=yes opengl=yes openxr=yes` fails.

This also adds a new project property and editor setting for selecting the
default DisplayServer to start, to allow this backend to start first in
exported projects (X11 is still the default for now). The editor setting
always overrides the project setting.

Special thanks to Drew Devault, toger5, Sebastian Krzyszkowiak, Leandro
Benedet Garcia, Subhransu, Yury Zhuravlev and Mara Huldra.
2024-01-30 16:44:47 +01:00
a8f521bcad [Native File Dialog] Add support for adding custom options to the dialogs.
Add support for adding custom options (checkboxes and optionboxes) to the dialogs (both native and built-in).
2024-01-24 15:00:31 +02:00
61bdbdd9ee Replace some "uncommon" words in class reference 2024-01-15 18:51:52 +01:00
e01b22a69d [Windows] Make Windows Ink tablet API default, add dummy driver to disable tablet input. 2023-12-18 22:36:54 +02:00
0d44b50520 [macOS] Add default Window and Help menus, allow special menu customization. 2023-12-13 23:20:05 +02:00
354c622aa7 doc: Clarify that DisplayServer.window_set_*_callback aren't supported on Window nodes 2023-11-09 17:23:38 +01:00
1e544505be Merge pull request #82691 from YuriSizov/rst-validate-with-exceptions
Validate `code` tags for class and member references
2023-10-04 15:42:42 +02:00
d5db0e5032 Merge pull request #81218 from bruvzg/_temp_fs
[Native File Dialogs] Improve filter list handling, add selected filter to the callback.
2023-10-04 15:34:16 +02:00
d1aaa914f3 [macOS] Add about_to_open and popup_hide callback for the global menus, move part of logic to the PopupMenu to allow live menu modification. 2023-10-04 09:49:51 +03:00
43e4708dff [Native File Dialogs] Improve filter list handling, add selected filter to the callback. 2023-10-03 19:26:16 +03:00
0358abbeba Merge pull request #82179 from bruvzg/mode_docs
[Docs] Update and sync Window and DisplayServer window mode descriptions.
2023-10-03 17:22:05 +02:00
cc0eebd9d8 Validate code tags for class and member references
This commit also adds means to manually disable warnings
in `code` tags where it's a false positive with the new
`skip-lint` attribute.

Warnings are now enabled on CI to prevent future errors.
2023-10-03 15:48:31 +02:00
72e2e47059 [DisplayServer] Add method to estimate window title bar size. 2023-10-03 16:13:52 +03:00
c8df5e7291 [Docs] Update and sync Window and DisplayServer window mode descriptions. 2023-10-02 23:47:32 +03:00
Zae
428eb1309a Support dark mode on Android and iOS. 2023-09-26 11:00:04 +08:00
1887a9df19 [macOS/Windows] Add optional ANGLE backed OpenGL renderer support. Add EGL_ANDROID_blob_cache caching.
Co-authored-by: Riteo <riteo@posteo.net>
2023-09-21 14:21:00 +03:00
5c43e4c1ef Fix various typos with codespell
Using 2.2.6.dev180+ge3a2cfbd.
2023-09-12 08:54:18 +02:00
8de6405288 UWP: Remove platform port, needs to be redone from scratch for 4.x
The UWP platform port was never ported to the Godot 4.0+ API,
and it's now accumulating bitrot as it doesn't compile, and thus
we no longer propagate platform changes in it.

So we finally remove to acknowledge this state. There's still some
interest in reviving the UWP port eventually, especially as support
for Direct3D 12 will soon be merged, but when that happens it will
be easiest to redo it from scratch.
2023-09-07 15:01:59 +02:00
6cc314e0fa [Linux/Freedesktop] Implement native file selection dialog support. 2023-08-17 10:56:16 +03:00
0c2399d6ec Merge pull request #63826 from deakcor/dev_clipboard
Add `clipboard_has/get_image` methods to DisplayServer
2023-07-27 15:22:16 +02:00
818d90f1e5 Merge pull request #79353 from sepTN/fix-docs-for-consistency
Fix documentation for consistency
2023-07-21 17:54:26 +02:00
d3ca91ad6a [Windows] Implement native file selection dialog support. 2023-07-18 17:23:58 +03:00
c13e3a9fb0 add clipboard get image methods for windows and macos
Co-Authored-By: RedworkDE <10944644+RedworkDE@users.noreply.github.com>
Co-Authored-By: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-07-17 23:47:27 +02:00
4790da7900 [macOS] Implement optional native file selection dialog support for sandboxed apps. 2023-07-12 22:36:24 +03:00
ff689003a5 Merge pull request #77993 from bruvzg/key_lbl_from_p
Implement DisplayServer.keyboard_get_label_from_physical method.
2023-07-12 21:02:37 +02:00
377cbaba43 Fix documentation for consistency 2023-07-12 05:33:49 +07:00
81064cc239 Doctool: Remove version attribute from XML header
We don't use that info for anything, and it generates unnecessary diffs
every time we bump the minor version (and CI failures if we forget to
sync some files from opt-in modules (mono, text_server_fb).
2023-07-06 10:08:21 +02:00
346f1ab86b Bump version to 4.2-dev
Keep on waitin'
2023-07-05 22:07:03 +02:00
9159208ed1 Ensure RID, Callable, and Signal are stored as strings
Prevents parser errors in `.tscn` and `.tres` files where the assignment
would otherwise be empty.
2023-06-22 17:01:08 +02:00
014b395ef3 Merge pull request #78262 from bruvzg/ds_window_focus
[DisplayServer] Add method to check if native window is focused.
2023-06-16 10:19:33 +02:00
28db3c7158 [DisplayServer] Add method to check if native window is focused. 2023-06-16 10:27:52 +03:00
eb391d3302 Display BitField[Enum] in docs to distinguish from Enum 2023-06-15 17:23:02 +03:00
974a7a89c6 [iOS] Fix orientation change in runtime. 2023-06-12 14:13:53 +03:00
08e8ff371d Implement keyboard_get_label_from_physical method. 2023-06-08 10:13:31 +03:00
989dedddf9 Merge pull request #77577 from YeldhamDev/improve_window_docs
Improve `Window` documentation
2023-05-29 17:34:24 +02:00
7505fbd939 Merge pull request #76702 from MewPurPur/improve-docs-top-sections-GUI
Overhaul the top sections of the class reference (GUI classes)
2023-05-29 17:13:38 +02:00
f7fced5e00 Improve Window documentation 2023-05-29 11:18:31 -03:00
17fb77223c Minor grammar fixes to documentation 2023-05-28 18:27:56 +02:00
151a4ba6a5 Overhaul the top sections of the class reference (GUI classes) 2023-05-28 14:24:54 +02:00
5b9984b5a2 Add audio/general/text_to_speech project setting to enable/disable TTS. 2023-05-18 20:16:03 +03:00
265c70a369 Merge pull request #75142 from bruvzg/scr
[DisplayServer] Implement screen_get_image method for LinuxBSD/X11, macOS and Windows.
2023-05-16 10:48:16 +02:00
921d231ad6 Merge pull request #76664 from Xenoparrot/simple-typos 2023-05-06 15:41:55 +02:00
33b9be27d3 Some clarifications on screen-space coordinates 2023-05-03 20:15:49 +02:00
8106d33d0f Fixed various typos across the docs 2023-05-02 18:24:32 -04:00