summaryrefslogtreecommitdiffstats
path: root/platform/x11/os_x11.h
Commit message (Collapse)AuthorAgeFilesLines
* Effective DisplayServer separation, rename X11 -> LinuxBSDJuan Linietsky2020-03-261-338/+0
|
* Refactored Input, create DisplayServer and DisplayServerX11Juan Linietsky2020-03-261-3/+2
|
* Style: Set clang-format Standard to Cpp11Rémi Verschelde2020-03-171-1/+1
| | | | | | | | | | 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`.
* Remove incomplete battery status/power APIRémi Verschelde2020-02-141-7/+0
| | | | | | | | | | | 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.
* Add runtime GLES2 / Vulkan context selection.bruvzg2020-02-111-4/+9
|
* Custom material support seems complete.Juan Linietsky2020-02-111-1/+1
|
* Texture refactorJuan Linietsky2020-02-111-1/+1
| | | | | | | | -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
* Initial work on Vulkan:Juan Linietsky2020-02-111-1/+8
| | | | | | | | -Added VulkanContext -Added an X11 implementation -Added a rendering device abstraction -added a Vulkan rendering device abstraction -Engine does not work, only shows Godot logo (run it from bin/)
* Restores correct window position after fullscreen toggling off on LinuxYuri Roubinsky2020-02-031-0/+1
|
* Merge pull request #33967 from Calinou/add-os-is-window-focusedRémi Verschelde2020-01-061-0/+2
|\ | | | | Add an `OS.is_window_focused()` getter
| * Add an `OS.is_window_focused()` getterHugo Locurcio2019-11-281-0/+2
| | | | | | | | | | | | | | | | 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.
* | Update copyright statements to 2020Rémi Verschelde2020-01-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | 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.
* | iOS modular build and export implementation.bruvzg2019-12-011-3/+0
|/
* [macOS, Windows, X11] Add graphic tablet pen pressure and tilt support to ↵bruvzg2019-10-301-0/+3
| | | | InputEventMouseMotion event.
* Remove redundant author doc commentsIAmActuallyCthulhu2019-08-121-3/+0
|
* Fix cursor blinking in integrated GPUsGuilherme Felipe2019-07-091-0/+1
| | | | | Optimization for Input::set_custom_mouse_cursor when used inside _process function. (Avoids cursor blinking in low end devices)
* Merge pull request #29752 from bruvzg/window_size_limitsRémi Verschelde2019-06-171-0/+7
|\ | | | | Add ability to limit maximum/minimum window size.
| * Add ability to limit maximum/minimum window size.bruvzg2019-06-151-0/+7
| |
* | Adding a new Camera Server implementation to Godot.BastiaanOlij2019-06-151-0/+3
|/ | | | | | 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.
* added a const keyword for a methods that return constant literal...hbina0852019-05-211-1/+1
|
* Add Input::get_current_cursor_shapeGuilherme Felipe2019-04-151-0/+1
| | | | [Clean up] Removed unused/unnecessary methods.
* Drivers, main, servers: Ensure classes match their header filenameRémi Verschelde2019-02-121-1/+1
| | | | | | | | 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`
* Update copyright statements to 2019Rémi Verschelde2019-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Use XInput2 RawMotion to generate MouseMotion eventsCosmic Chip Socket2018-12-141-9/+15
| | | | | | | | | | | | | | | | | | | | The current system for capturing the mouse and generating motion events on X11 has issues with inaccurate and lopsided input. This is because both XQueryPointer and XWarpPointer work in terms of integer coordinates when the underlying X11 input driver may be tracking the mouse using subpixel coordinates. When warping the pointer, the fractional part of the pointer position is discarded. To work around this issue, the fix uses raw motion events from XInput 2. These events report relative motion and are not affected by pointer warping. Additionally, this means Godot is able to detect motion at a higher resolution under X11. Because this is raw mouse input, it is not affected by the user's pointer speed and acceleration settings. This is the same system as SDL2 uses for its relative motion. Multitouch input on X requires XInput 2.2. Raw motion events require XInput 2.0. Since 2.0 is old enough, this is now the minimum requirement to use Godot on X.
* Merge pull request #20385 from moiman100/unify-double-clickingRémi Verschelde2018-12-141-0/+1
|\ | | | | Added double clicking to all buttons on Linux and Javascript
| * Added double clicking to all buttonsMikko Mustonen2018-08-121-0/+1
| |
* | Merge pull request #20063 from moiman100/fix-button-maskRémi Verschelde2018-12-141-1/+1
|\ \ | | | | | | Unified button mask behavior across platforms
| * | Fixed button mask behaviormm2018-07-111-1/+1
| | |
* | | Fix various Clang 7 warnings about unused stuffRémi Verschelde2018-10-011-8/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Namely: [-Wunneeded-internal-declaration] [-Wunused-comparison] [-Wunused-const-variable] [-Wunused-function] [-Wunused-private-fields] Fixes the following Clang 7 warnings: ``` editor/plugins/script_editor_plugin.cpp:1417:20: warning: function '_find_node_with_script' is not needed and will not be emitted [-Wunneeded-internal-declaration] editor/scene_tree_dock.cpp:1859:14: warning: function '_find_last_visible' is not needed and will not be emitted [-Wunneeded-internal-declaration] modules/gdscript/gdscript_parser.cpp:7838:19: warning: equality comparison result unused [-Wunused-comparison] scene/resources/mesh.cpp:549:35: warning: unused variable '_array_types' [-Wunused-const-variable] scene/resources/mesh.cpp:563:18: warning: unused variable '_format_translate' [-Wunused-const-variable] drivers/gles3/rasterizer_scene_gles3.cpp:54:28: warning: unused function 'store_transform2d' [-Wunused-function] core/io/file_access_network.h:50:6: warning: private field 'ml' is not used [-Wunused-private-field] core/io/file_access_zip.h:93:14: warning: private field 'archive' is not used [-Wunused-private-field] core/io/resource_format_binary.h:122:6: warning: private field 'bin_meta_idx' is not used [-Wunused-private-field] core/message_queue.h:47:9: warning: private field 'mutex' is not used [-Wunused-private-field] main/tests/test_gui.cpp:63:11: warning: private field 'control' is not used [-Wunused-private-field] modules/gdscript/gdscript_parser.h:558:7: warning: private field 'completion_static' is not used [-Wunused-private-field] platform/x11/os_x11.h:148:11: warning: private field 'ip_unix' is not used [-Wunused-private-field] platform/x11/os_x11.h:180:7: warning: private field 'net_wm_icon' is not used [-Wunused-private-field] platform/x11/os_x11.h:189:6: warning: private field 'audio_driver_index' is not used [-Wunused-private-field] platform/x11/os_x11.h:190:15: warning: private field 'capture_idle' is not used [-Wunused-private-field] servers/physics/body_pair_sw.h:79:6: warning: private field 'cc' is not used [-Wunused-private-field] servers/visual/visual_server_raster.h:62:7: warning: private field 'draw_extra_frame' is not used [-Wunused-private-field] ```
* | | Merge pull request #21910 from hpvb/fix-8145-x11Rémi Verschelde2018-09-121-0/+1
|\ \ \ | | | | | | | | Update X11 global mouse position at startup
| * | | Update X11 global mouse position at startupHein-Pieter van Braam2018-09-091-0/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we start the engine we haven't yet gotten any X11 motion events so we don't yet know where our mouse cursor is located. Instead we now query the X server for this information when we start and update the appropriate values. In addition when we move the window we also update the mouse position based off of X server knowledge as we will also not have received any mouse motion events. this fixes #8145 (for X11 only)
* / | Make core/ includes absolute, remove subfolders from include pathRémi Verschelde2018-09-121-1/+1
|/ / | | | | | | | | | | 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.
* | Added a new MIDIDriver classMarcelo Fernandez2018-07-211-0/+5
| |
* | Fix some more build issues after c69de2ba4Rémi Verschelde2018-07-201-2/+2
| | | | | | | | Fixes #20301.
* | -Project/Editor settings now use new inspectorJuan Linietsky2018-07-191-0/+3
|/ | | | | | | -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
* IME context detection.Saracen2018-06-111-0/+5
|
* Merge pull request #14622 from bruvzg/non-rectangular-windowsHein-Pieter van Braam2018-05-081-0/+6
|\ | | | | Experimental support for windows with per-pixel transparency.
| * Experimental support for windows with per-pixel transparency (macOS, X11 and ↵bruvzg2018-04-071-0/+6
| | | | | | | | Windows).
* | Implement universal translation of touch to mousePedro J. Estébanez2018-04-301-0/+1
|/ | | | | | | | | | | | | | | | | | | Now generating mouse events from touch is optional (on by default) and it's performed by `InputDefault` instead of having each OS abstraction doing it. (*) The translation algorithm waits for a touch index to be pressed and tracks it translating its events to mouse events until it is raised, while ignoring other pointers. Furthermore, to avoid an stuck "touch mouse", since not all platforms may report touches raised when the window is unfocused, it checks if touches are still down by the time it's focused again and if so it resets the state of the emulated mouse. *: In the case of Windows, since it already provides touch-to-mouse translation by itself, "echo" mouse events are filtered out to have it working like the rest. On X11 a little hack has been needed to avoid a case of a spurious mouse motion event that is generated during touch interaction. Plus: Improve/fix tracking of current mouse position. ** Summary of changes to settings: ** - `display/window/handheld/emulate_touchscreen` becomes `input/pointing_devices/emulate_touch_from_mouse` - New setting: `input/pointing_devices/emulate_mouse_from_touch`
* Clean and expose get_audio/video_driver_* funcs on OS classMarcelo Fernandez2018-03-041-11/+0
|
* Fix `--help` output, allow renderer override from command line ↵bruvzg2018-03-021-0/+5
| | | | (`--video-driver`).
* Merge pull request #15564 from RandomShaper/adpod-topmostRémi Verschelde2018-02-141-0/+3
|\ | | | | Add new window setting: always on top
| * Add new window setting: always on topPedro J. Estébanez2018-01-051-0/+3
| | | | | | | | Implemented for Windows and Linux.
* | Merge pull request #15864 from GodotExplorer/pr-get_unique_id-desktop-implRémi Verschelde2018-02-141-0/+2
|\ \ | | | | | | Implement more methods for OS on Desktop platforms
| * | X11: implement OS.get_unique_idgeequlim2018-01-311-0/+2
| |/
* | Added OS::center_window to center the window precisely on desktop platformsMarcelo Fernandez2018-02-121-0/+1
| |
* | Fix inconsistencies and typos in argument namesPaolo Perkovic2018-02-011-1/+1
|/
* Add missing copyright headers and fix formattingRémi Verschelde2018-01-051-0/+1
| | | | | | Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
* Change OS::initialize signature to return Error (fix segfault on x11)Emmanuel Leblond2018-01-041-1/+1
|
* Merge pull request #15092 from ↵Rémi Verschelde2018-01-031-0/+2
|\ | | | | | | | | guilhermefelipecgs/fix_infinite_loop_on_splash_screen Fix infinite loop on splash screen on tiling windows managers