Classe principale. Plus de détails...
#include <PFen.h>
Fonctions membres publiques | |
PFen (PFen *Mere) | |
2nd constructeur. Permet de lier l'objet créé à une autre fenêtre. | |
PFen (PFen &source, PFen *mere=0) | |
constructeur de copie. Créé des copie des filles, mais n'affiche pas la fenêtre automatiquement. shadow et window ne sont donc pas copiées. | |
PFen (void) | |
Constructeur créant une fenêtre mère. | |
virtual | ~PFen () |
Destructeur. Toutes les fenêtres filles sont également détruites. Les pointeurs renvoyés par CreateSubWindow devraient donc être réinitialisés. | |
void | calcCoord (SDL_Rect *c) |
Permet de calculer les coordonnées absolue d'un point de l'objet. | |
bool | ClearWindow () |
Efface la fenêtre et ses sous-fenêtres. | |
std::list< PFen * >::iterator | CreateSubWindow (void) |
Créée une sous-fenêtre Renvoie un pointeur vers l'élément crée. | |
bool | Draw (void) |
Méthode permettant l'affichage de la fenêtre et de toutes ses fenêtres filles. | |
bool | InitTextures (BorderTexture *bordTex, char *filebody) |
initialise et spécifie les textures à utiliser pour cette fenêtre | |
bool | Move (float x, float y) |
(dé)place la fenêtre en utilisant des pourcentages Relatif à la position de la mère. | |
bool | Move (short x, short y, unsigned char relative) |
(dé)place la fenêtre en utilisant des valeurs entières Il y à 3 options. Si relative vaut: _ 0: les valeurs sont relatives à l'écran _ 1: les valeurs sont relatives à la position de la fenêtre mère _ 2: les valeurs sont relatives à la fenêtre elle-même | |
PFen & | operator= (PFen &source) |
surcharge de l'opérateur = Créé des copie des filles, mais n'affiche pas la fenêtre automatiquement. shadow et window ne sont donc pas copiées. | |
bool | Resize (float width, float height, bool target=0) |
(re)dimensionne la fenêtre en utilisant des pourcentages Il y à 2 options. Si relative vaut: _ 0: les valeurs se réfèrent à la dimension de la fenêtre mère _ 1: les valeurs se réfèrent à la dimension de la fenêtre elle-même | |
bool | Resize (short width, short height, unsigned char relative=0) |
(re)dimensionne la fenêtre en utilisant des valeurs entières Il y à 2 options. Si relative vaut: _ 0: définit la taille avec les coordonnées passées _ 1: ajoute les coordonnées passées à la taille renvoie true si la méthode échoue. | |
bool | SetAlpha (unsigned char alpha, bool srcAlpha=true, bool rleAccel=true) |
définit la transparence. permet également d'activer/désactiver la transparence et la compression RLE. | |
void | SetMasks (unsigned long rmask, unsigned long gmask, unsigned long bmask, unsigned long amask=0) |
Définit le masque d'affichage de la fenêtre ainsi que sa transparence. Ca permet d'appliquer un masque aux couleurs (pour griser par exemple) ou de gérer l'ordre de lecture des bits par le processeur. (little ou big endian) NOTE 1: une valeur de 0 équivaut à aucune transparence pour Alpha. NOTE 2: 128 est une valeur optimisée pour Alpha. | |
bool | testEvent (const SDL_Event *evnt) |
Méthode testant un évènement Note: Les évènements des filles sont également testés. | |
Attributs publics | |
Uint32 | Amask |
transparance | |
Uint32 | Bmask |
masque bleu | |
Uint32 | Gmask |
masque vert | |
Uint32 | Rmask |
masque rouge | |
Fonctions membres protégées | |
bool | PrepareWindow () |
Prépare la fenêtre pour l'affichage. | |
bool | pTestEvent (void) |
méthode interne gérant le passage de l'évènement aux filles (pour utilisation de for_each) (p pour protected) | |
Attributs protégés | |
SDL_Surface * | body |
sprite du corps de la fenêtre | |
BorderTexture * | border |
pointeur sur le jeu de textures utilisé | |
SDL_Rect | coord |
coordonnées de la fenêtre affichée (relatives à la mère) | |
SDL_Event * | event |
pointeur sur le dernier évènement testé. Assure la transition de l'event entre les méthodes testEvent public et protected. | |
bool | evFired |
flag permettant de détecter le déclenchement d'un callback | |
std::list< PFen * > | filles |
liste des fenêtre filles | |
PFen * | mere |
pointeur sur la mère | |
std::vector< RefEvent > | refEvent |
gestionnaire d'évènements | |
SDL_Surface * | shadow |
sprite d'effacement | |
SDL_Surface * | window |
sprite d'affichage | |
Attributs privés | |
bool | drawed |
flag pour savoir si la fenêtre est affichée | |
bool | needInit |
flag permettant de savoir si il est nécessaire de réinitialiser la fenêtre avant l'affichage | |
SDL_Rect | oldCoord |
coordonnées de la fenêtre à effacer (toujours relatives à la mère) | |
SDL_Surface * | screen |
pointeur sur l'écran |
Classe principale.
Cette classe n'implémente que les principes de base. Elle est l'ancêtre de toutes les fenêtres.
La majeure partie des méthodes retourne true si il y à eu un problème. De plus, lors de problème, une entrée est ajoutée à la fin de stderr (de forme "%s (ligne %d): %s\n", nom du fichier, numéro de ligne saisissant l'entrée, descritption)
Définition à la ligne 27 du fichier PFen.h.