From b9e2d6b96a85f3cd18389edae9083e8b49b11a8d Mon Sep 17 00:00:00 2001 From: sippeangelo Date: Mon, 14 Apr 2014 00:15:36 +0200 Subject: [PATCH] WIP Gwen Renderer --- libs/GWEN | 1 + src/GwenRenderer.h | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 160000 libs/GWEN create mode 100644 src/GwenRenderer.h diff --git a/libs/GWEN b/libs/GWEN new file mode 160000 index 0000000..d6ffea4 --- /dev/null +++ b/libs/GWEN @@ -0,0 +1 @@ +Subproject commit d6ffea4dbac97f3fbe770e9dd21361e7699ea4ea diff --git a/src/GwenRenderer.h b/src/GwenRenderer.h new file mode 100644 index 0000000..954e248 --- /dev/null +++ b/src/GwenRenderer.h @@ -0,0 +1,39 @@ +#ifndef GwenRenderer_h__ +#define GwenRenderer_h__ + +#include +#include + +#include "Renderer.h" + +class GwenRenderer : public Gwen::Renderer::Base +{ +public: + GwenRenderer(Renderer* renderer) + : m_Renderer(renderer) { } + + void Begin() override; + void End() override; + + void SetDrawColor(Gwen::Color color) override; + void DrawFilledRect(Gwen::Rect rect) override; + + void StartClip() override; + void EndClip() override; + + void DrawTexturedRect(Gwen::Texture* pTexture, Gwen::Rect pTargetRect, float u1 = 0.0f, float v1 = 0.0f, float u2 = 1.0f, float v2 = 1.0f) override; + void LoadTexture(Gwen::Texture* pTexture) override; + void FreeTexture(Gwen::Texture* pTexture) override; + Gwen::Color PixelColour(Gwen::Texture* pTexture, unsigned int x, unsigned int y, const Gwen::Color & col_default) override; + + void LoadFont(Gwen::Font* pFont) override; + void FreeFont(Gwen::Font* pFont) override; + void RenderText(Gwen::Font* pFont, Gwen::Point pos, const Gwen::UnicodeString & text) override; + Gwen::Point MeasureText(Gwen::Font* pFont, const Gwen::UnicodeString & text) override; + +private: + Renderer* m_Renderer; + + Gwen::Color m_Color; +}; +#endif // GwenRenderer_h__ \ No newline at end of file