aboutsummaryrefslogtreecommitdiff
path: root/src/effect.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/effect.h')
-rw-r--r--src/effect.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/effect.h b/src/effect.h
new file mode 100644
index 0000000..b6c6282
--- /dev/null
+++ b/src/effect.h
@@ -0,0 +1,29 @@
+#ifndef COMET_EFFECT_H
+#define COMET_EFFECT_H
+
+#include <cairo.h>
+
+#include "util.h"
+#include "layout.h"
+
+typedef enum {
+ EFFECT_PULSE,
+} effect_type_t;
+
+typedef struct effect effect_t;
+
+typedef void (*effect_render_t)(effect_t *effect, layout_t *layout, cairo_t *cr);
+
+struct effect {
+ effect_type_t type;
+ struct timespec start;
+ struct timespec duration;
+ effect_render_t pre;
+ effect_render_t post;
+};
+
+effect_t *effect_pulse(struct timespec duration);
+
+void effect_free(effect_t *effect);
+
+#endif