Kirill Primak
bd5c4f4a4a
xdg-shell: rework roles
1 year ago
Simon Ser
9b8cd1f5d6
buffer: make wlr_client_buffer functions private
...
We want to eventually remove this. Let's make sure compositors
don't start using either of these functions.
1 year ago
Leonardo Hernández Hernández
bdc34401ba
xdg-decoration: store an xdg_toplevel instead of xdg_surface
...
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3685
1 year ago
Simon Ser
d3d3e19ffd
render: split render pass API into separate header
...
Keeps the main wlr_renderer.h a tad more tidy.
1 year ago
Alexander Orzechowski
568b1943b9
wlr_output: Nuke wlr_output_update_enabled
1 year ago
Alexander Orzechowski
f1ba70ffa6
wlr_output: Make wlr_output_update_{custom,}_mode private
...
Backends should be using wlr_output_send_request_state to request
modesets to the compositor. This will be inlined and removed next commit.
1 year ago
Alexander Orzechowski
6cda3e251c
output: Add initialization state to wlr_output_init
1 year ago
Simon Ser
8678633fc9
backend/wayland: add wlr_wl_output_create_from_surface()
...
By using this function, a compositor can display a wlroots
compositor in a sub-surface, for instance.
1 year ago
Simon Ser
dd24991c9e
backend/wayland: take existing wl_display in wlr_wl_backend_create()
...
This allows compositors to use an existing wl_display, to integrate
wlroots with an existing toolkit.
1 year ago
Simon Ser
77dc1c28aa
xwayland: drop wlr_xwayland_surface.events.set_pid
...
The PID of an X11 window cannot change.
This is a remnant from the days when we queried the PID with a
window property, instead of using XRes.
1 year ago
Kirill Primak
42a5b6f62a
compositor: add "mapped" flag doc
1 year ago
Kirill Primak
529f1b82ee
xwayland/shell: don't listen to wlr_surface.events.destroy
...
The wlr_xwayland_surface_v1 will be destroyed automatically
from xwl_surface_role_destroy().
1 year ago
rewine
2f859f5bec
wlr_output: add comments for signal parameters
1 year ago
Leonardo Hernández Hernández
e8d545a977
xdg-shell: add support for v6
...
This adds the suspended toplevel state
1 year ago
Simon Ser
04e4e06986
cursor-shape-v1: new protocol implementation
...
References: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/194
1 year ago
rewine
f3cf830e9a
wlr_idle_inhibit_manager_v1: add comments for signal parameters
1 year ago
Kirill Primak
7791ffe058
data-device: remove undefined grab interface decls
1 year ago
Kirill Primak
c6603288fb
xdg-shell: update stale docs
1 year ago
Simon Ser
000081db19
cursor, output: apply viewport to cursor
...
Instead of passing the scale, pass the source and destination
boxes.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3676
1 year ago
John Lindgren
657ca2205f
wlr_gamma_control: add missing forward declarations
...
Fixes an error seen in labwc CI builds with -Werror:
../subprojects/wlroots/include/wlr/types/wlr_gamma_control_v1.h:44:16:
error: ‘struct wlr_output_state’ declared inside parameter list
will not be visible outside of this definition or declaration [-Werror]
44 | struct wlr_output_state *output_state);
| ^~~~~~~~~~~~~~~~
1 year ago
Simon Ser
67447d6cb4
presentation-time: add separate helper for zero-copy
...
The backend is not able to tell whether a surface is being
presented via direct scan-out or not. The backend will set
ZERO_COPY if the buffer submitted via the output commit was
presented in a zero-copy fashion, but will no know whether the
buffer comes from the compositor or the client.
1 year ago
Simon Ser
fe84bfc8d9
scene: add wlr_scene_output_sample_event
...
This contains the output and a bool indicating direct scan-out.
1 year ago
Simon Ser
88942d43fd
scene: rename output_present event to output_sample
...
Using "present" is confusing here: the event is emitted when the
buffer is being sampled to be displayed on an output, not when it's
being presented on-screen.
Rename to match the presentation-time terminology.
1 year ago
Simon Ser
4811d9fb18
render: document wlr_buffer_pass_options.timer
1 year ago
Simon Ser
b7dca21c2b
render: constify struct wlr_buffer_pass_options
...
Let's not allow renderer implementations to mutate the passed in
options.
1 year ago
Rose Hudson
214df8eda0
scene_output: optionally record and report timings
1 year ago
Simon Ser
5bb0057794
xwayland: document event data
1 year ago
Simon Ser
19ba3f0c2a
xwayland: drop struct wlr_xwayland_move_event
...
This only contains the xsurface, which isn't particularly useful.
1 year ago
Simon Ser
972c5f0c11
xwayland: document associate/dissociate events
1 year ago
Simon Ser
6f8287128b
output: drop wlr_output_cursor_set_image()
...
This function takes a pointer to memory with a hardcoded format
and many parameters to describe the pixel buffer.
wlr_output_cursor_set_buffer() can be used instead.
1 year ago
Simon Ser
0fc532f8de
cursor: remove wlr_cursor_set_image()
...
Superseded by wlr_cursor_set_buffer().
1 year ago
Simon Ser
18bafbfc57
xcursor-manager: drop wlr_xcursor_manager_set_cursor_image()
1 year ago
Simon Ser
71c87ff4b8
cursor: add wlr_cursor_set_buffer()
...
A saner replacement for wlr_cursor_set_image():
- Takes a wlr_buffer instead of numerous parameters and a hardcoded
format.
- The scale is not used to filter outputs.
- A ref to the buffer is kept to apply it to new outputs.
1 year ago
Simon Ser
13f096b0ac
output-layer: add wlr_output_layer_state.damage
...
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3593
1 year ago
Alexander Orzechowski
c68c9f1685
wlr_scene_buffer: Publicize some state
...
The sway scene port relies on this to create a copy of the buffer for
saved surface purposes.
1 year ago
Simon Ser
be05097968
output: add wlr_output_state_init()
...
This changes the semantics of wlr_output_state. Instead of having
fields with uninitialized memory when missing from the committed
bitflag, all fields are always initialized (and maybe NULL/empty),
just like we do in wlr_surface_state. This reduces the chances of
footguns when reading a field, and removes the need to check for
the committed bitfield everywhere.
A new wlr_output_state_init() function takes care of initializing
the Pixman region.
1 year ago
Simon Ser
8a5b5e6f28
compositor: listen to role_resource destroy signal
...
Call wlr_surface_destroy_role_object() when the role_resource is
destroyed.
1 year ago
Simon Ser
89cb484220
compositor: replace role_data with role_resource
...
This increases type safety, makes it more obvious that role_data
must represent the role object, and will allow for automatic
cleanup when the resource is destroyed.
1 year ago
Kirill Primak
fc9b58e84d
compositor: don't call role unmap hook without an object
1 year ago
Kirill Primak
0f67580aab
compositor: introduce wlr_surface_set_role_object()
1 year ago
Alexander Orzechowski
4b7c526578
output: Introduce wlr_output_state_copy()
1 year ago
Alexander Orzechowski
2ac31fc630
wlr_scene: Introduce wlr_scene_buffer_set_filter_mode
1 year ago
Alexander Orzechowski
2044cc2311
render: Introduce wlr_render_texture_options.blend_mode
1 year ago
Alexander Orzechowski
6bd44c4fcd
renderer: Introduce wlr_scale_filter_mode
1 year ago
Simon Ser
220402b717
cursor: add wlr_cursor_unset_image()
...
It's pretty awkward to call wlr_cursor_set_image() with 6 zeroes.
Hide that awkwardness in wlroots.
1 year ago
Simon Ser
da04b066ea
cursor: add wlr_cursor_set_xcursor()
...
This keeps track of the last set XCursor. If it hasn't changed,
skip the texture upload.
In the future, support for animated XCursors can be added.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3436
1 year ago
Alexander Orzechowski
7ce9459715
output: add documentation for wlr_output_state
1 year ago
Kirill Primak
753f3cc4fa
compositor: add wlr_surface_role.no_object
...
This commit allows to make a role as not represented by an object,
which fixes calling role commit handlers for roles like cursor
surfaces.
Fixes: 099b9de752
1 year ago
Simon Ser
670915eeea
output: add wlr_output_state_set_layers()
1 year ago
Kirill Primak
96f1fdd113
seat: remove a TODO comment about simulating keyboard events
1 year ago