- Page principale
- Espaces de nommage
- Classes
- Fichiers

- Liste des fichiers
- Membres de fichier

# src/Font/Font.hpp

Aller à la documentation de ce fichier.

    00001 #ifndef FONT_HPP
    00002 #define FONT_HPP
    00003
    00004 // Détection du système cible...
    00005 #include "usgeDetectSystem.h"
    00006
    00007 // C++
    00008 #include <string>
    00009 // Personnelles
    00010 #include "Image/Image.hpp"
    00011
    00012
    00013 namespace USpeedGameEngine
    00014 {
    00015
    00016 class Font
    00017 {
    00018     /****************
    00019     * Les attributs *
    00020     ****************/
    00021     public :
    00022     protected :
    00023     private :
    00024         void *face;
    00025         unsigned char *data;
    00026         bool loaded;
    00027         int size;
    00028         unsigned long int color;
    00029         unsigned long int secondColor;
    00030         unsigned long int *computedRadian;
    00031         unsigned int radianSize;
    00032         bool utf8Encoded;
    00033         int borderSize;
    00034         unsigned long int borderColor;
    00035         bool borderOnly;
    00036
    00037     /***************
    00038     * Les méthodes *
    00039     ***************/
    00040     public :
    00041         // Constructeur par défaut
    00042         Font();
    00043         // Destructeur par défaut
    00044         ~Font();
    00045         // Efface la police actuelle et charge le fichier de police spécifié
    00046         bool load(const char *filename);
    00047         bool load(std::string &datas, bool isContent);
    00048         // Définit la taille de la police
    00049         void setSize(int size);
    00050         // Définit la(les) couleur(s) du texte
    00051         void setColor(unsigned long int color);
    00052         void setRadianColor(unsigned long int firstColor, unsigned long int secondColor);
    00053         // Définit la bordure de la police.
    00054         void setBorder(int theSize, unsigned long int theColor, bool drawBorderOnly);
    00055         // Définit si on affiche du texte en UNICODE ou en UTF-8
    00056         void setUtf8Encoded(bool isUTF8);
    00057         // Pour savoir si une police est chargée
    00058         bool isLoaded();
    00059         // Retourne la taille actuelle de la police
    00060         int getSize();
    00061         // Efface la police actuelle
    00062         void clear();
    00063         // Effectue le rendu et affiche le texte spécifié avec la police "font"
    00064         void print(const char *text, Image *img);
    00065         void print(const char *text, Image *img, int *xCursor, int *yCursor);
    00066
    00067         // Calcul la taille (largeur et hauteur) du texte demandé si on fait un rendu
    00068         void computeSize(const char* text, unsigned int *width, unsigned int *height);
    00069         // Convertit le texte spécifié de l'UTF-8 à l'unicode caractère par caractère
    00070         unsigned int utf8ToUnicode(const char *text, unsigned int *newIdx);
    00071     protected :
    00072     private :
    00073 };
    00074
    00075 }       // Fin "namespace USpeedGameEngine"
    00076
    00077 #endif