Bbop-2D 0.4.1-alpha
Bbop-2D is a c++ library based on openGL to make 2D game. It implement sprite, shape, light and more.
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,
37 int numTextures);
38
47class Font
48{
49 public:
59 Font(int glyphSize, const char *ttfPath);
60
65};
66
73class TexteBox : public BbopDrawable
74{
75 public:
82 TexteBox(const char *nTexte, Font *nFont);
83 TexteBox(const TexteBox &other);
84 ~TexteBox();
85
86 TexteBox &operator=(const TexteBox &other);
87
89 void setPosition(Vector2f nPos);
91 void setOrigin(Vector2f nOrigin);
93 void setColor(Vector3i nRGB);
94 float getAlpha();
95 void setAlpha(float nAlpha);
96 float getRotation();
97 void setRotation(float nRotation);
98
104 void setFont(Font *font);
105
111 const char *getTexte();
112
118 void setTexte(const char *nTexte);
119
124 void buildTexteBox();
125
132 void Draw(GLint *renderUniforms) const override;
133
139 const Vector2f &getSize();
140
141 private:
145 float rotation;
147 float alpha;
148 const char *texte;
149 unsigned int sizeTexte;
151 float offset;
153};
154
155#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:48
Character charL[128]
List dans la quelles les 128 caractères de la police sont stockées.
Definition fontsClass.h:64
Definition spriteClass.h:152
Stock du texte pour le draw dans la fenêtre.
Definition fontsClass.h:74
float getAlpha()
Definition fontsClass.cpp:314
Vector2f getOrigin()
Definition fontsClass.cpp:271
void buildTexteBox()
Fabrique la liste de NoTextureSprite glyphList.
Definition fontsClass.cpp:207
NoTextureSprite * glyphList
Definition fontsClass.h:150
~TexteBox()
Definition fontsClass.cpp:201
float alpha
Definition fontsClass.h:147
const char * texte
Definition fontsClass.h:148
Vector2f size
Definition fontsClass.h:152
Vector2f pos
Definition fontsClass.h:143
float rotation
Definition fontsClass.h:145
void setPosition(Vector2f nPos)
Definition fontsClass.cpp:264
void setFont(Font *font)
Change la font de la texte box.
Definition fontsClass.cpp:336
void Draw(GLint *renderUniforms) const override
Dessine la boîte de texte This is an overloaded member function, provided for convenience....
Definition fontsClass.cpp:252
Font * texteFont
Definition fontsClass.h:142
const Vector2f & getSize()
renvoie la taille de la boite de texte
Definition fontsClass.cpp:342
float getRotation()
Definition fontsClass.cpp:323
Vector2f getPosition()
Definition fontsClass.cpp:262
Vector3i getColor()
Definition fontsClass.cpp:298
Vector2f origin
Definition fontsClass.h:144
unsigned int sizeTexte
Definition fontsClass.h:149
void setColor(Vector3i nRGB)
Definition fontsClass.cpp:300
void setOrigin(Vector2f nOrigin)
Definition fontsClass.cpp:273
TexteBox & operator=(const TexteBox &other)
Definition fontsClass.cpp:178
void setRotation(float nRotation)
Definition fontsClass.cpp:316
void setAlpha(float nAlpha)
Definition fontsClass.cpp:307
float offset
Definition fontsClass.h:151
const char * getTexte()
Renvoie la chaine de caractères affiché
void setTexte(const char *nTexte)
Change la chaine de caractères.
Definition fontsClass.cpp:325
Vector3i RGB
Definition fontsClass.h:146
Definition bbopMathClass.h:47
Definition bbopMathClass.h:80
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