| 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
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 
 | #include "stdafx.h"
#include "Fenetre.h"
 
 
 
 
 
Fenetre::Fenetre()
{
}
 ////////////////////////////////////////////////////////////////////////////////
 ////////// Constructeur, en paramètres la configuration de la fenêtre //////////
 ////////////////////////////////////////////////////////////////////////////////
Fenetre::Fenetre(int largeur, int hauteur, int nbCouleurs, Uint32 flags)	// Le type Uint32 est un type SDL pour les paramètres des fonctions
{
	setLargeur(largeur);
	getLargeur();
	setHauteur(hauteur);
	getHauteur();
	setNbCouleurs(nbCouleurs);
	getNbCouleurs();
	setFlags(flags);
	getFlags();
 
 
	 //////////////////////////////////////////////////////////////////////////////
	 /////////// Initialisation de la fenêtre supportant                            ///////////
	 /////////// l'application directement à la construction de l'objet ///////////
	 //////////////////////////////////////////////////////////////////////////////
	// Initialisation de la video et du son et de l'écriture//
	SDL_Init(SDL_INIT_VIDEO);
 
	// Chargement de l'icone de la fenêtre avant le chargement de ladite fenêtre.
	SDL_WM_SetIcon(IMG_Load("Media/Images/Icones/icone.bmp"), NULL);
 
	// Insertion des valeurs de configuration de la fenetre grace au constructeur de la classe Fenetre. 
	fenetre = SDL_SetVideoMode(getLargeur(), getHauteur(), getNbCouleurs(), getFlags());
 
	// Titre de la fenetre //
	SDL_WM_SetCaption("Bomberman", NULL);
 
};
 
 
 
 
 
 /////////////////////////////////////////////////
 ////////// Début des Getters / Setters //////////
 /////////////////////////////////////////////////
void Fenetre::setLargeur(int newLargeur)
{
	_largeur = newLargeur;
};
 
int Fenetre::getLargeur()
{
	return	_largeur;
};
 
 
void Fenetre::setHauteur(int newHauteur)
{
	_hauteur = newHauteur;
};
 
int Fenetre::getHauteur()
{
	return _hauteur;
};
 
 
void Fenetre::setNbCouleurs(int newNbCouleur)
{
	_nbCouleurs = newNbCouleur;
};
 
int Fenetre::getNbCouleurs()
{
	return _nbCouleurs;
};
 
 
void Fenetre::setFlags(Uint32 newFlags)
{
	_flags = newFlags;
};
 
Uint32 Fenetre::getFlags()
{
	return _flags;
};
 /////////////////////////////////////////////////
 /////////// Fin des Setters / Getters ///////////
 /////////////////////////////////////////////////
 
 
 
 
 
 ////////////////////////////////////////////////////////////
 /////////// Fonction affichant la page d'accueil ///////////
 ////////////////////////////////////////////////////////////
void Fenetre::LancementAccueil(Fenetre *pageAccueil)
{
	//pageAccueil = new PageAccueil();
 
	// Instanciation d'un objet PageAccueil avec exécution de son affichage
	pageAccueil->Affichage();
 
	// Mise en attente du programme jusqu'à action de l'utilisateur //
	//pageAccueil->AttenteEvent();
};
 
 
 
 
 
 ////////////////////////////////////////////////
 /////////// Fonction Affichage Image ///////////
 ////////////////////////////////////////////////
void Fenetre::AffichageImage(int positionImageX, int positionImageY, const char *urlImage)
{
	SDL_Surface *nouvelleImage = NULL;
 
	SDL_Rect positionImage;
	positionImage.x = positionImageX;
	positionImage.y = positionImageY;
 
 
	// Chargement des images et collage sur l'écran.
	nouvelleImage = IMG_Load(urlImage);
	SDL_BlitSurface(nouvelleImage, NULL, fenetre, &positionImage);
 
	// Mise à jour de l'écran.
    SDL_Flip(fenetre);
 
	// Lidération de la mémoire utilisée.
	SDL_FreeSurface(nouvelleImage);
};
 
 
 
 
 
 //////////////////////////////////////////
 /////////// Fonction Ecriture  ///////////
 //////////////////////////////////////////
void Fenetre::Ecrire(const char *TexteAEcrire, int positionTexteX, int positionTexteY, int tailleTexte, int CouleurRouge, int CouleurVerte, int CouleurBleu)
{
	SDL_Surface *texte;
 
	// Déclaration de la du pointeur vers la police //
	TTF_Font *police;
 
	// Couleur de l'écriture //
	SDL_Color couleur = {CouleurRouge, CouleurVerte, CouleurBleu};
 
	// On initialise SDL_TTF //
	TTF_Init(); 
 
	// On ouvre la police //
	police = TTF_OpenFont("police.ttf", tailleTexte);
 
	// On stocke le texte et ses caractéristiques dans la variable de type SDL_SURFACE //
	texte = TTF_RenderText_Blended(police, TexteAEcrire, couleur);
 
	// Position de l'écriture //
	SDL_Rect positionTexte;
	positionTexte.x = positionTexteX;
	positionTexte.y = positionTexteY;
 
	// On colle le texte sur l'écran //
	SDL_BlitSurface(texte, NULL, fenetre, &positionTexte);
 
	// Fermeture de la police ensuite on quitte TTF_Quit //
	TTF_CloseFont(police); 
 
	// Lidération de la mémoire utilisée.
	SDL_FreeSurface(texte);
 
	// Mise à jour de l'écran.
    SDL_Flip(fenetre);
};
 
 
 
 
 
 ////////////////////////////////////////////////////////////////////
 /////////// Fonction redéfinie dans les classes filles ///////////
 ////////////////////////////////////////////////////////////////////
void Fenetre::Affichage()
{
}
 
 
 
 
 
 ////////////////////////////////////////////
 /////////// Desctructeur Fenêtre ///////////
 ////////////////////////////////////////////
Fenetre::~Fenetre(void)
{
	// Libération de la mémoire //
	SDL_Quit();
    TTF_Quit(); 	
}; | 
Partager