summaryrefslogtreecommitdiff
path: root/utils/vgui_panel_zoo/ImagePanelDemo.cpp
blob: 14e7abb7185e4a95f0748ff226ce3f363c2e6225 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: 
//
// $NoKeywords: $
//=============================================================================//
#include "DemoPage.h"

#include "vgui/IVGui.h"

#include "vgui_controls/Controls.h"
#include <vgui/IScheme.h>
#include <vgui_controls/ImagePanel.h>
#include <vgui/IImage.h>

using namespace vgui;

//-----------------------------------------------------------------------------
// An ImagePanel is a panel class that handles drawing of Images and gives
// them all kinds of panel features.
//-----------------------------------------------------------------------------
class ImagePanelDemo: public DemoPage
{
	typedef DemoPage BaseClass;

public:
	ImagePanelDemo(Panel *parent, const char *name);
	~ImagePanelDemo();

	virtual void ApplySchemeSettings(IScheme *pScheme);
	
private:
	IImage *m_pImage;
	ImagePanel *m_pImagePanel;
};

//-----------------------------------------------------------------------------
// Purpose: Constructor
//-----------------------------------------------------------------------------
ImagePanelDemo::ImagePanelDemo(Panel *parent, const char *name) : DemoPage(parent, name)
{
	// Create an Image Panel
	m_pImagePanel = new ImagePanel(this, "AnImagePanel");

	// Set the position
	m_pImagePanel->SetPos(100, 100);

}

//-----------------------------------------------------------------------------
// Purpose: Destructor
//-----------------------------------------------------------------------------
ImagePanelDemo::~ImagePanelDemo()
{
}

//-----------------------------------------------------------------------------
// Scheme settings
//-----------------------------------------------------------------------------
void ImagePanelDemo::ApplySchemeSettings(IScheme *pScheme)
{
	BaseClass::ApplySchemeSettings( pScheme );

	// get an image
	m_pImage = scheme()->GetImage("Resource/valve_logo", false );

	// now insert an image
	m_pImagePanel->SetImage(m_pImage);
}

Panel* ImagePanelDemo_Create(Panel *parent)
{
	return new ImagePanelDemo(parent, "ImagePanelDemo");
}