From 52a5a370fd394585d4bbf69d4a637bf92bd5878d Mon Sep 17 00:00:00 2001 From: Jon Lund Steffensen Date: Thu, 6 May 2010 23:56:52 +0200 Subject: systemtime.c: Portably read current time on posix and windows. w32gdi.c: Implements gamma ramp method for Windows GDI API. Use double as a cross platform time representation. Add WinGDI as a selectable method (currently limitied to minimum 4500K). Fix a bug where redshift would crash if RANDR failed and VidMode wasn't compiled in. --- src/w32gdi.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/w32gdi.h (limited to 'src/w32gdi.h') diff --git a/src/w32gdi.h b/src/w32gdi.h new file mode 100644 index 0000000..e658699 --- /dev/null +++ b/src/w32gdi.h @@ -0,0 +1,37 @@ +/* w32gdi.h -- Windows GDI 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) 2010 Jon Lund Steffensen +*/ + +#ifndef _REDSHIFT_W32GDI_H +#define _REDSHIFT_W32GDI_H + +#include +#include + + +typedef struct { + HDC hDC; + WORD *saved_ramps; +} w32gdi_state_t; + +int w32gdi_init(w32gdi_state_t *state); +void w32gdi_free(w32gdi_state_t *state); +void w32gdi_restore(w32gdi_state_t *state); +int w32gdi_set_temperature(w32gdi_state_t *state, int temp, float gamma[3]); + +#endif /* ! _REDSHIFT_W32GDI_H */ -- cgit v1.2.3-70-g09d2