Bbop-Library 0.4.1-alpha
Opengl library to build 2d apps and game that implement a light system named Lumop
 
Loading...
Searching...
No Matches
fontsClass.h
Go to the documentation of this file.
1/*
2 * fontsClass.h
3 *
4 * Ce programme est distribué sous les termes de la Licence Publique
5 * Générale GNU, version 3.0, telle que publiée par la Free Software
6 * Foundation. Consultez la Licence Publique Générale GNU pour plus de
7 * détails.
8 *
9 * Vous devez avoir reçu une copie de la Licence Publique Générale GNU
10 * en même temps que ce programme. Si ce n'est pas le cas, consultez
11 * <https://www.gnu.org/licenses/>.
12 */
13
14#ifndef FONTS_CLASS_H
15#define FONTS_CLASS_H
16
17#include "bbopGlobal.h"
18#include "bbopMathClass.h"
19#include "spriteClass.h"
20#include <iostream>
21#include <ft2build.h>
22#include FT_FREETYPE_H
23#include <GL/glew.h>
24#include <GLFW/glfw3.h>
25
29struct Character {
30 unsigned int TextureID; // ID handle of the glyph texture
31 Vector2f size; // Size of glyph
32 Vector2f bearing; // Offset from baseline to left/top of glyph
33 unsigned int Advance; // Offset to advance to next glyph
34};
35
36void loadFontTexture(const char* fontPath, int fontSize, Character* charList, int numTextures);
37
46class Font
47{
48public:
49
59 Font(int glyphSize, const char *ttfPath);
60
65
66};
67
74class TexteBox : public BbopDrawable
75{
76public:
77
84 TexteBox(const char * nTexte, Font *nFont);
85 TexteBox(const TexteBox& other);
86 ~TexteBox();
87
88 TexteBox& operator=(const TexteBox& other);
89
91 void setPosition(Vector2f nPos);
93 void setOrigin(Vector2f nOrigin);
95 void setColor(Vector3i nRGB);
96 float getAlpha();
97 void setAlpha(float nAlpha);
98 float getRotation();
99 void setRotation(float nRotation);
100
106 void setFont(Font *font);
107
113 const char* getTexte();
114
120 void setTexte(const char* nTexte);
121
126 void buildTexteBox();
127
134 void Draw(GLint *renderUniforms) const override;
135
141 const Vector2f &getSize();
142
143private:
144 Font *texteFont;
145 Vector2f pos;
146 Vector2f origin;
147 float rotation;
148 Vector3i RGB;
149 float alpha;
150 const char* texte;
151 unsigned int sizeTexte;
152 NoTextureSprite* glyphList;
153 float offset;
154 Vector2f size;
155};
156
157#endif // !FONTS_CLASS_H
Class Parent de tous ce qui peut être dessiné par une Scene.
Definition bbopGlobal.h:94
Stock une police de caractère.
Definition fontsClass.h:47
Character charL[128]
List dans la quelles les 128 caractères de la police sont stockées.
Definition fontsClass.h:64
Font(int glyphSize, const char *ttfPath)
Constructeur de la class Font.
Definition fontsClass.cpp:106
Definition spriteClass.h:149
float getAlpha()
Definition fontsClass.cpp:256
Vector2f getOrigin()
Definition fontsClass.cpp:220
void buildTexteBox()
Fabrique la liste de NoTextureSprite glyphList.
Definition fontsClass.cpp:174
~TexteBox()
Definition fontsClass.cpp:168
void setPosition(Vector2f nPos)
Definition fontsClass.cpp:213
void setFont(Font *font)
Change la font de la texte box.
Definition fontsClass.cpp:284
void Draw(GLint *renderUniforms) const override
Dessine la boîte de texte This is an overloaded member function, provided for convenience....
Definition fontsClass.cpp:200
TexteBox(const char *nTexte, Font *nFont)
Constructeur de la boîter de texte.
Definition fontsClass.cpp:111
const Vector2f & getSize()
renvoie la taille de la boite de texte
Definition fontsClass.cpp:290
float getRotation()
Definition fontsClass.cpp:268
Vector2f getPosition()
Definition fontsClass.cpp:208
Vector3i getColor()
Definition fontsClass.cpp:237
void setColor(Vector3i nRGB)
Definition fontsClass.cpp:242
void setOrigin(Vector2f nOrigin)
Definition fontsClass.cpp:225
TexteBox & operator=(const TexteBox &other)
Definition fontsClass.cpp:145
void setRotation(float nRotation)
Definition fontsClass.cpp:261
void setAlpha(float nAlpha)
Definition fontsClass.cpp:249
const char * getTexte()
Renvoie la chaine de caractères affiché
void setTexte(const char *nTexte)
Change la chaine de caractères.
Definition fontsClass.cpp:273
Definition bbopMathClass.h:45
Definition bbopMathClass.h:76
void loadFontTexture(const char *fontPath, int fontSize, Character *charList, int numTextures)
Definition fontsClass.cpp:22
Stock un caractère.
Definition fontsClass.h:29
Vector2f size
Definition fontsClass.h:31
unsigned int TextureID
Definition fontsClass.h:30
unsigned int Advance
Definition fontsClass.h:33
Vector2f bearing
Definition fontsClass.h:32