SUPER Space invader : Turbo edition DX - VS GOD 1.0.0
A simple space invader ripoff
text.h
Go to the documentation of this file.
1
11#ifndef TEXT_H
12#define TEXT_H
13
14#include "glut_font.h"
15#include "../graphics/idrawable.h"
16#include "../graphics/rgbacolor.h"
17#include "../graphics/vec2d.h"
18#include "../transition/itransitionable.h"
19
24namespace nsGui {
25
31{
32public:
40 };
41
49 };
50
58 };
59
73 Text(const nsGraphics::Vec2D &position, const std::string &content,
74 const nsGraphics::RGBAcolor &textColor, const GlutFont::GlutFonts &textFont = GlutFont::GlutFonts::BITMAP_8_BY_13,
75 const HorizontalAlignment &horizontalAlignment = ALIGNH_LEFT,
76 const VerticalAlignment &verticalAlignment = ALIGNV_BOTTOM);
77
78 virtual void draw(MinGL& window) const override;
79
80 virtual void getValues(const int &id, std::vector<float> &values) override;
81 virtual void setValues(const int &id, const std::vector<float> &values) override;
82
88 int computeWidth() const;
89
95 int computeHeight() const;
96
103
110
116 const std::string& getContent() const;
117
123 void setContent(const std::string &content);
124
130
136 void setPosition(const nsGraphics::Vec2D &position);
137
143
149 void setTextColor(const nsGraphics::RGBAcolor &textColor);
150
155 const GlutFont& getTextFont() const;
156
162 void setTextFont(const GlutFont &textFont);
163
169
175 void setHorizontalAlignment(const HorizontalAlignment &horizontalAlignment);
176
182
188 void setVerticalAlignment(const VerticalAlignment &verticalAlignment);
189
190private:
194 nsGraphics::Vec2D m_position;
195
199 std::string m_content;
200
204 nsGraphics::RGBAcolor m_textColor;
205
209 GlutFont m_textFont;
210
214 HorizontalAlignment m_horizontalAlignment;
215
219 VerticalAlignment m_verticalAlignment;
220}; // class Text
221
222} // namespace nsGui
223
224#endif // TEXT_H
Classe de base de minGL 2.
Definition: mingl.h:35
Interface pour un objet affichable.
Definition: idrawable.h:30
Classe représentant un couleur RGBA8888.
Definition: rgbacolor.h:26
Classe représentant un vecteur deux-dimensionnel.
Definition: vec2d.h:26
Classe listant toute les polices rendues disponibles par Glut, a utiliser avec Text.
Definition: glut_font.h:20
GlutFonts
GlutFonts : Liste de toutes les polices Glut.
Definition: glut_font.h:27
Gère l'affichage d'un texte.
Definition: text.h:31
const nsGraphics::Vec2D & getPosition() const
Récupère la Position du texte.
const nsGraphics::RGBAcolor & getTextColor() const
Récupère la couleur du texte.
Text(const nsGraphics::Vec2D &position, const std::string &content, const nsGraphics::RGBAcolor &textColor, const GlutFont::GlutFonts &textFont=GlutFont::GlutFonts::BITMAP_8_BY_13, const HorizontalAlignment &horizontalAlignment=ALIGNH_LEFT, const VerticalAlignment &verticalAlignment=ALIGNV_BOTTOM)
Constructeur pour la classe Text.
HorizontalAlignment getHorizontalAlignment() const
Récupère l'alignement horizontal du texte.
VerticalAlignment
VerticalAlignment : Liste de tout les alignements verticaux supportés.
Definition: text.h:45
@ ALIGNV_CENTER
Definition: text.h:47
@ ALIGNV_TOP
Definition: text.h:46
@ ALIGNV_BOTTOM
Definition: text.h:48
int computeHeight() const
Calcule la hauteur de ce texte.
virtual void getValues(const int &id, std::vector< float > &values) override
Récupère des valeurs dans un vecteur de float pour l'ID spécifié
VerticalAlignment getVerticalAlignment() const
Récupère l'alignement vertical du texte.
int computeWidth() const
Calcule la largeur de ce texte.
void setVerticalAlignment(const VerticalAlignment &verticalAlignment)
Définit le nouvel alignement vertical du texte.
TransitionIds
TransitionIds : Liste de toutes les transitions que cet élément peut exécuter.
Definition: text.h:36
@ TRANSITION_COLOR_ALPHA
Definition: text.h:38
@ TRANSITION_POSITION
Definition: text.h:39
@ TRANSITION_COLOR_RGB
Definition: text.h:37
HorizontalAlignment
HorizontalAlignment : Liste de tout les alignements horizontaux supportés.
Definition: text.h:54
@ ALIGNH_RIGHT
Definition: text.h:57
@ ALIGNH_CENTER
Definition: text.h:56
@ ALIGNH_LEFT
Definition: text.h:55
void setContent(const std::string &content)
Définit le nouveau contenu du texte.
void setHorizontalAlignment(const HorizontalAlignment &horizontalAlignment)
Définit le nouvel alignement horizontal du texte.
void setTextColor(const nsGraphics::RGBAcolor &textColor)
Définit la nouvelle couleur du texte.
nsGraphics::Vec2D computeVisiblePosition() const
Calcule la Position visible du texte, calculée avec l'alignement vertical et horizontal.
virtual void setValues(const int &id, const std::vector< float > &values) override
Définit les nouvelles valeurs pour l'ID spécifié
virtual void draw(MinGL &window) const override
Fonction pour afficher l'objet.
const std::string & getContent() const
Récupère le contenu du texte.
void setPosition(const nsGraphics::Vec2D &position)
Définit la nouvelle Position du texte.
const GlutFont & getTextFont() const
Récupère la police du texte.
nsGraphics::Vec2D computeVisibleEndPosition() const
Calcule la Position de fin visible du texte, calculée avec l'alignement vertical et horizontal.
void setTextFont(const GlutFont &textFont)
Définit la nouvelle police du texte.
Une classe abstraite pour n'importe quelle élément pouvant effectuer une transition entre deux états.
Classe utilitaire pour utiliser facilement les polices de Glut.
Espace de nom pour des éléments d'interface complexes.
Definition: glut_font.h:13