Merge pull request #549 from emersion/output-enabled

Add wlr_output::enabled
This commit is contained in:
Drew DeVault 2018-01-15 20:53:13 -05:00 committed by GitHub
commit b331c5c2c5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 153 additions and 85 deletions

View file

@ -15,7 +15,7 @@ struct wlr_drm_crtc;
// Used to provide atomic or legacy DRM functions
struct wlr_drm_interface {
// Enable or disable DPMS for connector
void (*conn_enable)(struct wlr_drm_backend *drm,
bool (*conn_enable)(struct wlr_drm_backend *drm,
struct wlr_drm_connector *conn, bool enable);
// Pageflip on crtc. If mode is non-NULL perform a full modeset using it.
bool (*crtc_pageflip)(struct wlr_drm_backend *drm,

View file

@ -7,6 +7,7 @@
struct roots_output_config {
char *name;
bool enable;
enum wl_output_transform transform;
int x, y;
float scale;

View file

@ -26,14 +26,11 @@ struct wlr_output_impl {
};
void wlr_output_init(struct wlr_output *output, struct wlr_backend *backend,
const struct wlr_output_impl *impl);
void wlr_output_free(struct wlr_output *output);
const struct wlr_output_impl *impl, struct wl_display *display);
void wlr_output_update_mode(struct wlr_output *output,
struct wlr_output_mode *mode);
void wlr_output_update_custom_mode(struct wlr_output *output, int32_t width,
int32_t height, int32_t refresh);
struct wl_global *wlr_output_create_global(struct wlr_output *wlr_output,
struct wl_display *display);
void wlr_output_destroy_global(struct wlr_output *wlr_output);
void wlr_output_update_enabled(struct wlr_output *output, bool enabled);
#endif

View file

@ -36,19 +36,19 @@ struct wlr_output_impl;
struct wlr_output {
const struct wlr_output_impl *impl;
struct wlr_backend *backend;
struct wl_display *display;
struct wl_global *wl_global;
struct wl_list wl_resources;
uint32_t flags;
char name[16];
char make[48];
char model[16];
char serial[16];
float scale;
int32_t width, height;
int32_t refresh; // mHz
int32_t phys_width, phys_height; // mm
bool enabled;
float scale;
enum wl_output_subpixel subpixel;
enum wl_output_transform transform;
bool needs_swap;
@ -58,11 +58,14 @@ struct wlr_output {
// Note: some backends may have zero modes
struct wl_list modes;
struct wlr_output_mode *current_mode;
int32_t width, height;
int32_t refresh; // mHz
struct {
struct wl_signal frame;
struct wl_signal swap_buffers;
struct wl_signal resolution;
struct wl_signal enable;
struct wl_signal mode;
struct wl_signal scale;
struct wl_signal transform;
struct wl_signal destroy;