aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
AgeCommit message (Collapse)Author
2022-05-19wlr_scene: Make scene_buffer_from_node publicAlexander Orzechowski
2022-05-19wlr_scene: Add a function to also specify damage when applying a buffer to ↵Alexander Orzechowski
wlr_scene_buffer
2022-05-19wlr_scene: Add a way to choose when input interactions happen on a bufferAlexander Orzechowski
2022-05-19wlr_scene: Add frame_done signal for wlr_scene_bufferAlexander Orzechowski
Let's also change the name of the function. Motivation [1]. [1] https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3496#note_1357824
2022-05-19wlr_scene: Add primary_output property to wlr_scene_bufferAlexander Orzechowski
2022-05-19 wlr_scene: Add presentation signal for wlr_scene_bufferAlexander Orzechowski
2022-05-19wlr_scene: Make wlr_scene_render_output privateAlexander Orzechowski
This function sidesteps damage tracking and output awareness on buffers/surfaces. This function isn't a great fit for the API. Let's also inline the function and simplify it.
2022-05-19wlr_scene: Fix missing calls to scene_node_update_outputsAlexander Orzechowski
There were a couple places this was missing - on mode change of an output. If the resolution changes for example nodes may fall out of the view. - on commits on an output for scale or transform changes - when the transform of a buffer is changed. If the dest size is not set, the buffer may have been rotated potentially changing its size if the buffer width != height
2022-05-19wlr_scene: Add output_enter/output_leave signalsAlexander Orzechowski
When we destroy a scene buffer, let's make sure that we call output_leave signals before we finish the node which will call destroy listeners.
2022-05-19wlr_scene: Add setter for buffer of a wlr_scene_bufferAlexander Orzechowski
2022-05-19wlr_scene: Allow buffer in wlr_scene_buffer to be NULLAlexander Orzechowski
This is useful to emulate an unmapped surface.
2022-05-15xdg-shell: specify version in wlr_xdg_shell_createSimon Ser
With protocol additions such as [1], compositors currently have no way to opt out of the version upgrade. The protocol upgrade will always be backwards-compatible but may require new compositor features. The status quo doesn't make it possible to ship a protocol addition without breaking the wlroots API. This will be an issue for API stabilization [2]. To address this, let compositors provide a maximum version in the function creating the global. We need to support all previous versions of the interface anyways because of older clients. This mechanism works the same way as Wayland clients passing a version in wl_global.bind. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3514 [2]: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/1008 References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3397
2022-05-07xwayland: add wlr_xwayland_server_options.terminate_delaySimon Ser
This allows users to specify a delay after which the Xwayland process terminates itself when there are no more X11 clients connected.
2022-04-17Revert "Copy xcb_icccm structs into wlroots"John Lindgren
The original commit introduced a bug by transposing the order of some of the fields in xcb_size_hints_t. Since XCB ICCCM support is required now, we can just eliminate the duplicate structs. With minor changes: - Remove #ifdef HAS_XCB_ICCCM guards - Fix #includes - Fix references to local size_hints struct This reverts commit 12b9b1a4bdf00742cc510c2329c7a66c649b3ab0.
2022-04-13xdg-toplevel: don't schedule configures on state requestsKirill Primak
2022-04-13xdg-foreign-v2: treat unmapped parents as NULLKirill Primak
2022-04-13xdg-foreign-v1: treat unmapped parents as NULLKirill Primak
2022-03-23seat: take wlr_keyboard in wlr_seat_set_keyboard()Leonardo Hernández Hernández
Signed-off-by: Leonardo Hernández Hernández <leohdz172@protonmail.com>
2022-03-23layer-shell: Make wlr_layer_surface_v1_from_resource publicGuido Günther
This allows compositors to leverage the `wl_instance_of` based type check.
2022-03-17types/wlr_touch: uniformize events nameSimon Zeni
2022-03-17types/wlr_tablet_tool: uniformize events nameSimon Zeni
2022-03-17types/wlr_tablet_pad: uniformize events nameSimon Zeni
2022-03-17types/wlr_switch: uniformize events nameSimon Zeni
2022-03-17types/wlr_keyboard: uniformize events nameSimon Zeni
2022-03-17types/wlr_pointer: uniformize events nameSimon Zeni
2022-03-17types/wlr_input_device: move width_mm and height_mm fields to wlr_tablet and ↵Simon Zeni
wlr_touch
2022-03-17types/wlr_input_device: move output_name field to wlr_pointer and wlr_touchSimon Zeni
2022-03-16types/wlr_output: Handle subpixel hints through output commitsAlexander Orzechowski
2022-03-16Revert "scene: try to import buffers as textures before rendering"Simon Ser
This reverts commit 3db1bcbe641b407b9f5c9e5d0a012b45aa2c6cb7. 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-11types/wlr_virtual_pointer_v1: remove destroy eventSimon Zeni
The destroy event from the pointer base wlr_input_device must be used
2022-03-11types/wlr_virtual_keyboard_v1: remove destroy eventSimon Zeni
The destroy event from the keyboard base wlr_input_device must be used
2022-03-11types/wlr_keyboard: remove destroy eventSimon Zeni
The destroy event from the base wlr_input_device must be used
2022-03-11types/wlr_tablet_tool: remove name ambiguityDavid96
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-08wlr_switch: remove WLR_SWITCH_STATE_TOGGLEIsaac Freund
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-07types/wlr_input_device: move init and finish function to private APISimon Zeni
2022-03-07types/wlr_input_device: remove wlr_input_device_destroySimon Zeni
2022-03-07interface/wlr_touch: rework destroy sequenceSimon Zeni
The destroy callback in wlr_touch_impl has been removed. The function `wlr_touch_finish` has been introduced to clean up the resources owned by a wlr_touch. `wlr_input_device_destroy` no longer destroys the wlr_touch, attempting to destroy a wlr_touch will result in a no-op. The field `name` has been added to the wlr_touch_impl to be able to identify a given wlr_touch device.
2022-03-07interface/wlr_tablet_tool: rework destroy sequenceSimon Zeni
The destroy callback in wlr_tablet_tool_impl has been removed. The function `wlr_tablet_tool_finish` has been introduced to clean up the resources owned by a wlr_tablet_tool. `wlr_input_device_destroy` no longer destroys the wlr_tablet_tool, attempting to destroy a wlr_tablet_tool will result in a no-op. The field `name` has been added to the wlr_tablet_tool_impl to be able to identify a given wlr_tablet_tool device.
2022-03-07interface/wlr_tablet_pad: rework destroy sequenceSimon Zeni
The destroy callback in wlr_tablet_pad_impl has been removed. The function `wlr_tablet_pad_finish` has been introduced to clean up the resources owned by a wlr_tablet_pad. `wlr_input_device_destroy` no longer destroys the wlr_tablet_pad, attempting to destroy a wlr_tablet_pad will result in a no-op. The field `name` has been added to the wlr_tablet_pad_impl to be able to identify a given wlr_tablet_pad device.
2022-03-07interface/wlr_switch: rework destroy sequenceSimon Zeni
The destroy callback in wlr_switch_impl has been removed. The function `wlr_switch_finish` has been introduced to clean up the resources owned by a wlr_switch. `wlr_input_device_destroy` no longer destroys the wlr_switch, attempting to destroy a wlr_switch will result in a no-op. The field `name` has been added to the wlr_switch_impl to be able to identify a given wlr_switch device.
2022-03-07interface/wlr_pointer: rework destroy sequenceSimon Zeni
The destroy callback in wlr_pointer_impl has been removed. The function `wlr_pointer_finish` has been introduced to clean up the resources owned by a wlr_pointer. `wlr_input_device_destroy` no longer destroys the wlr_pointer, attempting to destroy a wlr_pointer will result in a no-op. The field `name` has been added to the wlr_pointer_impl to be able to identify a given wlr_pointer device.
2022-03-07interface/wlr_keyboard: rework destroy sequenceSimon Zeni
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.
2022-03-03buffer: extract interface to separate headerSimon Ser
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3389
2022-02-28render: allow texture creation while renderingRoman Gilg
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.
2022-02-22interfaces: remove wlr_input_device_implSimon Zeni
2022-02-21types/wlr_switch: constify implSimon Zeni
2022-02-21types/wlr_tablet_pad: constify implSimon Zeni
2022-02-21xdg-positioner: rewrite unconstraining, untie from xdg-popupKirill Primak
2022-02-21xdg-positioner: rename structsKirill Primak
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-21types/wlr_touch: add base wlr_input_deviceSimon Zeni
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.