1 #ifndef CLICKABLE_SANDAL2_KLEVH 2 #define CLICKABLE_SANDAL2_KLEVH struct Line * next
Definition: Clickable.h:22
int delLine(Clickable *hb, double a, double b, double c, int side)
remove a line from the hitbox
Definition: Clickable.c:61
Clickable * initClickable()
Generate an empty hitbox.
Definition: Clickable.c:8
Clickable * nextClickable(ListClickable *l)
getter of the current non blocking element of the iterator and setter of the next element ...
Definition: Clickable.c:317
int initIteratorListClickableBlocking(ListClickable *l)
initialise the iterator of the list of blocking hit boxes
Definition: Clickable.c:284
double x
Definition: Clickable.h:41
double a
Definition: Clickable.h:24
int delCircle(Clickable *hb, double x, double y, double rX, double rY, double theta)
remove an ellipse from the hitbox
Definition: Clickable.c:81
double y
Definition: Clickable.h:43
ListClickable * initListClickable()
initialise an empty list of hit boxes
Definition: Clickable.c:230
Clickable * current
Definition: Clickable.h:73
int side
Definition: Clickable.h:30
Collection of hit boxes.
Definition: Clickable.h:70
int hitClickable(Clickable *hb, double x, double y)
tells if (x,y) touch the hitbox
Definition: Clickable.c:101
Represente a hit boxe which is a collection of Line (defining a convexe polygon) and Circle...
Definition: Clickable.h:57
int hitListClickable(ListClickable *l, double x, double y)
tells if (x,y) touch one of the hitboxes
Definition: Clickable.c:328
double c
Definition: Clickable.h:28
int delClickable(ListClickable *l, Clickable *hb, int blocking)
remove a hit boxe to a list of hit boxes
Definition: Clickable.c:260
double rY
Definition: Clickable.h:45
double rX
Definition: Clickable.h:47
Circle * firstC
Definition: Clickable.h:60
int addLine(Clickable *hb, double a, double b, double c, int side)
add a line to the hitbox side*(ax+by) > side*c
Definition: Clickable.c:20
double theta
Definition: Clickable.h:49
int addCircle(Clickable *hb, double x, double y, double rX, double rY, double theta)
add an ellipse to the hitbox
Definition: Clickable.c:40
Clickable * currentBlock
Definition: Clickable.h:77
void freeClickable(Clickable *hb)
free a hit boxe's memory
Definition: Clickable.c:190
Clickable * nextClickableBlocking(ListClickable *l)
getter of the current blocking element of the iterator and setter of the next element ...
Definition: Clickable.c:295
struct Circle * next
Definition: Clickable.h:39
Clickable * ellipseClickable(double x, double y, double rX, double rY, double theta)
generate an ellipse shapped Clickable
Definition: Clickable.c:177
Represente a hittable ellipse.
Definition: Clickable.h:38
Represente a line which delimitate a hittable surface from a none hittable one.
Definition: Clickable.h:21
Clickable * firstBlock
Definition: Clickable.h:75
Clickable * rectangleClickable(double x1, double y1, double x2, double y2)
generate a rectangulare shapped Clickable
Definition: Clickable.c:138
int initIteratorListClickable(ListClickable *l)
initialise the iterator of the list of non blocking hit boxes
Definition: Clickable.c:306
struct Clickable * next
Definition: Clickable.h:62
double b
Definition: Clickable.h:26
Clickable * first
Definition: Clickable.h:71
void freeListClickable(ListClickable *l)
free the memory of a list of hit boxe
Definition: Clickable.c:216
Line * firstL
Definition: Clickable.h:58
int addClickable(ListClickable *l, Clickable *hb, int blocking)
add a hit boxe to a list of hit boxes
Definition: Clickable.c:243