Bubba-3D
0.9.0
Awesome game engine!
Main Page
Classes
Files
File List
includes
TextObject.h
1
/*
2
* This file is part of Bubba-3D.
3
*
4
* Bubba-3D is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU Lesser General Public License as published by
6
* the Free Software Foundation, either version 3 of the License, or
7
* (at your option) any later version.
8
*
9
* Bubba-3D is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU Lesser General Public License for more details.
13
*
14
* You should have received a copy of the GNU Lesser General Public License
15
* along with Bubba-3D. If not, see http://www.gnu.org/licenses/.
16
*/
17
#pragma once
18
19
#include <IHudDrawable.h>
20
#include <GL/glew.h>
21
#include <vector>
22
26
class
TextObject
:
public
IHudDrawable
{
27
28
public
:
33
TextObject
(std::string text,
Font
* font,
int
width,
int
height,
int
x,
int
y);
34
35
~
TextObject
() =
default
;
41
void
virtual
render
(
ShaderProgram
* shaderProgram, chag::float4x4* projectionMatrix);
42
46
void
virtual
setText
(std::string text);
47
48
protected
:
49
std::string text;
50
Font
* font;
51
int
width;
52
int
height;
53
int
x;
54
int
y;
55
int
numVertices;
56
57
GLuint vao, vbo;
58
bool
buffersInitiated =
false
;
59
60
private
:
61
void
addPoints(std::vector<GLfloat> *data, std::initializer_list<float> elems);
62
void
getLines(std::vector<std::string>* lines, std::vector<int>* linesOffsetLeft,
int
* numChars);
63
int
getOffsetByLineLength(
int
lineLength);
64
void
init(std::vector<std::string> lines, std::vector<int> linesOffsetLeft,
int
numChars);
65
chag::float4x4 getModelMatrix();
66
void
initAndBindBuffers();
67
68
};
TextObject::TextObject
TextObject(std::string text, Font *font, int width, int height, int x, int y)
Definition:
TextObject.cpp:26
Font
Definition:
Font.h:27
ShaderProgram
Class for maintaining OpenGL shader programs.
Definition:
ShaderProgram.h:39
TextObject
Definition:
TextObject.h:26
IHudDrawable
Definition:
IHudDrawable.h:28
TextObject::setText
virtual void setText(std::string text)
Definition:
TextObject.cpp:31
TextObject::render
virtual void render(ShaderProgram *shaderProgram, chag::float4x4 *projectionMatrix)
Definition:
TextObject.cpp:179
Generated on Sun Oct 9 2016 20:52:17 for Bubba-3D by
1.8.11