/* gamma-coopgamma.h -- coopgamma gamma adjustment header
This file is part of Redshift.
Redshift is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Redshift is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Redshift. If not, see .
Copyright (c) 2016 Mattias Andrée
*/
#ifndef REDSHIFT_GAMMA_COOPGAMMA_H
#define REDSHIFT_GAMMA_COOPGAMMA_H
#include
#include "redshift.h"
typedef struct {
char *edid;
size_t index;
} coopgamma_output_id_t;
typedef struct {
libcoopgamma_filter_t filter;
libcoopgamma_ramps_t plain_ramps;
size_t rampsize;
} coopgamma_crtc_state_t;
typedef struct {
libcoopgamma_context_t ctx;
coopgamma_crtc_state_t *crtcs;
size_t n_crtcs;
char **methods;
char *method;
char *site;
int64_t priority;
int list_outputs;
coopgamma_output_id_t *outputs;
size_t n_outputs;
size_t a_outputs;
} coopgamma_state_t;
int coopgamma_init(coopgamma_state_t *state);
int coopgamma_start(coopgamma_state_t *state, program_mode_t mode);
void coopgamma_free(coopgamma_state_t *state);
void coopgamma_print_help(FILE *f);
int coopgamma_set_option(coopgamma_state_t *state, const char *key, const char *value);
void coopgamma_restore(coopgamma_state_t *state);
int coopgamma_set_temperature(coopgamma_state_t *state,
const color_setting_t *setting);
#endif /* ! REDSHIFT_GAMMA_COOPGAMMA_H */