Simon Ser
6c61de996c
buffer: introduce wlr_buffer_get_shm
...
References: https://github.com/swaywm/wlroots/issues/2399#issuecomment-769408708
2021-04-17 09:54:39 +02:00
Simon Zeni
0b9288ec0b
buffer: introduce wlr_buffer_get_data_ptr
...
The function has been place in an internal header for API stability
reasons.
2021-04-17 09:54:39 +02:00
Benoit Gschwind
ee3640363e
Document the wlr_output_layout_get function
2021-04-11 10:19:00 +02:00
Isaac Freund
78befa59f9
gtk-primary-selection: drop support
...
The standard primary-selection protocol is now widely supported.
2021-04-08 09:50:18 +02:00
Simon Ser
c430cd7d53
surface: make wlr_surface_create private
...
This is not meant to be exposed in the public API, just like
wlr_region_create [1].
[1]: https://github.com/swaywm/wlroots/pull/2662
2021-04-06 14:57:44 +02:00
zccrs
e76583f1ad
Use absolute paths in include in header files
...
To unify the code style of the project, absolute paths have been used in
some places, such as '#include "render/allocator.h"' in
"render/gbm_allocator.h". Except for include the wayland protocol
headers should be consistent.
2021-04-06 10:40:56 +02:00
Simon Ser
8ecc557ab0
subsurface: use cached surface state
2021-03-25 19:34:47 +01:00
Simon Ser
e0258f4506
surface: introduce cached states
...
Cached states allow a surface commit to be delayed. They are useful for:
- Subsurfaces
- The upcoming transactions protocol [1]
- Explicit synchronization
[1]: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/26
2021-03-25 19:34:47 +01:00
Simon Ser
7ac76aba8a
surface: introduce commit sequence numbers
...
Very similar to output commit sequence numbers. Can be useful to
reference a specific commit.
2021-03-25 19:34:47 +01:00
Simon Ser
cf5b09ede2
Remove unnecessary wayland-server-protocol.h includes
2021-02-23 16:09:26 +01:00
Simon Ser
00bf6674b3
output: use DRM format in wlr_output_preferred_read_format
2021-02-23 16:09:26 +01:00
Tadeo Kondrak
78685ec6aa
text_input_v3: correct typo in enum field
2021-02-15 16:33:05 +01:00
Manuel Stoeckl
a290d7a78d
Make implementation function lists static const
...
This requires a change to the type of `struct wlr_tablet` and
`wlr_tablet_init` signature, both of which are part of the unstable API.
2021-02-05 10:04:20 +01:00
Simon Ser
45f992b27b
region: make wlr_region_create private
...
This function should only be called from the handler for
wl_compositor.create_region requests.
2021-02-02 23:42:53 +01:00
Simon Ser
1fb9535e99
output-damage: stop relying on output pending state on commit
...
References: https://github.com/swaywm/wlroots/issues/2098
2021-01-16 09:06:27 +01:00
Simon Ser
cc56b4f073
output: remove scale/transform events
...
Instead, the commit event should be used.
2021-01-15 10:18:56 +01:00
Simon Ser
f6f46b4ee2
output-damage: stop listening to scale/transform events
...
Only listen to the commit event.
2021-01-15 10:18:56 +01:00
Daniel Kondor
b7dc4f2990
layer-shell: allow new values for keyboard-interactivity
...
Value is now an enum with a new value ("on-demand") that compositors can use to allow "normal" keyboard focus semantics regardless of the layer the client surface is on. An error is sent for invalid keyboard interactivity values. The old behavior is retained for clients using the previous version of the protocol.
Also adjusted the layer-shell example program to use the new keyboard interactivity options.
2021-01-12 20:13:52 +01:00
Isaac Freund
07111828c5
layer shell: rename popup iterator for consistency
...
This iterates over the subsurfaces of popups as well, so rename it to
match wlr_xdg_surface_for_each_popup_surface().
2021-01-12 11:26:08 +01:00
Isaac Freund
f574ca934c
xdg shell: remove wlr_xdg_surface_for_each_popup()
...
This function is inferior to wlr_xdg_surface_for_each_popup_surface()
for rendering as it does not iterate over subsurfaces. Furthermore,
no compositor is known to use this to iterate popups for any purpose
other than rendering. Therefore remove the function, which may of course
be reintroduced at a later date if a use-case is found.
2021-01-12 11:25:55 +01:00
Isaac Freund
d6890cb847
output-management: use same types as wlr_output
...
This is more correct and also makes things much nicer for languages
that don't allow implicit conversions between these types.
2021-01-10 16:28:19 +01:00
Isaac Freund
4ee4a36c0c
layer shell: add wlr_layer_surface_v1_popup_surface_at()
...
This function will allow compositors to implement input handling in a
way consistent with rendering more easily.
Calling wlr_layer_surface_v1_surface_at() and checking if the result is
a wlr_xdg_popup is flawed as there may be subsurfaces in the popup tree.
2021-01-08 12:05:13 +01:00
Isaac Freund
8f63557ed7
xdg shell: add wlr_xdg_surface_popup_surface_at()
...
This function will allow compositors to implement input handling in a
way consistent with rendering more easily.
Calling wlr_xdg_surface_surface_at() and checking if the result is a
wlr_xdg_popup is flawed as there may be subsurfaces in the popup tree.
2021-01-08 12:05:13 +01:00
Isaac Freund
c5c5ab9724
xdg shell: add wlr_xdg_surface_for_each_popup_surface()
...
When rendering, it is necessary to iterate the subsurfaces as well,
so add a function that makes this easy.
2021-01-08 10:33:16 +01:00
Isaac Freund
129e02b57d
xdg shell: make unconstrain_from_box arg const
2021-01-07 21:28:55 +01:00
Andri Yngvason
e136a4168b
types/seat: Clear focus in wlr_seat_destroy()
...
This fixes use-after-free in surface destroy signal listeners.
2021-01-07 14:35:08 +01:00
Ilia Bozhinov
01dcfb360e
types: add wlr_xdg_foreign_v2
...
Co-authored-by: Jason Francis <cycl0ps@tuta.io>
2021-01-05 20:32:56 +01:00
Ilia Bozhinov
162f160def
types: add wlr_xdg_foreign_v1
...
Co-authored-by: Jason Francis <cycl0ps@tuta.io>
2021-01-05 20:32:56 +01:00
Ilia Bozhinov
37602e153b
types: add wlr_xdg_foreign_registry
2021-01-05 20:32:56 +01:00
Ilia Bozhinov
42d033e738
xdg-shell: add wlr_xdg_toplevel_set_parent
...
Co-authored-by: Jason Francis <cycl0ps@tuta.io>
2021-01-05 20:32:56 +01:00
Isaac Freund
83fdfa511d
docs: wlr_surface_from_resource cannot return NULL
...
Surfaces never become inert.
2021-01-05 12:22:47 +01:00
Isaac Freund
f6fc4c2883
subsurface: handle NULL parent in get_root_surface
2020-12-22 15:55:05 +01:00
Isaac Freund
c9760569ae
docs: fix error in wlr_output_set_damage() comment
...
output-buffer-local coordinates are neither scaled nor transformed
2020-12-07 20:45:36 +01:00
Kenny Levinsen
ebecc5404b
surface: Make send_enter store entered outputs
...
wlr_surface_send_enter now stores outputs that have been entered.
Combined with a new 'bind' event on wlr_output, this allows us to delay
enter events as necessary until the respective wl_output global has been
bound.
Closes: https://github.com/swaywm/wlroots/issues/2466
2020-11-23 10:58:50 +01:00
Simon Ser
0b40d09a21
buffer: add wlr_client_buffer_get
2020-11-15 22:48:42 +01:00
Isaac Freund
e06c9e43af
Remove unneeded includes from wlr_input_device.h
...
This uncovered many places where we were using things without directly
including them.
2020-11-11 15:40:47 +01:00
Isaac Freund
7693f61d81
Replace wlr_key_state with wl_keyboard_key_state
...
There's no reason to have duplicate enums
2020-11-11 10:58:38 +01:00
Simon Ser
51fc7ddb29
screencopy: perform DMA-BUF copy on output commit
2020-11-05 09:43:42 +01:00
Simon Ser
f0945e112f
export-dmabuf: export DMA-BUF on output commit
...
We were previously exporting DMA-BUFs when receiving the capture_output
request, and sending a done event on wlr_output.events.precommit. Instead,
export and send done on wlr_output.events.commit.
2020-11-05 09:43:42 +01:00
Simon Ser
8c8164c4a6
output: add when field to wlr_output_event_commit
...
Similar to the one already present in wlr_output_event_precommit.
2020-11-05 09:43:42 +01:00
Simon Ser
ccd313e01a
output: update docs to reflect reality
...
The docs were outdated and weren't matching what the DRM backend does
(the only implementor of wlr_output_export_dmabuf).
2020-11-05 09:43:42 +01:00
Simon Ser
c2db691cad
gamma-control-v1: apply gamma LUT when output gets enabled
...
Closes: https://github.com/swaywm/wlroots/issues/2372
2020-11-03 17:47:04 +01:00
Tudor Brindus
0fdb41fe7c
types/wlr_output_layout: use bitmask for wlr_direction
2020-10-31 23:15:21 +01:00
Tudor Brindus
7c6e06fd13
types/wlr_keyboard: use bitmasks for wlr_keyboard_led and wlr_keyboard_modifier enums
2020-10-31 23:15:21 +01:00
Daniel Kondor
36395e5b1c
foreign-toplevel-management: report parent toplevel
...
Based on the wlr-protocols PR:
https://github.com/swaywm/wlr-protocols/pull/52
2020-10-18 17:14:35 +02:00
Isaac Freund
e410ff8dd4
wlr_drag: remove unused point_destroy field
2020-10-18 15:17:28 +02:00
Isaac Freund
616f06c25c
xdg_positioner: remove unused field
...
The resource field of wlr_xdg_positioner is never initialized or
accessed within wlroots. The wl_resource for this interface is stored
in the wlr_xdg_positioner_resource struct.
2020-10-16 12:49:37 +02:00
Isaac Freund
8ad2cc39eb
layer-shell: add for_each_popup
...
This brings the layer-shell api in line with that of xdg-shell and
avoids reimplementing this function in every compositor in order to
render layer shell popups correctly.
2020-09-10 17:44:55 +02:00
Drew DeVault
a9cbfd950e
Remove xdg-shell v6
...
Ding dong the witch is dead
Fixes #2381
2020-09-03 00:01:10 +02:00
Simon Ser
b0144c7ded
output-power-management-v1: listen to output commit
2020-08-27 13:54:19 -06:00