summaryrefslogtreecommitdiff
path: root/platform/osx/display_server_osx.mm
AgeCommit message (Collapse)Author
2022-02-12Add exclusive window handling to DisplayServer (on macOS and Windows).bruvzg
2022-02-10Fix typos with codespellRémi Verschelde
Using codespell 2.2-dev from current git. Added `misc/scripts/codespell.sh` to make it easier to run it once in a while and update the skip and ignore lists.
2022-02-08[macOS] Fix NO_FOCUS macOS flag.bruvzg
2022-02-07Merge pull request #57305 from bruvzg/macos_cleanupRémi Verschelde
2022-02-04Merge pull request #57341 from bruvzg/win_multiwin_fsRémi Verschelde
2022-02-04Merge pull request #57335 from jordigcs/display-refresh-rateRémi Verschelde
2022-02-04[Windows] Add WS_BORDER flag to windows in WINDOW_MODE_FULLSCREEN mode to ↵bruvzg
allow multi-window interface in full-screen. [Windows] Add WINDOW_MODE_EXCLUSIVE_FULLSCREEN without WS_BORDER flag enabled (no multi-window support).
2022-02-03Add screen_get_refresh_rate to DisplayServerjordi
2022-02-01[macOS] Cleanup and split Objective-C objects to the separate filesbruvzg
2022-02-01[macOS] Enable Objective-C ARCbruvzg
2022-02-01Fix captured mouse modeHendrik Brucker
2022-01-27Merge pull request #56785 from bruvzg/nat_handles_4Rémi Verschelde
2022-01-24Merge pull request #56754 from madmiraal/fix-45592Rémi Verschelde
2022-01-20Add nodiscard to core math classes to catch c++ errors.lawnjelly
A common source of errors is to call functions (such as round()) expecting them to work in place, but them actually being designed only to return the processed value. Not using the return value in this case in indicative of a bug, and can be flagged as a warning by using the [[nodiscard]] attribute.
2022-01-18Window management improvements.bruvzg
[macOS] Fix transient windows not working in the full-screen mode. [macOS] Fix moving transient windows to the other screen than parent window. [macOS] Fix popup menu switch on hover. [macOS] Use content origin rect for windows position (to ensure `DS.mouse_get_position` is equal to `DS.window_get_position` + mouse position from the input events). [macOS] Fix incorrect input coordinates, when external display with different scaling in connected/disconnected. [macOS/Windows] Fix moving fullscreen windows between the screens. Add auto refocusing of the parent window, when the focused transient window is closed. Remove redundant `DS.mouse_get_absolute_position` function (returns mouse position in the screen coordinates, same as `DS.mouse_get_position`).
2022-01-17Merge pull request #56012 from bruvzg/wt🤎4Rémi Verschelde
2022-01-14Add support for getting native display, window, and view handles.bruvzg
2022-01-13Use mouse event relative motion to calculate mouse velocityMarcel Admiraal
2022-01-12[macOS] Fix OpenGL color space on HDR displays.bruvzg
2022-01-11Merge pull request #56322 from madmiraal/fix-42450Rémi Verschelde
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-29Rename speed to velocity when it's a directional VectorMarcel Admiraal
2021-12-18[Windows] Improve console handling and execute/create_process.bruvzg
Always build with the GUI subsystem. Redirect stdout and stderr output to the parent process console. Use CreateProcessW for blocking `execute` calls with piped stdout and stderr (prevent console windows for popping up when used with the GUI subsystem build, and have more consistent behavior with `create_process`). Add `open_console` argument to the `execute` and `create_process` to open a new console window. Remove `interface/editor/hide_console_window` editor setting. Remove `Toggle System Console` menu option. Remove `set_console_visible` and `is_console_visible` functions.
2021-12-18Fix initialising of gl_manager and checking gl_manager and context_vulkan ↵Bastiaan Olij
preventing crash issues.
2021-11-12Use "enum class" for input enumsAaron Franke
2021-11-11Make window unmovable by dragging title bar, when mouse in captured or ↵bruvzg
confined mode.
2021-11-08[macOS] Use pre-wait observer to keep main run loop running and redraw ↵bruvzg
window during the window resize and displaying modal popups.
2021-11-02[macOS] Add support for OpenGLES3 video driver.bruvzg
2021-10-31Use OpenGL 3.3 core profile instead of compatibility profileClay John
- Rename OpenGL to GLES3 in the source code per community feedback. - The renderer is still exposed as "OpenGL 3" to the user. - Hide renderer selection dropdown until OpenGL support is more mature. - The renderer can still be changed in the Project Settings or using the `--rendering-driver opengl` command line argument. - Remove commented out exporter code. - Remove some OpenGL/DisplayServer-related debugging prints.
2021-10-30Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3Hugo Locurcio
- Use lowercase driver names for the `--rendering-driver` command line argument.
2021-10-12Replaced NULL with nullptrM. Huri
2021-09-21Allow for mapping keycodes to current layoutFrixuu
2021-09-03fix fullscreen issue on macOSDaniel Kariv
adds a call for resize event.
2021-08-13Add input buffering frameworkPedro J. Estébanez
Input buffering is implicitly used by event accumulation, but this commit makes it more generic so it can be enabled for other uses. For desktop OSs it's currently not feasible given main and UI threads are the same).
2021-08-13Improve input event accumulationPedro J. Estébanez
- API has been simplified: all events now go through `parse_input_event()`. Whether they are accumulated or not depends on the `use_accumulated_input` flag. - Event accumulation is now thread-safe (it was not needed so far, but it prepares the ground for the following changes). - Touch drag events now support accumulation.
2021-08-10Use Key enum instead of plain integersAaron Franke
2021-08-08[macOS] Move captured mouse cursor to the center when window gain focus.bruvzg
2021-07-22Move `alert` function from `DisplayServer` to `OS`.bruvzg
2021-07-06Restructure and reimplement vsync optionsHendrik Brucker
-Add a v-sync mode setting which allows to choose between DISABLED, ON, ADAPTIVE and MAILBOX -Removed the V-Sync via Compositor option
2021-06-23[macOS] Fix custom mouse cursor not set after mouse mode change.bruvzg
2021-06-20Use mouse and joypad enums instead of plain integersAaron Franke
Also MIDIMessage
2021-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-06-03Add MOUSE_MODE_CONFINED_HIDDENAaron Franke
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-05-25Rename File::get_len() get_length()Marcel Admiraal
2021-05-24[macOS] Allow "on top" windows to enter full-screen mode.bruvzg
2021-05-17Merge pull request #48168 from LightningAA/control-to-ctrl-4.0Rémi Verschelde
2021-05-17Make all file access 64-bit (uint64_t)Pedro J. Estébanez
This changes the types of a big number of variables. General rules: - Using `uint64_t` in general. We also considered `int64_t` but eventually settled on keeping it unsigned, which is also closer to what one would expect with `size_t`/`off_t`. - We only keep `int64_t` for `seek_end` (takes a negative offset from the end) and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means we only need to guard against passing negative values in `core_bind.cpp`. - Using `uint32_t` integers for concepts not needing such a huge range, like pages, blocks, etc. In addition: - Improve usage of integer types in some related places; namely, `DirAccess`, core binds. Note: - On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for big files on 32-bit Windows builds made with that toolchain. We might add a workaround. Fixes #44363. Fixes godotengine/godot-proposals#400. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-05-07Rename "Control" key to "Ctrl" and add "_pressed" suffix to all ↵Lightning_A
InputEventWithModifiers properties/methods
2021-05-04Rename `doubleclick` to `double_click`Aaron Franke
2021-04-29Replace remaining uses of `NULL` with `nullptr`Rémi Verschelde
Follow-up to #38736 (these uses were likely added after this PR was merged).