71 lines
1.8 KiB
C
71 lines
1.8 KiB
C
#include "utils.h"
|
|
#include <graph.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include "graph_sup.h"
|
|
|
|
#define FPS 60.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;
|
|
} |