From d2d9a327815e5fa0d67c562f2bb35cc271cfb6b8 Mon Sep 17 00:00:00 2001 From: Robert Norris Date: Sun, 11 Mar 2012 12:55:45 +1100 Subject: [PATCH] more TexturedQuad allocations removed --- src/gui/GuiGradient.cpp | 7 +++---- src/gui/GuiGradient.h | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/gui/GuiGradient.cpp b/src/gui/GuiGradient.cpp index 0661a7ed12e..f75c33026f3 100644 --- a/src/gui/GuiGradient.cpp +++ b/src/gui/GuiGradient.cpp @@ -13,9 +13,8 @@ Gradient::Gradient(float width, float height, const Color &beginColor, const Col }; vector2f size = direction == HORIZONTAL ? vector2f(2.0f,1.0f) : vector2f(1.0f,2.0f); - Graphics::Texture *texture = Gui::Screen::GetRenderer()->CreateTexture(Graphics::TextureDescriptor(Graphics::TEXTURE_RGBA, size)); - texture->Update(data, size, Graphics::IMAGE_RGBA, Graphics::IMAGE_FLOAT); - m_quad.Reset(new TexturedQuad(texture)); + m_texture.Reset(Gui::Screen::GetRenderer()->CreateTexture(Graphics::TextureDescriptor(Graphics::TEXTURE_RGBA, size))); + m_texture->Update(data, size, Graphics::IMAGE_RGBA, Graphics::IMAGE_FLOAT); } void Gradient::GetSizeRequested(float size[2]) @@ -28,7 +27,7 @@ void Gradient::Draw() float size[2]; GetSize(size); - m_quad->Draw(Gui::Screen::GetRenderer(), vector2f(0.0f), vector2f(size[0],size[1])); + TexturedQuad(m_texture.Get()).Draw(Gui::Screen::GetRenderer(), vector2f(0.0f), vector2f(size[0],size[1])); } } diff --git a/src/gui/GuiGradient.h b/src/gui/GuiGradient.h index 1d158cf9990..663d668d1f9 100644 --- a/src/gui/GuiGradient.h +++ b/src/gui/GuiGradient.h @@ -26,7 +26,7 @@ namespace Gui { virtual void GetSizeRequested(float size[2]); private: - ScopedPtr m_quad; + RefCountedPtr m_texture; }; }