49 Commits

Author SHA1 Message Date
Spartan322
7f9872092c Merge commit godotengine/godot@5abed52fd9 2025-06-20 03:57:56 -04:00
Lukas Tenbrink
b13a0e1834 Rename String::resize to resize_uninitialized, to better communicate to callers that new characters must be initialized. 2025-06-11 18:13:02 +02:00
Spartan322
63f2d58fcf Merge commit godotengine/godot@428a762e98 2025-05-14 14:16:55 -04:00
Stuart Carnie
544ab4ccab macOS: Process first click event without requiring focus
This improves the user experience for macOS users, to be consistent with
other macOS applications. When a Godot window is not focused, and the
user clicks on the window, the event is forwarded to the receiving
control to be processed as if the window was already focused.
2025-05-13 05:21:51 +10:00
Spartan322
a30eb5a590 Merge commit godotengine/godot@6a6a1168a5 2025-05-07 10:35:16 -04:00
Thaddeus Crews
aa24e3b671 Merge pull request #105884 from stuartcarnie/macos_embedded
macOS: Embedded window support.
2025-05-06 08:37:59 -05:00
Stuart Carnie
00e1fdec2c MacOS: Embedded window support. 2025-05-06 06:09:05 +10:00
Thaddeus Crews
c40c56b406 Merge pull request #105822 from bruvzg/mm_update_enter
[macOS] Update entered state from `mouseMoved`.
2025-05-05 11:24:15 -05:00
Spartan322
8122592328 Merge commit godotengine/godot@80a3d205f1 2025-05-01 01:30:09 -04:00
Thaddeus Crews
4104931e4a Merge pull request #105804 from bruvzg/tb_crash
[macOS] Fix touch bar observer crash.
2025-04-27 19:21:25 -05:00
Pāvels Nadtočajevs
152423230c [macOS] Update entered state from mouseMoved. 2025-04-27 16:00:28 +03:00
Pāvels Nadtočajevs
4450594fb5 [macOS] Fix touch bar observer crash. 2025-04-26 23:29:07 +03:00
Spartan322
2b59059dde Merge commit godotengine/godot@2d3bdcac35 2025-04-19 16:05:28 -04:00
Thaddeus Crews
ad40939b6f Core: Replace C math headers with C++ equivalents
- Minor restructuring to ensure `math_funcs.h` is the central point for math functions
2025-04-16 15:49:02 -05:00
Kiro
23129a66ed Replace append_utfx with direct String::utfx 2025-03-30 19:56:38 +02:00
Lukas Tenbrink
ffa6ef220b Use append_ instead of parse_ for String methods. 2025-03-27 17:51:02 +01:00
Thaddeus Crews
6e5ec1920a Merge pull request #103788 from Grublady/mac_mouse_tracking
Fix macOS mouse tracking in tooltip popups
2025-03-13 08:57:34 -05:00
Grublady
8fd5de438f Use NSTrackingActiveWhenFirstResponder 2025-03-08 13:22:10 -05:00
Thaddeus Crews
713a1ba554 Style: Standardize Obj-C #import syntax 2025-03-08 09:28:34 -06:00
Spartan322
889d027c1a Merge commit godotengine/godot@d2ada64a03 2025-01-08 07:52:51 -05:00
Pāvels Nadtočajevs
7f0b4e58b0 Implement DisplayServer.window_start_resize. 2025-01-07 07:58:02 +02:00
Spartan322
6beb1eef9a Fix copyright headers referring to Godot 2024-10-27 11:17:29 -04:00
Dubhghlas McLaughlin
e8542b06ac Rebrand preambles to Redot
Credits:
Co-authored-by: Skogi <skogi.b@gmail.com>
Co-authored-by: Spartan322 <Megacake1234@gmail.com>
Co-authored-by: swashberry <swashdev@pm.me>
Co-authored-by: Christoffer Sundbom <christoffer_karlsson@live.se>
Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: McDubh <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: radenthefolf <radenthefolf@gmail.com>
Co-authored-by: John Knight <80524176+Tekisasu-JohnK@users.noreply.github.com>
Co-authored-by: Adam Vondersaar <adam.vondersaar@uphold.com>
Co-authored-by: decryptedchaos <nixgod@gmail.com>
Co-authored-by: zaftnotameni <122100803+zaftnotameni@users.noreply.github.com>
Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com>
Co-authored-by: wesam <108880473+wesamdev@users.noreply.github.com>
Co-authored-by: Mister Puma <MisterPuma80@gmail.com>
Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com>
Co-authored-by: SingleError <isaaconeoneone@gmail.com>
Co-authored-by: Bioblaze Payne <BioblazePayne@gmail.com>
2024-10-11 02:26:51 -04:00
bruvzg
c8447724e5 [macOS] Fix drag-and-drop feedback. 2024-07-11 23:13:38 +03:00
bruvzg
5168647530 Use current mouse button state instead of saved values. 2024-05-31 15:50:14 +03:00
bruvzg
714effdf07 [DisplayServer] Add error messages and descriptions to callbacks. 2024-05-28 17:36:54 +03:00
A Thousand Ships
31e7ee63f2 Fix unsafe uses of Callable.is_null()
`Callable.is_null()` is not equivalent to `!Callable.is_valid()` and
doesn't guarantee the call is valid.
2024-04-27 16:22:57 +02:00
Rémi Verschelde
bd57d2de18 Merge pull request #87277 from bruvzg/macos_swipe
[macOS] Handle Trackpad / Magic Mouse swipe events and simulate XBUTTON1 / XBUTTON2 buttons.
2024-02-13 17:23:46 +01:00
Markus Sauermann
2235a1cbd0 Add screen-related attributes to mouse input events 2024-02-05 23:30:15 +01:00
Mel Collins
8406e60522 Add InputEventKey.location to tell left from right
This adds a new enum `KeyLocation` and associated property
`InputEventKey.location`, which indicates the left/right location of key
events which may come from one of two physical keys, eg. Shift, Ctrl.

