diff options
author | Jon Lund Steffensen <jonlst@gmail.com> | 2010-01-01 19:24:01 +0100 |
---|---|---|
committer | Jon Lund Steffensen <jonlst@gmail.com> | 2010-01-01 19:24:01 +0100 |
commit | b61c9d59d7456dc5a4106e5f1e6b767df290d7be (patch) | |
tree | 8ab315b9dac34adbf6ea3aae02c4b2ed43940932 /src/randr.h | |
parent | Update README, NEWS and ChangeLog for 0.3 release. (diff) | |
download | redshift-ng-b61c9d59d7456dc5a4106e5f1e6b767df290d7be.tar.gz redshift-ng-b61c9d59d7456dc5a4106e5f1e6b767df290d7be.tar.bz2 redshift-ng-b61c9d59d7456dc5a4106e5f1e6b767df290d7be.tar.xz |
Reuse X connection when adjusting gamma ramps.
Save gamma ramps when program starts and restore them on exit (only RANDR).
Try both RANDR and VidMode if nothing was specified, otherwise try only the
specified method.
Diffstat (limited to 'src/randr.h')
-rw-r--r-- | src/randr.h | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/randr.h b/src/randr.h index d03f766..404bc29 100644 --- a/src/randr.h +++ b/src/randr.h @@ -20,7 +20,26 @@ #ifndef _REDSHIFT_RANDR_H #define _REDSHIFT_RANDR_H -int randr_check_extension(); -int randr_set_temperature(int screen_num, int temp, float gamma[3]); +#include <xcb/xcb.h> +#include <xcb/randr.h> + +typedef struct { + xcb_randr_crtc_t crtc; + unsigned int ramp_size; + uint16_t *saved_ramps; +} randr_crtc_state_t; + +typedef struct { + xcb_connection_t *conn; + xcb_screen_t *screen; + unsigned int crtc_count; + randr_crtc_state_t *crtcs; +} randr_state_t; + + +int randr_init(randr_state_t *state, int screen_num); +void randr_free(randr_state_t *state); +void randr_restore(randr_state_t *state); +int randr_set_temperature(randr_state_t *state, int temp, float gamma[3]); #endif /* ! _REDSHIFT_RANDR_H */ |