aboutsummaryrefslogtreecommitdiff
path: root/src/util.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/util.h')
-rw-r--r--src/util.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/util.h b/src/util.h
index 770790d..d7eafb5 100644
--- a/src/util.h
+++ b/src/util.h
@@ -6,7 +6,7 @@
#include <stdbool.h>
#include <stdio.h>
-#define unreachable() log_panic("Unreachable code");
+#define unreachable() log_panic("The impossible happened");
// Color representation normalized to [0, 1]
//
@@ -25,14 +25,29 @@ static inline color_t color_rgb(int r, int g, int b)
return color_rgba(r, g, b, 255);
}
+static inline color_t color_hex(unsigned int h)
+{
+ return color_rgb((h >> 16) & 0xff, (h >> 8) & 0xff, h & 0xff);
+}
+
char *color_to_string(color_t *color);
void color_print(FILE *stream, color_t *color);
+const struct timespec timespec_from_ms(long ms);
+
+const long timespec_to_ms(struct timespec ts);
+
struct timespec timespec_diff(struct timespec a, struct timespec b);
+struct timespec timespec_add(struct timespec a, struct timespec b);
+
+struct timespec timespec_div(struct timespec ts, int n);
+
bool timespec_greater(struct timespec a, struct timespec b);
+bool timespec_zero(struct timespec ts);
+
void timespec_print(FILE *stream, struct timespec *ts);
// Check if point (px, py) is inside a rectangle in (x, y), (x+w, y), (x, y+h) and (w+h, y+h)