godot/platform/macos
Nintorch 0b3496fb4f
Add support for SDL3 joystick input driver
Made possible by EIREXE, xsellier and the SDL team.

This commit includes statically linked SDL3 for Windows, Linux and macOS.
The vendored copy of SDL3 was setup to only build the required subsystems
for gamepad/joystick support, with some patches to be able to make it as
minimal as possible and reduce the impact on binary size and code size.

Co-authored-by: Álex Román Núñez <eirexe123@gmail.com>
Co-authored-by: Xavier Sellier <xsellier@gmail.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-06-25 01:28:50 +02:00
..
doc_classes Add shader baker to project exporter. 2025-05-27 12:45:27 -03:00
editor cleanup closed embedded processes on macos 2025-06-23 02:00:37 -07:00
export Show shader baker related export warnings only if enabled 2025-06-06 21:05:39 +05:30
crash_handler_macos.h Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
crash_handler_macos.mm Fix various race conditions with capturing of script backtraces 2025-06-02 19:46:19 +02:00
detect.py Add support for SDL3 joystick input driver 2025-06-25 01:28:50 +02:00
dir_access_macos.h Implement get_filesystem_type on macOS and Linux. 2025-05-23 23:05:06 +03:00
dir_access_macos.mm Implement get_filesystem_type on macOS and Linux. 2025-05-23 23:05:06 +03:00
display_server_embedded.h Comments spelling fixes 2025-06-15 01:36:10 +02:00
display_server_embedded.mm Cleanup and unify DisplayServer screen methods and documentation. 2025-06-02 08:03:48 +03:00
display_server_macos.h [macOS] Move keyboard layout related code to base display server. 2025-06-24 10:45:19 +03:00
display_server_macos.mm [macOS] Move keyboard layout related code to base display server. 2025-06-24 10:45:19 +03:00
display_server_macos_base.h [macOS] Move keyboard layout related code to base display server. 2025-06-24 10:45:19 +03:00
display_server_macos_base.mm [macOS] Move keyboard layout related code to base display server. 2025-06-24 10:45:19 +03:00
embedded_debugger.h macOS: Embedded window can be dismissed by clicking close 2025-05-12 07:09:42 +10:00
embedded_debugger.mm macOS: Embedded window can be dismissed by clicking close 2025-05-12 07:09:42 +10:00
embedded_gl_manager.h MacOS: Initialize member field 2025-06-12 14:57:36 +10:00
embedded_gl_manager.mm macOS: Support vsync when embedding OpenGL processes 2025-05-20 09:39:13 +10:00
gl_manager_macos_angle.h MacOS: Embedded window support. 2025-05-06 06:09:05 +10:00
gl_manager_macos_angle.mm [macOS] Switch Angle to Metal backend. 2025-06-09 10:29:30 +03:00
gl_manager_macos_legacy.h Core: Integrate warning suppression macro helpers 2025-04-03 10:13:46 -05:00
gl_manager_macos_legacy.mm Core: Modernize C headers with C++ equivalents 2025-05-02 08:23:01 -05:00
godot_application.h MacOS: Embedded window support. 2025-05-06 06:09:05 +10:00
godot_application.mm Fix macOS build with dev_build=yes and target=template_debug 2025-05-14 09:47:51 +03:00
godot_application_delegate.h MacOS: Embedded window support. 2025-05-06 06:09:05 +10:00
godot_application_delegate.mm Fix GodotApplicationDelegate init. 2025-05-21 13:49:07 +03:00
godot_button_view.h Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
godot_button_view.mm Style: Standardize Obj-C #import syntax 2025-03-08 09:28:34 -06:00
godot_content_view.h [macOS] Fix touch bar observer crash. 2025-04-26 23:29:07 +03:00
godot_content_view.mm 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
godot_main_macos.mm macOS: Embedded window can be dismissed by clicking close 2025-05-12 07:09:42 +10:00
godot_menu_delegate.h Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
godot_menu_delegate.mm Style: Standardize Obj-C #import syntax 2025-03-08 09:28:34 -06:00
godot_menu_item.h [macOS] Fix native menu submenu items have wrong action and accelerators set. 2025-04-03 18:47:23 +03:00
godot_menu_item.mm [macOS] Fix native menu submenu items have wrong action and accelerators set. 2025-04-03 18:47:23 +03:00
godot_open_save_delegate.h Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
godot_open_save_delegate.mm Fix native file dialog crash with invalid filter. 2025-06-06 09:24:42 +03:00
godot_status_item.h Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
godot_status_item.mm Style: Standardize Obj-C #import syntax 2025-03-08 09:28:34 -06:00
godot_window.h Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
godot_window.mm Style: Standardize Obj-C #import syntax 2025-03-08 09:28:34 -06:00
godot_window_delegate.h macOS: Support vsync when embedding OpenGL processes 2025-05-20 09:39:13 +10:00
godot_window_delegate.mm [macOS] Fix borderless window maximization. 2025-05-30 00:13:53 +03:00
key_mapping_macos.h Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
key_mapping_macos.mm Style: Standardize Obj-C #import syntax 2025-03-08 09:28:34 -06:00
macos_quartz_core_spi.h MacOS: Embedded window support. 2025-05-06 06:09:05 +10:00
msvs.py Fix .sln project generation logic for Rider to support all OS and all C++ toolchains 2025-04-08 15:40:05 +02:00
native_menu_macos.h Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
native_menu_macos.mm [macOS] Fix native menu submenu items have wrong action and accelerators set. 2025-04-03 18:47:23 +03:00
os_macos.h Add support for SDL3 joystick input driver 2025-06-25 01:28:50 +02:00
os_macos.mm Add support for SDL3 joystick input driver 2025-06-25 01:28:50 +02:00
platform_config.h Apple: Add pthread implementation of Thread class 2025-04-10 09:35:40 +10:00
platform_gl.h Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
platform_macos_builders.py SCons: Begin decoupling generation & build code 2025-04-25 08:23:01 -05:00
platform_thread.h Apple: Add pthread implementation of Thread class 2025-04-10 09:35:40 +10:00
README.md Introduce 'drivers/apple_embedded' abstract platform for code reuse 2025-05-19 15:37:13 -07:00
rendering_context_driver_vulkan_macos.h Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
rendering_context_driver_vulkan_macos.mm Style: Standardize Obj-C #import syntax 2025-03-08 09:28:34 -06:00
SCsub Apple: Improve reliability of Apple Embedded build and deployment 2025-06-19 06:33:08 +10:00
tts_macos.h Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
tts_macos.mm Style: Standardize Obj-C #import syntax 2025-03-08 09:28:34 -06:00

macOS platform port

This folder contains the C++, Objective-C and Objective-C++ code for the macOS platform port.

This platform uses shared Apple code (drivers/apple).

See also misc/dist/macos folder for additional files used by this platform. misc/dist/macos_tools.app is an .app bundle template used for packaging the macOS editor, while misc/dist/macos_template.app is used for packaging macOS export templates.

Documentation