fixed: Control.GetLabel(id) didn't work on progress controls.
[xbmc:xbmc-antiquated.git] / XBMC / guilib / GUIProgressControl.h
1 /*!
2 \file GUIProgressControl.h
3 \brief
4 */
5
6 #ifndef GUILIB_GUIPROGRESSCONTROL_H
7 #define GUILIB_GUIPROGRESSCONTROL_H
8
9 #pragma once
10
11 /*
12  *      Copyright (C) 2005-2008 Team XBMC
13  *      http://www.xbmc.org
14  *
15  *  This Program is free software; you can redistribute it and/or modify
16  *  it under the terms of the GNU General Public License as published by
17  *  the Free Software Foundation; either version 2, or (at your option)
18  *  any later version.
19  *
20  *  This Program is distributed in the hope that it will be useful,
21  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
22  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23  *  GNU General Public License for more details.
24  *
25  *  You should have received a copy of the GNU General Public License
26  *  along with XBMC; see the file COPYING.  If not, write to
27  *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
28  *  http://www.gnu.org/copyleft/gpl.html
29  *
30  */
31
32 #include "GUITexture.h"
33 #include "GUIControl.h"
34
35 /*!
36  \ingroup controls
37  \brief
38  */
39 class CGUIProgressControl :
40       public CGUIControl
41 {
42 public:
43   CGUIProgressControl(DWORD dwParentID, DWORD dwControlId, float posX, float posY,
44                       float width, float height, const CTextureInfo& backGroundTexture,
45                       const CTextureInfo& leftTexture, const CTextureInfo& midTexture,
46                       const CTextureInfo& rightTexture, const CTextureInfo& overlayTexture,
47                       float min, float max, bool reveal=false);
48   virtual ~CGUIProgressControl(void);
49   virtual CGUIProgressControl *Clone() const { return new CGUIProgressControl(*this); };
50
51   virtual void Render();
52   virtual bool CanFocus() const;
53   virtual void PreAllocResources();
54   virtual void AllocResources();
55   virtual void FreeResources();
56   virtual void DynamicResourceAlloc(bool bOnOff);
57   virtual bool OnMessage(CGUIMessage& message);
58   virtual void SetPosition(float posX, float posY);
59   void SetPercentage(float fPercent);
60   void SetInfo(int iInfo);
61   int GetInfo() const {return m_iInfoCode;};
62
63   float GetPercentage() const;
64   CStdString GetDescription() const;
65 protected:
66   virtual void UpdateColors();
67   CGUITexture m_guiBackground;
68   CGUITexture m_guiLeft;
69   CGUITexture m_guiMid;
70   CGUITexture m_guiRight;
71   CGUITexture m_guiOverlay;
72   float m_RangeMin;
73   float m_RangeMax;
74   int m_iInfoCode;
75   float m_fPercent;
76   bool m_bReveal;
77 };
78 #endif