123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #ifndef RENDERER_H
- #define RENDERER_H
- #include "rendering/wrapper/Shader.h"
- #include "utils/Size.h"
- #include "math/MatrixStack.h"
- #include "rendering/FontRenderer.h"
- #include "rendering/ColorRenderer.h"
- class Renderer final {
- public:
- Renderer(const Size& size, Shader& shader);
- void pop();
- void push();
- void update();
- Renderer& scale(float sx, float sy);
- Renderer& scale(float s);
- Renderer& translate(float tx, float ty);
- Renderer& translateX(float tx);
- Renderer& translateY(float ty);
- Renderer& translateTo(float tx, float ty);
- Renderer& rotate(float degrees);
- void setStringSize(int size);
- float drawString(float x, float y, const char* text);
- void drawTriangle(const ColorRenderer::Vertex& v1, const ColorRenderer::Vertex& v2, const ColorRenderer::Vertex& v3);
- void drawTriangle(float x1, float y1, float x2, float y2, float x3, float y3, Color4 color);
- void drawRectangle(float x, float y, float width, float height, Color4 color);
- private:
- void setTextureMode(bool b);
- void setColorMode(bool b);
-
- const Size& size;
- Shader& shader;
- bool texture;
- bool color;
- MatrixStack<10> stack;
- FontRenderer fontRenderer;
- ColorRenderer colorRenderer;
- };
- #endif
|