aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
AgeCommit message (Collapse)Author
2023-07-14scene: rename output_present event to output_sampleSimon Ser
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.
2023-07-11render: document wlr_buffer_pass_options.timerSimon Ser
2023-07-11render: constify struct wlr_buffer_pass_optionsSimon Ser
Let's not allow renderer implementations to mutate the passed in options.
2023-07-10scene_output: optionally record and report timingsRose Hudson
2023-07-09xwayland: document event dataSimon Ser
2023-07-09xwayland: drop struct wlr_xwayland_move_eventSimon Ser
This only contains the xsurface, which isn't particularly useful.
2023-07-09xwayland: document associate/dissociate eventsSimon Ser
2023-07-03output: drop wlr_output_cursor_set_image()Simon Ser
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.
2023-07-02cursor: remove wlr_cursor_set_image()Simon Ser
Superseded by wlr_cursor_set_buffer().
2023-07-02xcursor-manager: drop wlr_xcursor_manager_set_cursor_image()Simon Ser
2023-07-02cursor: add wlr_cursor_set_buffer()Simon Ser
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.
2023-06-30output-layer: add wlr_output_layer_state.damageSimon Ser
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3593
2023-06-27wlr_scene_buffer: Publicize some stateAlexander Orzechowski
The sway scene port relies on this to create a copy of the buffer for saved surface purposes.
2023-06-23output: add wlr_output_state_init()Simon Ser
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.
2023-06-23compositor: listen to role_resource destroy signalSimon Ser
Call wlr_surface_destroy_role_object() when the role_resource is destroyed.
2023-06-23compositor: replace role_data with role_resourceSimon Ser
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.
2023-06-23compositor: don't call role unmap hook without an objectKirill Primak
2023-06-23compositor: introduce wlr_surface_set_role_object()Kirill Primak
2023-06-22output: Introduce wlr_output_state_copy()Alexander Orzechowski
2023-06-20wlr_scene: Introduce wlr_scene_buffer_set_filter_modeAlexander Orzechowski
2023-06-19render: Introduce wlr_render_texture_options.blend_modeAlexander Orzechowski
2023-06-19renderer: Introduce wlr_scale_filter_modeAlexander Orzechowski
2023-06-15cursor: add wlr_cursor_unset_image()Simon Ser
It's pretty awkward to call wlr_cursor_set_image() with 6 zeroes. Hide that awkwardness in wlroots.
2023-06-15cursor: add wlr_cursor_set_xcursor()Simon Ser
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
2023-06-15output: add documentation for wlr_output_stateAlexander Orzechowski
2023-06-14compositor: add wlr_surface_role.no_objectKirill Primak
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: 099b9de752f9cc212140533a8a2e20b31aa9028f
2023-06-13output: add wlr_output_state_set_layers()Simon Ser
2023-06-12seat: remove a TODO comment about simulating keyboard eventsKirill Primak
2023-06-12scene: introduce wlr_scene_output_build_state()Alexander Orzechowski
2023-06-12output: introduce wlr_output_state_set_damage()Alexander Orzechowski
2023-06-08gamma-control-v1: stop applying gamma LUTs implicitlySimon Ser
Make the compositor responsible for doing that, so that they can properly integrate with their output commit sequence.
2023-06-08gamma-control-v1: add wlr_gamma_control_v1_send_failed_and_destroy()Simon Ser
2023-06-08gamma-control-v1: add wlr_gamma_control_v1_apply()Simon Ser
2023-06-08output: add wlr_output_state_set_gamma_lut()Simon Ser
2023-06-08gamma-control-v1: add wlr_gamma_control_manager_v1_get_control()Simon Ser
2023-06-08gamma-control-v1: introduce set_gamma eventSimon Ser
2023-06-08compositor: improve role-specific documentationKirill Primak
2023-06-08drag: don't set icon's role_dataKirill Primak
Currently, an icon surface's role_data is set manually to a struct wlr_drag_icon, which is hacky, incorrect (as role_data is supposed to be the surface's role object, and drag icons don't have them), and will be disallowed by future changes.
2023-06-06presentation-time: constify wlr_presentation_feedback_send_presented()Simon Ser
We don't need to mutate the event in this function.
2023-06-06compositor: add a note about ignored input regionsKirill Primak
2023-06-05render/gles2: implement timer APIRose Hudson
2023-06-05add render timer APIRose Hudson
Based on five calls: wlr_render_timer_create - creates a timer which can be reused across frames on the same renderer wlr_renderer_begin_buffer_pass - now takes a timer so that backends can record when the rendering starts and finishes wlr_render_timer_get_time - should be called as late as possible so that queries can make their way back from the GPU wlr_render_timer_destroy - self-explanatory The timer is exposed as an opaque `struct wlr_render_timer` so that backends can store whatever they want in there.
2023-06-02output/cursor: fix scale and transformSimon Ser
Many issues here: - wlr_output_cursor_set_buffer() takes a buffer already scaled for the output, not a buffer with scale=1. - wlr_output_cursor.{width,height,hotspot_x,hotspot_y} are in output buffer coordinates. - render_cursor_buffer() had hardcoded no-ops for scale and transform, instead of using the cursor surface's. Fixes: b64e7e88bfb8 ("output: add output_cursor_set_texture()")
2023-06-02session-lock: remove unused wlr_session_lock_surface_v1.events.mapKirill Primak
2023-06-02compositor: remove wlr_surface_role.precommitKirill Primak
It was previously used to handle unmapping properly but is obsolete now.
2023-06-02xwm: use unified map logicKirill Primak
2023-06-02drag: use unified map logicKirill Primak
2023-06-02input-method: use unified map logicKirill Primak
2023-06-02session-lock: use unified map logicKirill Primak
2023-06-02layer-shell: use unified map logicKirill Primak