2018-07-22 14:23:32 +02:00
|
|
|
#ifndef WLR_TYPES_WLR_GAMMA_CONTROL_V1_H
|
|
|
|
#define WLR_TYPES_WLR_GAMMA_CONTROL_V1_H
|
|
|
|
|
2019-07-27 10:53:54 +02:00
|
|
|
#include <wayland-server-core.h>
|
2018-07-22 14:23:32 +02:00
|
|
|
|
|
|
|
struct wlr_gamma_control_manager_v1 {
|
|
|
|
struct wl_global *global;
|
2022-05-24 18:46:59 +02:00
|
|
|
struct wl_list controls; // wlr_gamma_control_v1.link
|
2018-07-22 14:23:32 +02:00
|
|
|
|
|
|
|
struct wl_listener display_destroy;
|
|
|
|
|
2018-08-26 23:23:12 +02:00
|
|
|
struct {
|
|
|
|
struct wl_signal destroy;
|
2023-03-06 11:17:30 +01:00
|
|
|
struct wl_signal set_gamma; // struct wlr_gamma_control_manager_v1_set_gamma_event
|
2018-08-26 23:23:12 +02:00
|
|
|
} events;
|
|
|
|
|
2018-07-22 14:23:32 +02:00
|
|
|
void *data;
|
|
|
|
};
|
|
|
|
|
2023-03-06 11:17:30 +01:00
|
|
|
struct wlr_gamma_control_manager_v1_set_gamma_event {
|
|
|
|
struct wlr_output *output;
|
|
|
|
struct wlr_gamma_control_v1 *control; // may be NULL
|
|
|
|
};
|
|
|
|
|
2018-07-22 14:23:32 +02:00
|
|
|
struct wlr_gamma_control_v1 {
|
|
|
|
struct wl_resource *resource;
|
|
|
|
struct wlr_output *output;
|
2023-03-06 11:17:30 +01:00
|
|
|
struct wlr_gamma_control_manager_v1 *manager;
|
2018-07-22 14:23:32 +02:00
|
|
|
struct wl_list link;
|
|
|
|
|
2020-08-27 11:42:58 +02:00
|
|
|
uint16_t *table;
|
|
|
|
size_t ramp_size;
|
|
|
|
|
2018-07-22 14:23:32 +02:00
|
|
|
struct wl_listener output_destroy_listener;
|
|
|
|
|
|
|
|
void *data;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct wlr_gamma_control_manager_v1 *wlr_gamma_control_manager_v1_create(
|
|
|
|
struct wl_display *display);
|
2023-03-06 16:01:57 +01:00
|
|
|
struct wlr_gamma_control_v1 *wlr_gamma_control_manager_v1_get_control(
|
|
|
|
struct wlr_gamma_control_manager_v1 *manager, struct wlr_output *output);
|
2023-03-06 16:19:48 +01:00
|
|
|
bool wlr_gamma_control_v1_apply(struct wlr_gamma_control_v1 *gamma_control,
|
|
|
|
struct wlr_output_state *output_state);
|
2023-03-06 16:23:59 +01:00
|
|
|
void wlr_gamma_control_v1_send_failed_and_destroy(struct wlr_gamma_control_v1 *gamma_control);
|
2018-07-22 14:23:32 +02:00
|
|
|
|
|
|
|
#endif
|