summaryrefslogtreecommitdiff
path: root/platform/macos
AgeCommit message (Collapse)Author
2023-01-08Use BitField<> in core type masksJuan Linietsky
* 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-07Add support for the custom initial screen for the main window, fix primary ↵bruvzg
screen detection.
2023-01-05One Copyright Update to rule them allRémi Verschelde
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-03Merge pull request #70624 from bruvzg/cur_scRémi Verschelde
Improve `window_set_current_screen` and fix secondary window initial mode and positions.
2022-12-29Improve `window_set_current_screen` and fix secondary window initial mode ↵bruvzg
and positions.
2022-12-23[macOS] Fix stylus tilt Y direction.bruvzg
2022-12-16[macOS/iOS] Use framework Info.plist to determine library name.bruvzg
2022-12-12Only support XDG directory path configuration on LinuxHugo Locurcio
XDG support breaks when running Windows builds via WINE. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-12-07Merge pull request #69712 from bruvzg/real_sizeRémi Verschelde
Rename `window_get_real_size`, add position counterpart.
2022-12-07[macOS export] Add support for Xcode notarytool.bruvzg
2022-12-07Rename `window_get_real_size` to `window_get_size_with_decorations`, add ↵bruvzg
`window_get_position_with_decorations`.
2022-12-04Use system fonts as fallback and improve system font handling.bruvzg
Add support for font weight and stretch selection when using system fonts. Add function to get system fallback font from a font name, style, text, and language code. Implement system font support for Android. Use system fonts as a last resort fallback.
2022-12-02Merge pull request #69380 from bruvzg/mac_max_wsRémi Verschelde
[macOS] Improve maximized and non-resizable modes handling.
2022-11-30[macOS] Improve maximized and non-resizable modes handling.bruvzg
2022-11-30[macOS] Fix export button incorrectly disabled when using login/app password ↵bruvzg
for notarization.
2022-11-28[macOS] Fix sub-windows opening in fullscreen.bruvzg
2022-11-21Merge pull request #68897 from bruvzg/mac_reparentRémi Verschelde
[macOS] Dynamically attach and detach transient windows to allow them to stay on top of parent and be moved to another screen.
2022-11-21[Export] Use image loader directly to avoid "resource as image file" errors.bruvzg
2022-11-21[macOS] Dynamically attach and detach transient windows to allow them to ↵bruvzg
stay on top of parent and can be moved to another screen.
2022-11-20Fix unused exitcode in macos export pluginMarkus Sauermann
Fix that the exitcode is never set.
2022-11-18Windows icon export improvements.bruvzg
Regenerate Windows icon on export to ensure correct icon size order. Add support for using PNG/WebP/SVG files as an icon for Windows exports. Allow using WebP/SVG files as icon for macOS exports. Add option to select generated icons interpolation, and set default interpolation to Lanczos.
2022-11-17[macOS] Update activation hack to work on Ventura.bruvzg
2022-11-15Set vsync on window creation when using GLES3.clayjohn
Add vsync to Windows platform
2022-11-15Merge pull request #68683 from bruvzg/mvk_detectRémi Verschelde
[macOS] Automatically detect MoltenVK libs installed via homebrew and macports.
2022-11-15[macOS] Automatically detect MoltenVK libs installed via homebrew and macports.bruvzg
2022-11-14Regenerate GL loader code with GLAD 2Riteo
GLAD 1 creates unusable loaders for EGL, while the newly released GLAD 2 does not, so for consistency I thought that it would be a good idea to uniform things beforehand. While it had some API changes some renames were all that was needed and everything works like before, at least on the Wayland branch. I've kept the structure identical, although this new generator has quite a few hefty features, such as a single header mode. I've also added GLAD to `thirdparty/README.md`, but I haven't specified that in the commit title because it's a very small "fix".
2022-11-14[macOS] Add exclusive fullscreen mode with Dock and Menu disabled.bruvzg
2022-11-13Added missing null checks for gl_manager in MacOS and Windows display serversDavid Snopek
2022-11-11Fix unsent WINDOW_EVENT_MOUSE_ENTER event on mouse_mode-changeMarkus Sauermann
coauthor: @bruvzg On linuxbsd and macOS the WINDOW_EVENT_MOUSE_ENTER was not sent, when the mouse became visible again after a mouse_mode-change.
2022-11-08Add support for OpenGL to OpenXRDavid Snopek
2022-11-01Load and use system emoji font in the editor.bruvzg
2022-10-31Merge pull request #67879 from bruvzg/fix_no_vlkRémi Verschelde
Fix build with Vulkan disabled and no Vulkan headers installed.
2022-10-31Merge pull request #67578 from KoBeWi/GEDITORRémi Verschelde
Unify usage of GLOBAL/EDITOR_GET
2022-10-26Fix build with Vulkan disabled and no Vulkan headers installed.bruvzg
2022-10-24Make window creation with custom position do not flashWei Guo
2022-10-21Merge pull request #67546 from clayjohn/DS-msgClay John
Update the DisplayServer video driver error message to be more accurate and friendly
2022-10-18Update the DisplayServer video driver error messageclayjohn
to be more accurate and friendly
2022-10-18Unify usage of GLOBAL/EDITOR_GETkobewi
2022-10-18[macOS] Fit OS::alert to the text width for better readability.bruvzg
2022-10-13Fix macOS export plugin build without regex module.bruvzg
2022-10-12Merge pull request #66952 from bruvzg/macos_net_exportRémi Verschelde
Fix macOS .NET export.
2022-10-11Cleanup unused defines in platform codeRémi Verschelde
2022-10-10[macOS] Fix window button position and title bar size when editor scale do ↵bruvzg
not match OS UI scale.
2022-10-07[.NET Export] Improve .NET export process.bruvzg
[macOS export] Fix incorrect file placement, search paths and architecture detection. [macOS export] Automatically detect executable files and set +x flag. [macOS export] Automatically apply "Disable Library Validation" entitlements when required. [macOS export] Remove old Mono export code. Fix folder tree creation for shared objects export. Add arch suffix to the exported .NET "data" folder name. Remove old Mono code from .NET "data" folder lookup.
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-10-04Merge pull request #66832 from bruvzg/cmd_p_fixRémi Verschelde
[macOS] Fix ⌘ + . + other modifier triggering twice.
2022-10-03[macOS] Fix ⌘ + . + other modifier triggering twice.bruvzg
2022-10-03Unix: Remove now unnecessary I/O defines, cleanupRémi Verschelde
- `LIBC_FILEIO_ENABLED` wasn't defined anywhere, even in _other platforms_. - `NO_NETWORK` is also never defined. It probably isn't enough anyway to disable network APIs in the current codebase. - `UNIX_SOCKET_UNAVAILABLE` is never defined in this code but used by some other platforms, clarify that. - `NO_STATVFS` can be removed as Android supports it since API level 19, which is our current min SDK level. It's also only used for `DirAccessUnix::get_space_left()` which is anyway overridden by `DirAccessJAndroid::get_space_left()` so it shouldn't make a difference. * Fixed documentation for `DirAccess.get_space_left()`. - `NO_FCNTL` is likely also a remnant of early Android days, in current NDK r23 it seems to be available. Also cleaned up unused `fcntl.h` includes. - `NO_ALLOCA` is never defined, and we use alloca in many places now.
2022-09-30ci: add Python static analysis check via mypyJiri Suchan
2022-09-26SCons: Unify tools/target build type configurationRémi Verschelde
Implements https://github.com/godotengine/godot-proposals/issues/3371. New `target` presets ==================== The `tools` option is removed and `target` changes to use three new presets, which match the builds users are familiar with. These targets control the default optimization level and enable editor-specific and debugging code: - `editor`: Replaces `tools=yes target=release_debug`. * Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2` - `template_debug`: Replaces `tools=no target=release_debug`. * Defines: `DEBUG_ENABLED`, `-O2`/`/O2` - `template_release`: Replaces `tools=no target=release`. * Defines: `-O3`/`/O2` New `dev_build` option ====================== The previous `target=debug` is now replaced by a separate `dev_build=yes` option, which can be used in combination with either of the three targets, and changes the following: - `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`), enables generating debug symbols, does not define `NDEBUG` so `assert()` works in thirdparty libraries, adds a `.dev` suffix to the binary name. Note: Unlike previously, `dev_build` defaults to off so that users who compile Godot from source get an optimized and small build by default. Engine contributors should now set `dev_build=yes` in their build scripts or IDE configuration manually. Changed binary names ==================== The name of generated binaries and object files are changed too, to follow this format: `godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]` For example: - `godot.linuxbsd.editor.dev.arm64` - `godot.windows.template_release.double.x86_64.mono.exe` Be sure to update your links/scripts/IDE config accordingly. More flexible `optimize` and `debug_symbols` options ==================================================== The optimization level and whether to generate debug symbols can be further specified with the `optimize` and `debug_symbols` options. So the default values listed above for the various `target` and `dev_build` combinations are indicative and can be replaced when compiling, e.g.: `scons p=linuxbsd target=template_debug dev_build=yes optimize=debug` will make a "debug" export template with dev-only code enabled, `-Og` optimization level for GCC/Clang, and debug symbols. Perfect for debugging complex crashes at runtime in an exported project.