Simon Ser
68f2f8cf92
Revert "scene: try to import buffers as textures before rendering"
...
This reverts commit 3db1bcbe64
.
Since [1], importing buffers as textures before wlr_renderer_begin isn't
necessary anymore.
[1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3464
2022-03-16 16:42:45 +00:00
Simon Zeni
4c8ecfcd4a
types/wlr_virtual_pointer_v1: remove destroy event
...
The destroy event from the pointer base wlr_input_device must be used
2022-03-11 20:02:21 +00:00
Simon Zeni
45c8771735
types/wlr_virtual_keyboard_v1: remove destroy event
...
The destroy event from the keyboard base wlr_input_device must be used
2022-03-11 20:02:21 +00:00
Simon Zeni
eae8952e17
types/wlr_keyboard: remove destroy event
...
The destroy event from the base wlr_input_device must be used
2022-03-11 20:02:21 +00:00
David96
7a2c96dcbd
types/wlr_tablet_tool: remove name ambiguity
...
It wasn't clear in the backend whether to use name or base.name, change
it so base.name has to be used.
Fixes https://github.com/swaywm/sway/issues/6884
2022-03-11 11:49:41 +01:00
Isaac Freund
4792446ee8
wlr_switch: remove WLR_SWITCH_STATE_TOGGLE
...
This was originally added in 810c7b7
for use in rootston's input config
handling. It has never actually been part of the wlroots API and
shouldn't exist.
2022-03-08 13:45:10 +00:00
Simon Zeni
cfed039c9a
types/wlr_input_device: move init and finish function to private API
2022-03-07 16:37:41 +00:00
Simon Zeni
1bb2631c5c
types/wlr_input_device: remove wlr_input_device_destroy
2022-03-07 16:37:41 +00:00
Simon Ser
39b68ea47a
buffer: extract interface to separate header
...
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3389
2022-03-03 15:39:05 +01:00
Simon Zeni
e279266f71
interfaces: remove wlr_input_device_impl
2022-02-22 14:23:46 -05:00
Simon Zeni
1acc931cf0
types/wlr_switch: constify impl
2022-02-21 13:53:40 -05:00
Simon Zeni
f1181c34ed
types/wlr_tablet_pad: constify impl
2022-02-21 13:53:40 -05:00
Kirill Primak
511f137f8f
xdg-positioner: rewrite unconstraining, untie from xdg-popup
2022-02-21 17:26:51 +00:00
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.
2022-02-21 17:26:51 +00:00
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.
2022-02-21 17:11:32 +00:00
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.
2022-02-21 17:11:32 +00:00
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.
2022-02-21 17:11:32 +00:00
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.
2022-02-21 17:11:32 +00:00
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.
2022-02-21 17:11:32 +00:00
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.
2022-02-21 17:11:32 +00:00
Isaac Freund
252b2348bd
wlr_cursor: constify map to region box arguments
2022-02-05 16:32:38 +01:00
Kirill Primak
6ed3b02775
xdg-toplevel: fix requested
doc
...
`requested` is also checked on state change requests.
2022-02-02 21:06:12 +03:00
Kirill Primak
34a71eae31
xdg-shell: drop wlr_xdg_toplevel_set_fullscreen_event
...
Instead, compositors can read relevant values from
wlr_xdg_toplevel.requested.
2022-02-02 21:06:12 +03:00
Kirill Primak
e59aa3e0e7
xdg-toplevel: change object type in event structs
...
This commit replaces wlr_xdg_toplevel_*_event::surface with a toplevel
field.
2022-02-02 21:06:12 +03:00
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.
2022-02-02 21:06:12 +03:00
Kirill Primak
70d4a30be3
xdg-shell: remove "xdg" from docs
2022-02-02 21:06:12 +03:00
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`.
2022-02-02 21:06:12 +03:00
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`.
2022-02-02 21:06:11 +03:00
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
2022-02-02 15:22:02 +01:00
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.
2022-02-01 13:31:26 +01:00
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
2022-02-01 10:01:09 +00:00
Kirill Primak
49fa060442
output-layout: remove useless types/fields
2022-01-31 10:32:47 +00:00
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
2022-01-31 10:32:47 +00:00
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.
2022-01-17 19:11:08 +01:00
Kirill Primak
50827ed7f5
surface: improve role precommit hook
...
Now the role precommit hook is called before the commit, not on
wl_surface.commit request, and takes a state which is to be applied.
2022-01-13 15:15:54 +03:00
Kirill Primak
617eb4fb93
surface: deprecate wlr_surface.h
2022-01-13 10:06:41 +00:00
Kirill Primak
e94e16ba5d
surface: move decl to wlr_{sub,}compositor.h
2022-01-13 10:06:41 +00:00
Kirill Primak
4ec683ad1c
surface: introduce events.client_commit
...
wlr_surface.events.client_commit is fired when wl_surface.commit
request is received.
2022-01-13 10:06:41 +00:00
Kirill Primak
b6f43ab2e1
subcompositor: split out from compositor
2022-01-13 10:06:41 +00:00
Simon Ser
93e050c602
Remove wlr_box.h redirection
...
Compositors should've all been updated to use the new header by now.
2021-12-17 15:38:03 +01:00
Isaac Freund
92d137c78a
layer-shell: fix type of margins
...
These currently use uint32_t while they are an int32_t in the protocol.
2021-12-17 10:57:21 +00:00
Isaac Freund
07ccc6e0b3
scene: add wlr_scene_set_presentation()
...
This helper automates sending presentation feedback to clients based on
the primary output of scene surfaces.
2021-12-14 21:34:02 +01:00
Guido Günther
4c59f7d46a
xdg-activation: Allow to submit tokens
...
Allows the compositor to submit tokens to the pool of
currently active tokens. This can be useful when the
launcher doesn't use or support xdg-activation-v1 by
itself - e.g. when it is X11 based or use gtk_shell1.
2021-12-14 12:01:46 +01:00
Isaac Freund
1c3e0816f3
scene: fix wlr_scene_send_frame_done() API
...
This doesn't work if scene outputs are not used as the primary output of
scene surfaces will always be NULL.
Therefore, take a wlr_scene_output instead of separate wlr_scene and
wlr_output arguments and rename the function to
wlr_scene_output_send_frame_done().
The actual behavior of the function is unchanged.
2021-12-13 17:26:22 +01:00
Isaac Freund
fecde72be3
scene: add wlr_scene_send_frame_done()
2021-12-13 15:21:05 +00:00
Isaac Freund
fb1f613510
scene: add primary output to wlr_scene_surface
...
This allows compositors to avoid sending multiple frame done events
to a surface that is rendered on multiple outputs at once. This may
also be used in the same way for presentation feedback.
2021-12-13 15:21:05 +00:00
Isaac Freund
0215dffba5
scene: send surface enter/leave output events
...
Co-authored-by: Simon Ser <contact@emersion.fr>
2021-12-13 15:21:05 +00:00
Kirill Primak
0fcc842291
subsurface: don't add to parent list immediately
2021-12-09 18:26:56 +00:00
Kirill Primak
7964bdae76
surface: fix non-buffer damage handling
...
This commit fixes the way the damage that doesn't come directly from the
client is handled.
2021-12-09 18:26:56 +00:00
Simon Ser
36a2b19485
output: introduce wlr_output_set_name
...
wlroots picks names for all outputs, but it might be desirable for
compositor to override it.
For instance, Sway will use a headless output as a fallback in
case no outputs are connected. Sway wants to clearly label the
fallback output as such and label "real" headless outputs starting
from HEADLESS-1.
2021-12-09 15:46:46 +01:00