bruvzg
520a8d8ed2
Add project manager / editor initial screen settings, implement DisplayServer.get_keyboard_focus_screen method.
2023-04-19 08:54:53 +03:00
Haoyu Qiu
766807506c
Fix various typos in the classref
2023-04-18 19:53:47 +08:00
Evgeniy Vasilyev
5ba98e59f0
Fixed typo in DisplayServer.ScreenOrientation docs
2023-04-16 19:37:39 +03:00
bruvzg
ab94024ce1
[DisplayServer] Implement screen_get_image method for LinuxBSD/X11, macOS and Windows.
2023-03-20 14:58:21 +02:00
Haoyu Qiu
57d4272984
Fix typos and inconsistencies in classref
2023-03-16 14:10:20 +08:00
John Veness
4505049ba6
Corrected capitalisation of macOS
...
In documentation and comments, ignoring thirdparty code
2023-03-12 16:48:52 +00:00
Haoyu Qiu
03fcac3aa5
Fix various typos in the classref
2023-03-09 14:56:23 +08:00
Rémi Verschelde
5f2137a050
Merge pull request #74087 from bruvzg/get_screen_px
...
[DisplayServer] Implement screen_get_pixel method for LinuxBSD/X11, macOS and Windows.
2023-03-06 21:58:58 +01:00
bruvzg
e7647b5ee5
[DisplayServer] Implement screen_get_pixel method for LinuxBSD/X11, macOS and Windows.
2023-03-01 09:32:23 +02:00
Rémi Verschelde
1c1524a651
Bump version to 4.1-dev
...
Can't stop, won't stop, they said, huh?
2023-03-01 01:44:37 +01:00
clayjohn
c69b14e96e
Add warnings for unsupported features in mobile and gl_compatibility backends
2023-02-26 12:28:02 -08:00
Rémi Verschelde
e10ab0c8c3
Merge pull request #73610 from timothyqiu/classref-typos
...
Various classref typo fixes
2023-02-20 11:29:01 +01:00
Rémi Verschelde
dcad6fbf9c
Merge pull request #73408 from nightblade9/patch-1
...
Elaborate text-to-speech requirements on Linux
2023-02-20 11:28:29 +01:00
Haoyu Qiu
0c92c92891
Various classref typo fixes
2023-02-20 14:47:37 +08:00
nightblade9
8e9b923425
Elaborate on text-to-speech requirements on Linux
2023-02-19 17:07:07 -05:00
Hugo Locurcio
c3365ace4f
Improve documentation on PopupMenu and DisplayServer accelerators
...
The name "accelerator" is actually misleading (at least in PopupMenu),
as these are really keyboard shortcuts and not a key you press after
pressing Alt (with the corresponding letter in the option's name
being underlined after pressing Alt).
2023-02-16 20:26:07 +01:00
Hugo Locurcio
42b7739321
Document unsupported features in Mobile and Compatibility rendering methods
2023-02-13 22:17:02 +01:00
Haoyu Qiu
cc384a8228
Add missing period for sentences in classref
2023-02-12 11:39:14 +08:00
Yuri Sizov
5eb2011423
Merge pull request #71523 from YeldhamDev/dserver_doc_recoms
...
Make `DisplayServer` docs tell users to change some window values in the `Window` node
2023-02-06 21:07:37 +03:00
Zoee Silcock
29ec6e7b61
Add a note about the parameter that global menu callbacks require
2023-01-27 12:41:17 +01:00
Hugo Locurcio
91e2d699b4
Silence `warp_mouse()` warning in favor of documentation
...
This warning was spammed in the Android editor when using the
navigation joysticks in the 3D viewport when the finger slid over
the viewport's edges.
2023-01-25 23:44:32 +01:00
Hugo Locurcio
abcf0aaed2
Document changing V-Sync at runtime in the class reference
2023-01-23 19:00:22 +01:00
Michael Alexsander
c03e474d11
Make `DisplayServer` docs tell users to change some window values in the `Window` node
2023-01-16 13:52:36 -03:00
bruvzg
c6ed9bb77e
Fix typo and add missing docs for WINDOW_FLAG_MOUSE_PASSTHROUGH.
2023-01-16 14:25:32 +02:00
bruvzg
34b34b104c
Add `WINDOW_FLAG_MOUSE_PASSTHROUGH` flag and enabled it for tooltips. Expose `window_set_mouse_passthrough` to `Window`.
2023-01-16 11:42:49 +02:00
Rémi Verschelde
796690948f
Merge pull request #71022 from Sauermann/fix-captured-position-doc
...
Fix doc for position of captured mouse
2023-01-10 10:48:58 +01:00
Markus Sauermann
31346211f2
Fix doc for position of captured mouse
...
The position is not at the center of the screen but of the window.
2023-01-10 10:26:14 +01:00
Juan Linietsky
2b815df3c1
Use BitField<> in core type masks
...
* All core types masks are now correctly marked as bitfields.
* The enum hacks in MouseButtonMask and many other types are gone. This ensures that binders to other languages non C++ can actually implement type safe bitmasks.
* Most bitmask operations replaced by functions in BitField<>
* Key is still a problem because its enum and mask at the same time. While it kind of works in C++, this most likely can't be implemented safely in other languages and will have to be changed at some point. Mostly left as-is.
* Documentation and API dump updated to reflect bitfields in core types.
2023-01-08 22:17:40 +01:00
bruvzg
2718a7b7d3
Add support for the custom initial screen for the main window, fix primary screen detection.
2023-01-07 11:14:35 +02:00
Rémi Verschelde
0a3f66471e
Merge pull request #69712 from bruvzg/real_size
...
Rename `window_get_real_size`, add position counterpart.
2022-12-07 14:29:46 +01:00
Rémi Verschelde
39ad411369
Merge pull request #69707 from bruvzg/x11_exfs
...
[Linux/X11] Split fullscreen mode into `WINDOW_MODE_EXCLUSIVE_FULLSCREEN` and `WINDOW_MODE_FULLSCREEN` to improve multi-window handling.
2022-12-07 14:29:37 +01:00
bruvzg
edf13eb5a6
Rename `window_get_real_size` to `window_get_size_with_decorations`, add `window_get_position_with_decorations`.
2022-12-07 11:07:30 +02:00
Markus Sauermann
e18107a57c
Fix Determining Window for Touchscreen
...
DisplayServer::screen_is_touchscreen will likely never utilize its
parameter p_screen.
This PR replaces this function by DisplayServer::is_touchscreen_available()
with the same functionality.
This solves the problem, that a SubViewport was used for determining
the screen, which resulted in error messages.
2022-12-07 09:54:29 +01:00
bruvzg
ad0f6ff85b
[Linux/X11] Split fullscreen mode into `WINDOW_MODE_EXCLUSIVE_FULLSCREEN` and `WINDOW_MODE_FULLSCREEN` to improve multi-window handling.
2022-12-07 09:54:02 +02:00
David Snopek
61cec0b023
Clean up DisplayServerAndroid::window_get_native_handle() with the GLES3 renderer
2022-12-04 13:07:51 -06:00
bruvzg
964d8b2d00
[macOS] Add exclusive fullscreen mode with Dock and Menu disabled.
2022-11-14 07:57:22 +02:00
David Snopek
23603e409c
Add support for OpenGL to OpenXR
2022-11-08 18:47:11 -06:00
Rémi Verschelde
f7c611ab71
Style: Misc docs and comment style and language fixes
...
- Removed empty paragraphs in XML.
- Consistently use bold style for "Example:", on a new line.
- Fix usage of `[code]` when hyperlinks could be used (`[member]`, `[constant]`).
- Fix invalid usage of backticks for inline code in BBCode.
- Fix some American/British English spelling inconsistencies.
- Other minor fixes spotted along the way, including typo fixes with codespell.
- Don't specify `@GlobalScope` for `enum` and `constant`.
2022-11-02 19:01:18 +01:00
bruvzg
9f46bf44cd
[DisplayServer] Hide internal window creation/deletion methods and expose some missing methods.
2022-10-31 16:17:45 +02:00
Hugo Locurcio
0fce78355d
Document the DisplayServer class
...
This also adds a link to the Command line tutorial on pages
that reference command line arguments, as the page covers some
general usage tips for CLI arguments (especially on macOS).
2022-10-27 18:24:55 +02:00
bruvzg
73430f292b
[macOS] Fix window button position and title bar size when editor scale do not match OS UI scale.
2022-10-10 10:32:41 +03:00
bruvzg
8574dac00e
[Docs] Synchronize and update Window and Display Server documentation.
2022-10-05 08:43:37 +03:00
bruvzg
0dab11afa4
[macOS extend-to-title] Add scene/project name to the editor title, fix incorrect window button position/order when system primary language is RTL.
2022-09-22 23:09:56 +03:00
Rémi Verschelde
0b06f8b0bd
Merge pull request #65816 from bruvzg/proj_settings_missing_flags
...
Add missing initial window flags and window mode to the project settings.
2022-09-21 18:56:31 +02:00
bruvzg
0ed4cc6287
[macOS] Add an option to align window buttons in "extend to title" mode.
2022-09-20 12:55:59 +03:00
bruvzg
d104a4cdbd
Add missing initial window flags and window mode to the project settings.
2022-09-19 12:30:10 +03:00
Raul Santos
471c9c2969
Add support for system dark mode (Linux)
...
- Use `org.freedesktop.appearance color-scheme` to support system dark mode.
2022-09-02 16:49:21 +02:00
Rémi Verschelde
f81a4b2478
Merge pull request #65026 from bruvzg/dark_mode
2022-09-02 13:54:46 +02:00
bruvzg
b85a4c5d79
[macOS] Handle accelerator and click events of the global menu items separately.
2022-09-01 08:13:56 +03:00
bruvzg
629ae58a80
Add support for system dark mode and accent color detection (macOS and Windows). Add support for dark mode title bar on Windows.
2022-08-31 11:37:01 +03:00
Fabio Alessandrelli
d20b32186f
[Web] Rename JavaScript platform to Web.
...
Also rename export name from "HTML5" to "Web".
2022-08-29 11:52:00 +02:00
bruvzg
bc4ba6cb78
[macOS] Extend editor contents to the window titlebar for better space usage.
2022-08-26 15:12:43 +03:00
kobewi
8be27dc59e
Replace Array return types with TypedArray
2022-08-22 22:42:36 +02:00
bruvzg
8c56a7416b
Implement `MenuBar` control to wrap `PopupMenu`s or native menu, use native menu for editor.
2022-08-18 22:25:44 +03:00
Yuri Sizov
d953d9590b
Improve the `make_rst.py` parser for BBCode tags
2022-08-15 17:45:10 +03:00
Andy Maloney
d32803fdd6
[doc] Use "param" instead of "code" to refer to parameters (7)
2022-08-12 13:19:48 -04:00
Yuri Sizov
c5d7115038
Rename the argument tag to param in XML documentation
2022-08-08 22:34:31 +03:00
Brian Semrau
103c0fa6e6
Add support for multiple virtual keyboard types
2022-08-04 10:41:33 -04:00
Hugo Locurcio
d2271eb300
Improve error message when the requested V-Sync mode cannot be used
2022-08-04 00:15:09 +02:00
Marcel Admiraal
97e87a2daf
Fix screen_get_usable_rect returning display safe area
2022-05-02 09:31:32 +02:00
Rémi Verschelde
bc7ccc909b
Merge pull request #60551 from madmiraal/implement-3466
...
Add a method for obtaining display cutouts on Android
2022-05-02 07:56:41 +02:00
bruvzg
6ab672d1ef
Implement text-to-speech support on Android, iOS, HTML5, Linux, macOS and Windows.
...
Implement TextServer word break method.
2022-04-28 14:35:41 +03:00
Marcel Admiraal
71ce5857ec
Add a method for obtaining display cutouts on Android
2022-04-26 13:51:21 +02:00
Rémi Verschelde
a647fb3e62
Fix typos with codespell
...
Using codespell 2.2-dev from current git.
Fix a couple incorrect uses of gendered pronouns.
2022-03-31 14:07:29 +02:00
Markus Sauermann
0494e024d8
Rename warp mouse functions to warp_mouse
2022-03-27 14:12:01 +02:00
bruvzg
595995a5a7
[macOS] Add missing global menu features.
2022-03-22 12:38:14 +02:00
bruvzg
74ff5921d6
Improve popup window handling.
...
Add window FLAG_POPUP and a platform specific routines to control popup auto-hiding and event forwarding.
2022-02-25 09:33:27 +02:00
Pierre-Thomas Meisels
fd02f529fa
Fix default value for DisplayServer::virtual_keyboard_show Rect2 parameter
2022-02-18 09:43:02 +01:00
Hugo Locurcio
b68dd2e189
Add an XML schema for documentation
...
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.
Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-15 00:03:31 +01:00
Rémi Verschelde
d3a6b6daaa
Merge pull request #56953 from bruvzg/ex_wnd
2022-02-12 16:46:55 +01:00
bruvzg
7d59b81d79
Add exclusive window handling to DisplayServer (on macOS and Windows).
2022-02-12 00:14:09 +02:00
jordi
7a9972afc2
Change SCREEN_GET_REFRESH_RATE_FALLBACK to -1.0
2022-02-11 10:25:38 -06:00
Rémi Verschelde
225a3b2545
Merge pull request #57341 from bruvzg/win_multiwin_fs
2022-02-04 13:28:56 +01:00
Rémi Verschelde
d235c1bb19
Merge pull request #57335 from jordigcs/display-refresh-rate
2022-02-04 11:51:07 +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
jordi
54dec44dba
Add screen_get_refresh_rate to DisplayServer
2022-02-03 21:50:32 -06:00
Rémi Verschelde
4b36b6e92a
Merge pull request #56785 from bruvzg/nat_handles_4
2022-01-27 12:12:34 +01:00
Haoyu Qiu
314f309035
Add `DisplayServer.clipboard_has()` to check clipboard content
2022-01-19 23:44:20 +08: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
Rémi Verschelde
8bdef23f7f
Merge pull request #56012 from bruvzg/wt 🤎 4
2022-01-17 13:26:15 +01:00
bruvzg
89f37d4105
Add support for getting native display, window, and view handles.
2022-01-14 13:36:32 +02:00
kobewi
2cad775461
Fix usage of "Return" in the docs
2022-01-02 21:09:18 +01:00
bruvzg
ea5bb8b47d
[Windows] Improve console handling and execute/create_process.
...
Always build with the GUI subsystem.
Redirect stdout and stderr output to the parent process console.
Use CreateProcessW for blocking `execute` calls with piped stdout and stderr (prevent console windows for popping up when used with the GUI subsystem build, and have more consistent behavior with `create_process`).
Add `open_console` argument to the `execute` and `create_process` to open a new console window.
Remove `interface/editor/hide_console_window` editor setting.
Remove `Toggle System Console` menu option.
Remove `set_console_visible` and `is_console_visible` functions.
2021-12-18 10:14:07 +02:00
Rémi Verschelde
6c1bd4d227
Replace Godot docs URL with `$DOCS_URL` in XML class reference
2021-11-15 13:02:21 +01:00
ConteZero
8c48b4a7e0
Fix primary clipboard warning
2021-10-23 15:50:01 +02:00
ConteZero
838c9d37b4
Added primary clipboard for Linux
2021-10-18 14:01:06 +02:00
DeeJayLSP
17e3c9a4e3
DisplayServer: Add multiple descriptions for methods.
...
Added multiple descriptions for clipboard, mouse and window methods.
2021-10-07 12:43:00 -03:00
DeeJayLSP
d89889d055
Describe how window mode setter and getter works
2021-10-05 20:43:13 -03:00
Frixuu
650e63a7ca
Allow for mapping keycodes to current layout
2021-09-21 00:03:02 +02:00
Hugo Locurcio
f02a040d48
Define a default minimum window size to workaround rendering issues
...
The minimum window size can still be set to `Vector2(0, 0)` in a script
if needed.
This closes #37242 .
2021-08-22 08:19:49 +02:00
Rémi Verschelde
7adf4cc9b5
doc: Use self-closing tags for `return` and `argument`
...
For the time being we don't support writing a description for those, preferring
having all details in the method's description.
Using self-closing tags saves half the lines, and prevents contributors from
thinking that they should write the argument or return documentation there.
2021-07-30 15:29:52 +02:00
bruvzg
618eb27e8b
Move `alert` function from `DisplayServer` to `OS`.
2021-07-22 21:50:35 +03:00
Hendrik Brucker
043ae91560
Restructure and reimplement vsync options
...
-Add a v-sync mode setting which allows to choose between DISABLED, ON, ADAPTIVE and MAILBOX
-Removed the V-Sync via Compositor option
2021-07-06 16:34:26 +02:00
Aaron Franke
0ce49800ac
Use mouse and joypad enums instead of plain integers
...
Also MIDIMessage
2021-06-20 11:54:24 -04:00
Michael Alexsander Silva Dias
0ff4095b36
Better format arguments in variant parser
2021-06-18 00:06:40 -03:00
Aaron Franke
98aa3b669e
Add MOUSE_MODE_CONFINED_HIDDEN
...
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-06-03 11:44:28 -04:00
Rémi Verschelde
35ec0e9be7
OS: Remove native video API only implemented on iOS
...
See discussion in #43811 , it was only implemented on iOS and even that
implementation was fairly limited. This would best be provided as plugins
for Android and iOS without cluttering the shared OS API.
2021-05-07 20:40:24 +02:00
Rémi Verschelde
0d1d719178
doc: Sync classref with current source
...
And fix various bogus bindings following previous PRs.
2021-02-19 14:39:14 +01:00
bruvzg
3e0262509f
Move tablet driver API from OS to DisplayServer.
2021-02-18 17:12:24 +02:00
Rémi Verschelde
593e35346a
Merge pull request #42841 from HaSa1002/docs-lang-3
...
Port code examples to C# (D and E)
2020-11-09 08:29:44 +01:00