#include "utils.h" #include #include #include #include #include "graph_sup.h" #define FPS 10.0 /*La liste des bouttons et leur nombre*/ button* Buttons; int BT_Count = 0; /*Des variables afin de faciliter le calcul du temps entre chaque image pour int DrawNextFrame().*/ double delta = (1/FPS)*1000000; unsigned long suivant = (1/FPS)*1000000; /*Un set de fonction permettant de facilement mettre en place des boutons, pouvoir les manipuler et les supprimer Ces fonctions utilisent la structure struct Button.*/ void ClearButtons() { BT_Count = 0; Buttons = (button*)realloc(Buttons, sizeof(button) * 1); } void AddButton(int x, int y, int w, int h, int id) { button BT = {x, y, w, h, id}; BT_Count++; Buttons = (button*) realloc(Buttons, (BT_Count+1) * sizeof(button)); Buttons[BT_Count-1] = BT; } int GetButton(int x, int y) { for (int ID = 0; ID < BT_Count; ID++) { button BT = Buttons[ID]; if (x >= BT.x && y >= BT.y && x <= BT.x + BT.w && y <= BT.y + BT.h) { return BT.id; } } return -1; } /*Des fonctions appelant celles de la bibliothèque graphique afin de réduire la longueur des noms..*/ couleur GetColorN(char* name) { return CouleurParNom(name); } couleur GetColor(unsigned char r, unsigned char g, unsigned char b) { return CouleurParComposante(r, g, b); } void SetColor(unsigned char r, unsigned char g, unsigned char b) { ChoisirCouleurDessin(CouleurParComposante(r, g, b)); } void SetColorC(couleur Color) { ChoisirCouleurDessin(Color); } void SetColorN(char* name) { ChoisirCouleurDessin(CouleurParNom(name)); } /*Permet de faire tourner la partie graphique à X images par secondes définit par la constante FPS.*/ int DrawNextFrame() { if (Microsecondes() >= suivant) { suivant = Microsecondes() + delta; return 1; } return 0; }