It also adds simulation of missing Shift KEYUP events for Windows.
When multiple Shifts are held down at the same time, Windows natively
only sends a KEYUP for the last one to be released.
2024-01-26 14:42:28 +01:00
bruvzg
ce47551822 [macOS] Fix missing modifier + space key down events. 2024-01-23 09:03:47 +02:00
bruvzg
8c22836532 [macOS] Handle Trackpad / Magic Mouse swipe events and simulate XBUTTON1 / XBUTTON2 buttons. 2024-01-17 00:08:24 +02:00
kobewi
09b30be86d Add vararg call() method to C++ Callable 2023-10-05 11:35:29 +02:00
bruvzg
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
bruvzg
208b379986 [macOS] Fix live resize with the latest MoltenVK version. 2023-09-05 16:21:08 +03:00
bruvzg
78caaf3717 [macOS] Fix missing mouse exit events on window close. 2023-08-09 10:23:57 +03:00
bruvzg
fe2d9e5bdf [macOS] Fix IME focus in popup windows. 2023-06-09 08:03:13 +03:00
Rémi Verschelde
9e4315bb50 Style: Harmonize header includes in platform ports
This applies our existing style guide, and adds a new rule to that style
guide for modular components such as platform ports and modules:

Includes from the platform port or module should be included with relative
paths (relative to the root folder of the modular component, e.g.
`platform/linuxbsd/`), in their own section before Godot's "core" includes.

The `api` and `export` subfolders also need to be handled as self-contained
(and thus use relative paths for their "local" includes) as they are all
compiled for each editor platform, without necessarily having the api/export
matching platform folder in the include path.
E.g. the Linux editor build will compile `platform/android/{api,export}/*.cpp`
and those need to use relative includes for it to work.
2023-06-08 15:19:19 +02:00
bruvzg
fd3e7e25e8 [macOS] Bump min. version to 10.13, and remove deprecated code. 2023-04-24 10:52:50 +03:00
bruvzg
daad4aed62 Cleanup and unify keyboard input.
- Unify keycode values (secondary label printed on a key), remove unused hardcoded Latin-1 codes.
- Unify IME behaviour, add inline composition string display on Windows and X11.
- Add key_label (localized label printed on a key) value to the key events, and allow mapping actions to the unshifted Unicode events.
- Add support for physical keyboard (Bluetooth or Sidecar) handling on iOS.
- Add support for media key handling on macOS.

Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-01-23 15:08:12 +02: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
Rémi Verschelde
d95794ec8a One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Rémi Verschelde
8791e333da Merge pull request #70624 from bruvzg/cur_sc
Improve `window_set_current_screen` and fix secondary window initial mode and positions.
2023-01-03 15:56:05 +01:00
bruvzg
f7955633de Improve window_set_current_screen and fix secondary window initial mode and positions. 2022-12-29 09:43:39 +02:00
bruvzg
5478f9b842 [macOS] Fix stylus tilt Y direction. 2022-12-23 23:39:46 +02:00
bruvzg
734b89124e [macOS] Fix redraw lag at the edge of the resizing window. 2022-09-15 17:08:12 +03:00
bruvzg
d46bc8f4ac [macOS, 4.0] Fix unresponsive redraw during live resizing. 2022-09-14 09:59:00 +03:00
Juan Linietsky
d4433ae6d3 Remove Signal connect binds
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
bruvzg
8823eae328 Rename OSX to macOS and iPhoneOS to iOS. 2022-07-21 09:37:52 +03:00