Commit Graph

263 Commits

Author SHA1 Message Date
Rémi Verschelde 7567211e8b GLES3: Split EGL includes in platform_egl.h
EGL brings in platform-specific headers such as the dreaded `windows.h`,
and `platform_gl.h` is used throughout `drivers/gles3` for basic OpenGL
types such as `GLuint`. We don't want `windows.h` pollution there.

Note for Android: EGL seems used explicitly only via `rasterizer_gles3.cpp`
to enable GL debug printing, and some custom stuff in `config.cpp`.
2026-04-07 12:07:22 +02:00
Thaddeus Crews e37b5c4035 Merge pull request #118076 from allenwp/output-max-linear-value-events
[Apple, Wayland] HDR Output: Emit window events when HDR state changes
2026-04-03 11:52:22 -05:00
Allen Pestaluky f9145cbc72 Add HDR events for Wayland and Apple display servers
Co-authored-by: ArchercatNEO <tururu.pompella@gmail.com>
2026-04-02 12:50:38 -04:00
Pāvels Nadtočajevs 5fc9f6b3d9 [macOS/Windows] Remove dynamically linked ANGLE support, add flag to enable/disable ANGLE.
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2026-03-23 13:01:25 +02:00
Rémi Verschelde e33e98a26f Style: Apply clang-format grouping rules 2026-03-17 20:11:01 +01:00
Pāvels Nadtočajevs 3d62c026f6 [macOS] Force ANGLE (GL over Metal) when running in VM. 2026-03-12 15:20:13 +02: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 727b06a79f Move ProcessID typedef out of OS
This allows decoupling a number of files from `os.h`.
2026-03-04 15:00:45 +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
Pāvels Nadtočajevs 1306221592 Move accessibility methods/enums from DisplayServer to the AccessibilityServer dedicated singleton. 2026-03-02 13:48:29 +02:00
Rémi Verschelde f1ce0e6510 Merge pull request #106814 from stuartcarnie/rendering/hdr-output
Apple: Support output to EDR (HDR) displays
2026-03-02 12:35:22 +01:00
StarryWorm 357fa00a4a rm class_db.h from resource.h 2026-02-27 19:08:29 -05:00
Thaddeus Crews e3837c24fd Merge pull request #116242 from bruvzg/cgevents
[macOS] Fix confined mouse movement getting out of sync.
2026-02-26 16:18:36 -06:00
Stuart Carnie d5504ffc69 feat: Add EDR support to Metal and all Apple platforms 2026-02-27 05:23:56 +11:00
Rémi Verschelde ad4b910a10 Minimize include dependencies of display_server.h
- Removes `native_menu.h` dependency from `display_server.h`.
  It's now forward-declared in all DisplayServer implementations and should
  be included in the .cpp's.
- Removes some unused `rb_set.h` and `rb_map.h` dependencies, which leads to
  having to include them explicitly in half the scene and editor codebase...
  which shows how much we depend on `display_server.h`.
