wlroots/include/rootston/output.h
emersion 4ca38b84ed
backend/drm: fix hardware cursors not moving
This adds back `wlr_output::needs_swap`. This allows a backend to
request buffer swaps even if the output isn't damaged. This is
needed by the DRM backend to trigger pageflips when the cursor
moves.
2018-01-20 16:43:14 +01:00

35 lines
816 B
C

#ifndef _ROOTSTON_OUTPUT_H
#define _ROOTSTON_OUTPUT_H
#include <time.h>
#include <pixman.h>
#include <wayland-server.h>
struct roots_desktop;
struct roots_output {
struct roots_desktop *desktop;
struct wlr_output *wlr_output;
struct wl_list link; // roots_desktop:outputs
struct roots_view *fullscreen_view;
struct timespec last_frame;
pixman_region32_t damage, previous_damage;
bool frame_pending;
struct wl_listener frame;
struct wl_listener mode;
struct wl_listener needs_swap;
};
void output_add_notify(struct wl_listener *listener, void *data);
void output_remove_notify(struct wl_listener *listener, void *data);
void output_damage_whole_view(struct roots_output *output,
struct roots_view *view);
void output_damage_from_view(struct roots_output *output,
struct roots_view *view);
#endif