summaryrefslogtreecommitdiff
path: root/public/panorama/controls/progressbar.h
blob: 3771e4e9b602f53dc125f6ee6e4a6035a98366d8 (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
//=========== Copyright Valve Corporation, All rights reserved. ===============//
//
// Purpose: 
//=============================================================================//

#ifndef PANORAMA_PROGRESSBAR_H
#define PANORAMA_PROGRESSBAR_H

#ifdef _WIN32
#pragma once
#endif

#include "panorama/controls/panel2d.h"

namespace panorama
{

//////////////////////////////////////////////////////////////////////////
//
// progress bar, just sizes two panels to represent progress
//
class CProgressBar: public CPanel2D
{
	DECLARE_PANEL2D( CProgressBar, CPanel2D );
public:
	CProgressBar( CPanel2D *pParent, const char *pchID );
	virtual ~CProgressBar();

	void SetMin( float flMin ) { m_flMin = flMin; InvalidateSizeAndPosition(); }
	void SetMax( float flMax ) { m_flMax = flMax; InvalidateSizeAndPosition(); }
	void SetValue( float flValue ) { m_flCur = flValue; InvalidateSizeAndPosition(); }
	float GetValue() { return m_flCur; }

protected:
	virtual void OnLayoutTraverse( float flFinalWidth, float flFinalHeight );

private:
	float m_flMin;
	float m_flMax;
	float m_flCur;

	CPanel2D *m_ppanelLeft;
	CPanel2D *m_ppanelRight;

};

} // namespace panorama

#endif // PANORAMA_PROGRESSBAR_H