- Forward-declare `input_event.h`, so now we need only `keyboard.h`.
2026-02-17 19:45:31 +01:00
Pāvels Nadtočajevs d1698255bc [macOS] Fix confined mouse movement getting out of sync. 2026-02-13 10:56:46 +02:00
SheepYhangCN 851faa08d8 Add taskbar progress and state support for Windows & macOS
Co-Authored-By: bruvzg <7645683+bruvzg@users.noreply.github.com>
Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2026-02-09 19:48:53 +08:00
Stuart Carnie b815c88dec Metal: Refactor for future Metal 4, switch to C++; fix dynamic uniforms 2026-02-06 07:07:10 +11:00
Lukas Tenbrink c5df0cb82b Don't right-align escaped newlines, e.g. for #define. This has previously led to long diffs in the commit history. 2026-02-04 19:31:28 +01:00
Thaddeus Crews 0cd4a62f3b Merge pull request #109182 from bruvzg/bundle_sel
[macOS] Allow native dialog to select bundles and browse bundle content.
2026-01-28 12:27:19 -06:00
Dario 542f8ddf22 Fix fallback to OpenGL3 from Vulkan initialization on Android. 2026-01-14 23:55:21 -03:00
Pāvels Nadtočajevs 898e29971b [macOS] Fix non-focusable window order. 2026-01-01 13:05:42 +02:00
Pāvels Nadtočajevs d76be3e522 [macOS] Move system theme properties to the DisplayServerMacOSBase. 2025-12-19 12:17:11 +02:00
Pāvels Nadtočajevs 466fe1abd8 [macOS] Disable window embedding code in export templates. 2025-12-13 00:16:46 +02:00
Pāvels Nadtočajevs 0a6f8c2554 [macOS] Prefer user specified file extensions over OS preferred one. 2025-12-11 11:23:57 +02:00
Pāvels Nadtočajevs 4334fff230 [macOS] Add missing "move" system cursor. 2025-11-26 13:59:27 +02:00
Thaddeus Crews ba3b024765 Merge pull request #110078 from bruvzg/emb_kmap
[macOS] Fix keyboard mapping init in embedded display server.
2025-10-31 09:23:34 -05:00
Pāvels Nadtočajevs a63dd0704f [macOS] Fix ~500ms hang on transparent OpenGL window creation on macOS 26. 2025-10-15 00:03:55 +03:00
Pāvels Nadtočajevs 14e1dbd2e0 [macOS] Allow native dialog to select bundles and browse bundle content. 2025-10-13 09:03:46 +03:00
Rémi Verschelde 546ead2abd Merge pull request #109795 from bruvzg/mac_reg_policy
[macOS] Always use "Regular" activation policy for GUI, and headless main loop for command line only tools.
2025-10-07 13:06:56 +02:00
Thaddeus Crews 5935a32e32 Core: Cleanup headers in core/config
- `MainLoop` now forward-declared in `OS`
2025-10-06 09:20:56 -05:00
chocola-mint ead282ff13 Remove file_access.h and script_backtrace.h includes from logger.h. 2025-10-05 17:49:23 +09:00
Pāvels Nadtočajevs 9214cd879a [macOS] Fix keyboard mapping init in embedded display server. 2025-08-29 10:28:37 +03:00
Pāvels Nadtočajevs 6e76a9467f [macOS] Always use "Regular" activation policy for GUI, and headless main loop for command line only tools. 2025-08-20 10:07:33 +03:00
Talkashie bc7e68dfd1 Typos 2025-08-19 18:32:59 -05:00
Pāvels Nadtočajevs 350b1936ee [macOS] Move keyboard layout related code to base display server. 2025-06-24 10:45:19 +03:00
Pāvels Nadtočajevs 09727b29c3 [macOS] Fix clipboard and TTS not working in embedded game mode. 2025-06-05 11:06:04 +03:00
Thaddeus Crews 12b97c250d Merge pull request #104907 from bruvzg/scr_ids
Cleanup and unify `DisplayServer` screen methods and documentation.
2025-06-02 18:51:45 -05:00
Pāvels Nadtočajevs 2d93e004b9 Cleanup and unify DisplayServer screen methods and documentation. 2025-06-02 08:03:48 +03:00
Pāvels Nadtočajevs 798a644dd5 [macOS] Fix borderless window maximization. 2025-05-30 00:13:53 +03:00
Lukas Tenbrink 4cb8a0c77e Add resize_initialized and resize_uninitialized to Vector. These functions serve as replacements for resize, to make sure the caller understands whether elements need to be initialized 'by hand' after the call. 2025-05-26 18:35:41 +02:00
Stuart Carnie aae3370fcd macOS: Support vsync when embedding OpenGL processes
Closes #106379
2025-05-20 09:39:13 +10:00
Thaddeus Crews ffb7358232 Merge pull request #105673 from bruvzg/macos_close_fs
[macOS] Fix close button hidden and title bar transparent in fullscreen mode.
2025-05-14 09:44:07 -05:00
Rémi Verschelde 3e2c064302 macOS: Fix template_debug build after #105884 2025-05-13 12:42:13 +02:00
Stuart Carnie f658161619 macOS: Embedded window can be dismissed by clicking close
- Installed a SIGINT handler to terminate the application gracefully.
- Handle varying display scaling
2025-05-12 07:09:42 +10:00
Stuart Carnie 00e1fdec2c MacOS: Embedded window support. 2025-05-06 06:09:05 +10:00
Thaddeus Crews 1a2a1b07df Merge pull request #105799 from Repiteo/scons/enum-conversion-warnings
SCons: Add enum conversion warning
2025-04-27 19:21:23 -05:00
Thaddeus Crews dc9c34f0c6 SCons: Add enum conversion warning 2025-04-26 12:06:20 -05:00
Pāvels Nadtočajevs e45dd45156 [macOS] Fix close button hidden and title bar transparent in fullscreen mode. 2025-04-23 08:13:33 +03: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