add initial examples, replacing the 'Demos/Demos3'. Will make it work cross-platform, OpenGL3/OpenGL2 and add more examples to it.
This commit is contained in:
78
examples/ThirdPartyLibs/Gwen/Controls/ImagePanel.h
Normal file
78
examples/ThirdPartyLibs/Gwen/Controls/ImagePanel.h
Normal file
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
GWEN
|
||||
Copyright (c) 2010 Facepunch Studios
|
||||
See license in Gwen.h
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifndef GWEN_CONTROLS_IMAGEPANEL_H
|
||||
#define GWEN_CONTROLS_IMAGEPANEL_H
|
||||
|
||||
#include "Gwen/Gwen.h"
|
||||
#include "Gwen/Controls/Base.h"
|
||||
#include "Gwen/BaseRender.h"
|
||||
#include "Gwen/Texture.h"
|
||||
|
||||
namespace Gwen
|
||||
{
|
||||
namespace Controls
|
||||
{
|
||||
class GWEN_EXPORT ImagePanel : public Controls::Base
|
||||
{
|
||||
public:
|
||||
|
||||
GWEN_CONTROL_INLINE( ImagePanel, Controls::Base )
|
||||
{
|
||||
SetUV( 0, 0, 1, 1 );
|
||||
SetMouseInputEnabled( false );
|
||||
m_DrawColor = Colors::White;
|
||||
}
|
||||
|
||||
virtual ~ImagePanel()
|
||||
{
|
||||
m_Texture.Release( GetSkin()->GetRender() );
|
||||
}
|
||||
|
||||
|
||||
virtual void SetUV( float u1, float v1, float u2, float v2 )
|
||||
{
|
||||
m_uv[0] = u1;
|
||||
m_uv[1] = v1;
|
||||
m_uv[2] = u2;
|
||||
m_uv[3] = v2;
|
||||
}
|
||||
|
||||
virtual void SetImage( const TextObject& imageName )
|
||||
{
|
||||
m_Texture.Load( imageName, GetSkin()->GetRender() );
|
||||
}
|
||||
|
||||
virtual const TextObject& GetImageName()
|
||||
{
|
||||
return m_Texture.name;
|
||||
}
|
||||
|
||||
virtual void Render( Skin::Base* skin )
|
||||
{
|
||||
skin->GetRender()->SetDrawColor( m_DrawColor );
|
||||
skin->GetRender()->DrawTexturedRect( &m_Texture, GetRenderBounds(), m_uv[0], m_uv[1], m_uv[2], m_uv[3] );
|
||||
}
|
||||
|
||||
virtual void SizeToContents()
|
||||
{
|
||||
SetSize( m_Texture.width, m_Texture.height );
|
||||
}
|
||||
|
||||
virtual void SetDrawColor( Gwen::Color& color )
|
||||
{
|
||||
m_DrawColor = color;
|
||||
}
|
||||
|
||||
Texture m_Texture;
|
||||
float m_uv[4];
|
||||
Gwen::Color m_DrawColor;
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user