summaryrefslogtreecommitdiff
path: root/platform/osx/os_osx.h
AgeCommit message (Collapse)Author
2020-08-16Port ClassDB tests to use doctestAndrii Doroshenko (Xrayez)
Extracted the most minimal core initialization functionality from `setup()` and `setup2()` so that `ClassDB` could be tested properly (input, audio, rendering, physics etc, are excluded). Display and rendering servers/singletons are not initialized at all. Due to the fact that most subsystems are disabled, fixed various crashes in the process (in order): - `AcceptDialog` OK/cancel swap behavior (used `DisplayServer` while `register_scene_types()`); - `make_default_theme` which depends on `RenderingServer`; - `XRServer` singleton access while calling `register_modules_types()`; - hidden bug in a way joypads are cleaned up (MacOS and Linux only). Removed manual `ClassDB` init/cleanup calls from `test_validate_testing.h`. ClassDB tests: Co-authored-by: Ignacio Etcheverry <ignalfonsore@gmail.com>
2020-04-28Rename InputFilter back to InputRémi Verschelde
It changed name as part of the DisplayServer and input refactoring in #37317, with the rationale that input no longer goes through the main loop, so the previous Input singleton now only does filtering. But the gains in consistency are quite limited in the renaming, and it breaks compatibility for all scripts and tutorials that access the Input singleton via the scripting language. A temporary option was suggested to keep the scripting singleton named `Input` even if its type is `InputFilter`, but that adds inconsistency and breaks C#. Fixes godotengine/godot-proposals#639. Fixes #37319. Fixes #37690.
2020-03-26Add macOS DisplayServer implementation.bruvzg
Change global menu to use Callable, add support for check items and submenus.
2020-03-26Refactored input, goes all via windows now.Juan Linietsky
Also renamed Input to InputFilter because all it does is filter events.
2020-03-26Refactored Input, create DisplayServer and DisplayServerX11Juan Linietsky
2020-03-17Style: Set clang-format Standard to Cpp11Rémi Verschelde
For us, it practically only changes the fact that `A<A<int>>` is now used instead of the C++03 compatible `A<A<int> >`. Note: clang-format 10+ changed the `Standard` arguments to fully specified `c++11`, `c++14`, etc. versions, but we can't use `c++17` now if we want to preserve compatibility with clang-format 8 and 9. `Cpp11` is still supported as deprecated alias for `Latest`.
2020-02-25Rename `scancode` to `keycode`.bruvzg
Add `physical_keycode` (keyboard layout independent keycodes) to InputEventKey and InputMap. Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
2020-02-14Remove incomplete battery status/power APIRémi Verschelde
It was initially implemented in #5871 for Godot 3.0, but never really completed or thoroughly tested for most platforms. It then stayed in limbo and nobody seems really keen to finish it, so it's better to remove it in 4.0, and re-add eventually (possibly with a different API) if there's demand and an implementation confirmed working on all platforms. Closes #8770.
2020-02-13Remove obsolete GLES3 backendRémi Verschelde
Due to the port to Vulkan and complete redesign of the rendering backend, the `drivers/gles3` code is no longer usable in this state and is not planned to be ported to the new architecture. The GLES2 backend is kept (while still disabled and non-working) as it will eventually be ported to serve as the low-end renderer for Godot 4.0. Some GLES3 features might be selectively ported to the updated GLES2 backend if there's a need for them, and extensions we can use for that. So long, OpenGL driver bugs!
2020-02-11Add runtime GLES2 / Vulkan context selection.bruvzg
2020-02-11Add static Vulkan loader.bruvzg
Initial Vulkan support for Windows. Initial Vulkan support for macOS.
2020-02-11Custom material support seems complete.Juan Linietsky
2020-02-11Texture refactorJuan Linietsky
-Texture renamed to Texture2D -TextureLayered as base now inherits 2Darray, cubemap and cubemap array -Removed all references to flags in textures (they will go in the shader) -Texture3D gone for now (will come back later done properly) -Create base rasterizer for RenderDevice, RasterizerRD
2020-01-14Remove unused ip_unix member from OSX/server.Fabio Alessandrelli
2020-01-10[macOS] Load PCK from the .app bundle resources, instead of changing working ↵bruvzg
directory.
2020-01-06Merge pull request #33967 from Calinou/add-os-is-window-focusedRémi Verschelde
Add an `OS.is_window_focused()` getter
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-12-01iOS modular build and export implementation.bruvzg
2019-11-28Add an `OS.is_window_focused()` getterHugo Locurcio
This makes it possible to know whether the window is focused at a given time, without having to track the focus state manually using `NOTIFICATION_WM_FOCUS_IN` and `NOTIFICATION_WM_FOCUS_OUT`. This partially addresses #33928.
2019-11-21[macOS] Remove CVDisplayLink v-sync hack.bruvzg
2019-10-24Fix compilation warnings in macOS build, enable `warnings=extra werror=yes` ↵bruvzg
for macOS CI.
2019-08-26[macOS] Add methods to modify global and dock menus. Add ability to open ↵bruvzg
multiple editor/project manager instances, recent/favourite project list to project manager dock menu and opened scene list to editor dock menu.
2019-08-12Remove redundant author doc commentsIAmActuallyCthulhu
2019-07-09Fix cursor blinking in integrated GPUsGuilherme Felipe
Optimization for Input::set_custom_mouse_cursor when used inside _process function. (Avoids cursor blinking in low end devices)
2019-06-18Update macOS global mouse position at startupbruvzg
2019-06-17Merge pull request #29752 from bruvzg/window_size_limitsRémi Verschelde
Add ability to limit maximum/minimum window size.
2019-06-15Adding a new Camera Server implementation to Godot.BastiaanOlij
This is a new singleton where camera sources such as webcams or cameras on a mobile phone can register themselves with the Server. Other parts of Godot can interact with this to obtain images from the camera as textures. This work includes additions to the Visual Server to use this functionality to present the camera image in the background. This is specifically targetted at AR applications.
2019-06-15Add ability to limit maximum/minimum window size.bruvzg
2019-06-04[macOS] Fixes unicode input with IME mode inactive, Improves IME mode ↵bruvzg
documentation.
2019-05-24Add native window/taskbar icon support for Windows and macOS.bruvzg
Co-authored-by: Markus Törnqvist <mjt@nysv.org>
2019-05-21added a const keyword for a methods that return constant literal...hbina085
2019-04-15Add Input::get_current_cursor_shapeGuilherme Felipe
[Clean up] Removed unused/unnecessary methods.
2019-02-12Platform: Ensure classes match their header filenameRémi Verschelde
Also drop some unused files. Renamed: - `platform/iphone/sem_iphone.h` -> `semaphore_iphone.h` (same for `osx`) - `platform/uwp/gl_context_egl.h` -> `context_egl_uwp.h` - in `platform/windows`: `context_gl_win.h`, `crash_handler_win.h`, `godot_win.cpp`, `joypad.h` and `key_mapping_win.h` all renamed to use `windows`. Some classes renamed accordingly too. - `EditorExportAndroid` and `EditorExportUWP` renamed to `EditorExportPlatformAndroid` and `EditorExportPlatformUWP` - `power_android` and `power_osx` renamed to `PowerAndroid` and `PowerOSX` - `OSUWP` renamed to `OS_UWP` Dropped: - `platform/windows/ctxgl_procaddr.h`
2019-02-12Drivers, main, servers: Ensure classes match their header filenameRémi Verschelde
Renamed: - `drivers/alsamidi/alsa_midi.h` -> `midi_driver_alsamidi.h` (same for `coremidi` and `winmidi`) - `main/timer_sync.h` -> `main_timer_sync.h` - `servers/visual/visual_server_global.h` -> `visual_server_globals.h`
2019-01-29Using DisplayLink to emulate vsync on OSXBastiaan Olij
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-11-23Changes IME input to use notification instead of callback, exposes IME ↵bruvzg
methods to gdscript/gdnative.
2018-10-29Server platform works on OS X tooMarcelo Fernandez
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
2018-07-21Added a new MIDIDriver classMarcelo Fernandez
2018-07-19-Project/Editor settings now use new inspectorJuan Linietsky
-Project/Editor settings now show tooltips properly -Settings thar require restart now will show a restart warning -Video driver is now visible all the time, can be changed easily -Added function to request current video driver
2018-06-11IME context detection.Saracen
2018-05-23More fixes to set_borderless_windowGuilherme Felipe
[x11] Preserve window size when calling this method. [osx] Make sure it don't make the window resizable if it's not needed. [windows] clean up the code.
2018-04-07Experimental support for windows with per-pixel transparency (macOS, X11 and ↵bruvzg
Windows).
2018-03-23Revert "Implement OS_OSX::execute"bruvzg
This reverts commit e42576548f2c0ae2c6cb24ce2b0437ffb8978d65.
2018-03-22Fix several in-class initialization clang warningMarcelo Fernandez
2018-03-19Implement OS_OSX::executebruvzg
2018-03-04Clean and expose get_audio/video_driver_* funcs on OS classMarcelo Fernandez
2018-03-02GLES2 renderer support on macOS.bruvzg
2018-02-14Merge pull request #15564 from RandomShaper/adpod-topmostRémi Verschelde
Add new window setting: always on top