| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 
 | /* 
 
	SDL_GUI est la classe gérant toute la GUI de cette bibliothèque
 
	SG_Button gère les boutons
	SG_ProgressBar gère les barres de progression
	SG_Input gère les zones de textes
 
	Mode d'emploi :
 
		-Création de différents éléments composant une GUI tels que des boutons, etc.
		-Création d'un objet GUI gérent tout l'affichage et la récupération d'évènements de la GUI.
		-La fonction AddWidget de SDL_GUI est l'intermédiaire entre les éléments et le gérent. Il enregistre les
		 éléments dans un vector.
		-La fonction ShowAll teste tous les évènements et affiche la GUI.
 
*/
 
 
#ifndef DEF_SDL_GUI
#define DEF_SDL_GUI
 
#include <iostream.h>
#include <vector>
#include <SDL/SDL.h>
#include <SDL/SDL_Image.h>
 
class SG_Button
{
	public :
		SG_Button();
		~SG_Button();
 
		void onClick(void (*onClick_fct)() );
		void setSurface(int type, SDL_Surface *srfc);
		void setEnable(bool enable);
		void setActivate(bool activate);
		void setPosition(int X, int Y);
 
	private :
		int m_X;
		int m_Y;
		SDL_Surface *m_btn;
		SDL_Surface *m_btn_over;
		SDL_Surface *m_btn_down;
		SDL_Surface *m_btn_non_enable;
		bool m_enable;
		bool m_activate;
		void (*fct)();
 
 
};
 
class SDL_GUI
{
	public:
		SDL_GUI();
		~SDL_GUI();
 
		void addWidget(SG_Button btn);
		void showAll();
 
	private:
		std::vector<SG_Button> m_buttons;
 
};
 
 
#endif | 
Partager