Renderer.h 875 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef RENDERER_H
  2. #define RENDERER_H
  3. #include "rendering/wrapper/Shader.h"
  4. #include "rendering/WindowSize.h"
  5. #include "math/MatrixStack.h"
  6. #include "rendering/FontRenderer.h"
  7. class Renderer final {
  8. public:
  9. Renderer(const WindowSize& size, Shader& shader);
  10. void pop();
  11. void push();
  12. void update();
  13. Renderer& scale(float sx, float sy);
  14. Renderer& scale(float s);
  15. Renderer& translate(float tx, float ty);
  16. Renderer& translateX(float tx);
  17. Renderer& translateY(float ty);
  18. Renderer& translateTo(float tx, float ty);
  19. Renderer& rotate(float degrees);
  20. void drawString(float x, float y, const char* text);
  21. private:
  22. void setTextureMode(bool b);
  23. void setColorMode(bool b);
  24. const WindowSize& size;
  25. Shader& shader;
  26. bool texture;
  27. bool color;
  28. MatrixStack stack;
  29. FontRenderer fontRenderer;
  30. };
  31. #endif