mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-01 22:58:38 -04:00
output: atomic mode, enabled, scale and transform
This commit makes more output properties (mode, enabled, scale and transform) atomic. This means that they are double-buffered and only applied on commit. Compositors now need to call wlr_output_commit after setting any of those properties. Internally, backends still apply properties sequentially. The behaviour should be exactly the same as before. Future commits will update some backends to take advantage of the atomic interface. Some backends are non-atomic by design, e.g. the X11 backend or the legacy DRM backend. Updates: https://github.com/swaywm/wlroots/issues/1640
This commit is contained in:
parent
d20aee6c9d
commit
ee5f98ad49
10 changed files with 291 additions and 114 deletions
|
|
@ -15,10 +15,6 @@
|
|||
#include <wlr/types/wlr_output.h>
|
||||
|
||||
struct wlr_output_impl {
|
||||
bool (*enable)(struct wlr_output *output, bool enable);
|
||||
bool (*set_mode)(struct wlr_output *output, struct wlr_output_mode *mode);
|
||||
bool (*set_custom_mode)(struct wlr_output *output, int32_t width,
|
||||
int32_t height, int32_t refresh);
|
||||
bool (*set_cursor)(struct wlr_output *output, struct wlr_texture *texture,
|
||||
int32_t scale, enum wl_output_transform transform,
|
||||
int32_t hotspot_x, int32_t hotspot_y, bool update_texture);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue