aboutsummaryrefslogtreecommitdiff
path: root/inc/cardioid.h
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-05-10 14:08:07 +0200
committerCharles <sircharlesaze@gmail.com>2020-05-10 14:08:07 +0200
commit6d9c284a24555a7df0b37661ff3c5491d6d0449a (patch)
tree58d7958e7e6f59181463343891b1a590016cf5ef /inc/cardioid.h
parentaea23b389a5eba09b3865209a08843e66481dd54 (diff)
downloadcardioid-6d9c284a24555a7df0b37661ff3c5491d6d0449a.tar.gz
cardioid-6d9c284a24555a7df0b37661ff3c5491d6d0449a.tar.bz2
cardioid-6d9c284a24555a7df0b37661ff3c5491d6d0449a.zip
First primitive cardioid drawing
Diffstat (limited to 'inc/cardioid.h')
-rw-r--r--inc/cardioid.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/inc/cardioid.h b/inc/cardioid.h
new file mode 100644
index 0000000..23ba64a
--- /dev/null
+++ b/inc/cardioid.h
@@ -0,0 +1,27 @@
+#ifndef CARDIOID_H
+# define CARDIOID_H
+
+# include <stddef.h>
+# include <SDL2/SDL.h>
+
+typedef struct
+{
+ size_t points_num;
+ SDL_Point *points;
+ SDL_Point center;
+ size_t radius;
+ // double multiplication;
+} t_cardioid;
+
+# define MIN(x, y) ((x) < (y) ? (x) : (y))
+
+# define CARDIOID_ADD_POINTS(cardioid, n) cardioid_update_points((cardioid), (cardioid)->points_num + (n))
+# define CARDIOID_SUB_POINTS(cardioid, n) \
+ cardioid_update_points((cardioid), (cardioid)->points_num < (n) ? 0 : (cardioid)->points_num - (n))
+
+int cardioid_init(t_cardioid *cardioid, size_t points_num, int width, int height);
+int cardioid_update_window(t_cardioid *cardioid, int width, int height);
+int cardioid_update_points(t_cardioid *cardioid, size_t points_num);
+void cardioid_quit(t_cardioid *cardioid);
+
+#endif