wlsunset/color_math.h

30 lines
588 B
C

#ifndef _COLOR_MATH_H
#define _COLOR_MATH_H
#include "math.h"
#include "time.h"
// These are macros so they can be applied to constants
#define DEGREES(rad) ((rad) * 180.0 / M_PI)
#define RADIANS(deg) ((deg) * M_PI / 180.0)
enum sun_condition {
NORMAL,
MIDNIGHT_SUN,
POLAR_NIGHT,
SUN_CONDITION_LAST
};
struct sun {
time_t dawn;
time_t sunrise;
time_t sunset;
time_t dusk;
};
enum sun_condition calc_sun(struct tm *tm, double longitude, double latitude, struct sun *sun);
void calc_whitepoint(int temp, double *rw, double *gw, double *bw);
double clamp(double value);
#endif