123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #ifndef RENDERER_H
- #define RENDERER_H
- #include "math/Vector.h"
- #include "rendering/FileTexture.h"
- #include "rendering/VertexBuffer.h"
- #include "utils/Buffer.h"
- #include "utils/Color.h"
- class Renderer final {
- VertexBuffer vertexBuffer;
- Buffer buffer;
- FileTexture font;
- Color4 color;
- const char* text;
- int index;
- int maxIndex;
- float x;
- float y;
- int vertices;
- public:
- Renderer();
- bool init();
- void renderString(const Vector2& pos, const char* text, int limit = -1);
- Vector2 getStringSize(const char* text, int limit = -1);
- void renderRectangle(const Vector2& pos, const Vector2& size, Color4 c);
- int charsInSpace(float width);
- private:
- void setupStringRead(const char* s, int limit);
- void setupString(const Vector2& pos, const char* s, int limit);
- bool hasStringData() const;
- char32_t readUnicode();
- bool readColor(char32_t c);
- void addChar(char32_t c);
- void update();
- };
- #endif
|