diff options
Diffstat (limited to 'inc/cardioid.h')
| -rw-r--r-- | inc/cardioid.h | 27 |
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 |
