Simon Zeni
7dc4a3ecd7
interface/wlr_keyboard: rework destroy sequence
...
The destroy member in wlr_keyboard_impl has been removed. The function
`wlr_keyboard_finish` has been introduce to clean up the resources owned by a
wlr_keyboard.
`wlr_input_device_destroy` no longer destroys the wlr_keyboard, attempting to
destroy a wlr_keyboard will result in a no-op.
The field `name` has been added to the wlr_keyboard_impl to be able to identify
a given wlr_keyboard device.
3 years ago
Simon Ser
39b68ea47a
buffer: extract interface to separate header
...
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3389
3 years ago
Simon Zeni
d0718a9b32
backend/libinput: public API cleanup
3 years ago
Simon Zeni
0d21496e53
backend/libinput: rework tablet_pad interface
...
The wlr_libinput_input_device now owns its wlr_tablet_pad, instead of creating
a new wlr_libinput_input_device for it.
3 years ago
Simon Zeni
c8456086a1
backend/libinput: rework tablet interface
...
The wlr_libinput_device owns its wlr_tablet and its associated wlr_tablet_tools
3 years ago
Simon Zeni
4f4dd95223
backend/libinput: rework touch interface
...
The wlr_libinput_input_device now owns its wlr_touch, instead of creating
a new wlr_libinput_input_device for it.
3 years ago
Simon Zeni
d750c5ac67
backend/libinput: rework switch interface
...
The wlr_libinput_input_device now owns its wlr_switch, instead of creating
a new wlr_libinput_input_device for it.
3 years ago
Simon Zeni
d60cdad3ea
backend/libinput: rework pointer interface
...
The wlr_libinput_input_device now owns its wlr_pointer, instead of creating
a new wlr_libinput_input_device for it
3 years ago
Simon Zeni
5eefda1ffe
backend/libinput: rework keyboard interface
...
The wlr_libinput_input_device now owns its wlr_keyboard, instead of creating
a new wlr_libinput_input_device for it.
3 years ago
Simon Zeni
9dd6e2b905
backend/libinput: add devices wl_list
...
This commit prepares the ground for a wlr_libinput_input_device refactoring.
3 years ago
Roman Gilg
17a289e36e
render: allow texture creation while rendering
...
This removes an artificial limitation in form of an assert that disallowed the
creation of textures while the renderer is rendering.
A consumer might run its own rendering pipeline and after start of the renderer
still want to create textures for internal usage.
3 years ago
Simon Zeni
e279266f71
interfaces: remove wlr_input_device_impl
3 years ago
Simon Zeni
91ba28e020
backend/libinput: remove wlr_input_device_impl
3 years ago
Simon Zeni
887516d004
backend/wayland: remove wlr_input_device_impl
3 years ago
Simon Zeni
19f7e5d2b4
backend/x11: remove wlr_input_device_impl
3 years ago
Simon Zeni
1acc931cf0
types/wlr_switch: constify impl
3 years ago
Simon Zeni
f1181c34ed
types/wlr_tablet_pad: constify impl
3 years ago
Kirill Primak
511f137f8f
xdg-positioner: rewrite unconstraining, untie from xdg-popup
3 years ago
Kirill Primak
5879e77d68
xdg-positioner: rename structs
...
To be consistent with other wlr_xdg_* structs,
wlr_xdg_positioner_resource is renamed to wlr_xdg_positioner and made
public, and wlr_xdg_positioner is renamed to wlr_xdg_positioner_rules.
Functions which operated on wlr_xdg_positioner were renamed and updated
accordingly.
3 years ago
Kirill Primak
b5b15b2625
xdg-{toplevel,popup}: extract destructors
3 years ago
Simon Zeni
edfb332b24
types/wlr_touch: add base wlr_input_device
...
wlr_touch now owns its wlr_input_device. It will be initialized when the
tablet tool is initialized, and finished when the touch is destroyed.
3 years ago
Simon Zeni
7dfee50350
types/wlr_tablet_tool: add base wlr_input_device
...
wlr_tablet_tool owns its wlr_input_device. It will be initialized when the
tablet tool is initialized, and finished when the tablet tool is destroyed.
3 years ago
Simon Zeni
a662743610
types/wlr_tablet_pad: add base wlr_input_device
...
wlr_tablet_pad owns its wlr_input_device. It will be initialized when the
tablet pad is initialized, and finished when the tablet pad is destroyed.
3 years ago
Simon Zeni
0f3b38365d
types/wlr_switch: add base wlr_input_device
...
wlr_switch owns its wlr_input_device. It will be initialized when the
switch is initialized, and finished when the switch is destroyed.
3 years ago
Simon Zeni
d5480efc7a
types/wlr_pointer: add base wlr_input_device
...
wlr_pointer owns its wlr_input_device. It will be initialized when the
pointer is initialized, and finished when the pointer is destroyed.
3 years ago
Simon Zeni
a1978b1299
types/wlr_keyboard: add base wlr_input_device
...
wlr_keyboard owns its base wlr_input_device. It will be initialized when the
keyboard is initialized, and finished when the keyboard is destroyed.
3 years ago
Simon Zeni
130c3bcf63
types/wlr_input_device: call the specialized input device destroy function on destroy
...
In case the `wlr_input_device` is not owned by a specialized input device, the
function will finish the wlr_input_device and call it's implementation destroy
function if an implementation has been supplied, or simply free it.
3 years ago
Simon Zeni
fd80329c53
interfaces/wlr_input_device: introduce wlr_input_device_finish
...
This function releases the wlr_input_device allocated memory (it's name and
it's output name), and signals its destroy event.
3 years ago
Simon Zeni
71577e351e
types/wlr_input_device: default vendor and product id to 0
...
vendor and product id are set when needed by the libinput backend
3 years ago
Simon Zeni
7d560df90e
backend/headless: remove unused wlr_headless_input_device
3 years ago
Isaac Freund
252b2348bd
wlr_cursor: constify map to region box arguments
3 years ago
Kirill Primak
6ed3b02775
xdg-toplevel: fix `requested` doc
...
`requested` is also checked on state change requests.
3 years ago
Kirill Primak
34a71eae31
xdg-shell: drop wlr_xdg_toplevel_set_fullscreen_event
...
Instead, compositors can read relevant values from
wlr_xdg_toplevel.requested.
3 years ago
Kirill Primak
88f3040438
xdg-popup: destroy popup-less grab
...
This also fixes a seat destruction segfaulting if xdg-shell was
destroyed first.
3 years ago
Kirill Primak
c35d14ecfa
xdg-shell: extract role-specific unmap logic
3 years ago
Kirill Primak
e59aa3e0e7
xdg-toplevel: change object type in event structs
...
This commit replaces wlr_xdg_toplevel_*_event::surface with a toplevel
field.
3 years ago
Kirill Primak
1e4c1a3b58
xdg-toplevel: change parent type to xdg-toplevel
...
This commit changes wlr_xdg_toplevel::parent type from wlr_xdg_surface
to wlr_xdg_toplevel.
3 years ago
Kirill Primak
27c8865a4d
xdg-shell: unify function arguments' names
...
`wlr_xdg_surface`s are now named "surface" everywhere, and
`wlr_surface`s are called "wlr_surface".
3 years ago
Kirill Primak
70d4a30be3
xdg-shell: remove "xdg" from docs
3 years ago
Kirill Primak
41412cadbe
xdg-popup: fix functions' main argument type
...
With this commit, `wlr_xdg_popup_*()` functions now expect
a `wlr_xdg_popup` instead of a `wlr_xdg_surface`.
3 years ago
Kirill Primak
affe0d8713
xdg-toplevel: fix functions' main argument type
...
With this commit, `wlr_xdg_toplevel_*()` functions now expect
a `wlr_xdg_toplevel` instead of a `wlr_xdg_surface`.
3 years ago
Kirill Primak
ee52c32915
xdg-shell: fix create_xdg_popup() param type
3 years ago
Kirill Primak
05dd990e43
xdg-shell: rename surface role handlers
3 years ago
Isaac Freund
9de992b9fe
ext-session-lock-v1: new protocol implementation
...
This implements the new ext-session-lock-v1 protocol [1].
[1]: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/131
3 years ago
Kenny Levinsen
1e3662ce57
scene: Add layer_shell_v1 helper
...
This helper behaves similar to the xdg_shell helper, and additionally
provides a little assistance for positioning and exclusive_zone
management.
3 years ago
Simon Ser
3db1bcbe64
scene: try to import buffers as textures before rendering
...
The wlroots APIs currently don't allow importing/uploading a buffer
during rendering operations. Scene-graph buffer nodes need to turn
their wlr_buffer into a wlr_texture at some point. It's not always
possible to do so at wlr_scene_buffer creation time because the
scene-graph may have zero outputs at this point, thus no way to
grab a wlr_renderer.
Instead, add scene-graph buffers to a pending list and try to import
them in wlr_scene_output_commit.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3354
3 years ago
Vlad Zahorodnii
ab3b9f9a77
xcursor: garbage collect XcursorLibraryLoadImages
...
XcursorLibraryLoadImages is unused, let's drop it.
Same as [1].
[1]: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/206
Co-authored-by: Simon Ser <contact@emersion.fr>
3 years ago
Kirill Primak
49fa060442
output-layout: remove useless types/fields
3 years ago
Kirill Primak
498f30aad1
output-layout: make wlr_output_layout_get_box() take a box as parameter
...
Closes https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/812
3 years ago
Isaac Freund
1bd0ea3a80
foreign-toplevel: send enter if needed on output bind
...
Currently the output enter event is never sent if the client has not
yet bound the output, which happens every time the compositor creates a
new output.
To fix this, listen for the output bind event and inform clients as
if needed.
3 years ago