wlsunset/color_math.h

37 lines
582 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;
};
struct rgb {
double r, g, b;
};
struct xyz {
double x, y, z;
};
enum sun_condition calc_sun(struct tm *tm, double latitude, struct sun *sun);
struct rgb calc_whitepoint(int temp);
#endif