added: support to specify aspect ratio and aspect alignment for individual textures.
[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 #include "guiImage.h"
12
13 /*!
14  \ingroup controls
15  \brief 
16  */
17 class CGUIProgressControl :
18       public CGUIControl
19 {
20 public:
21   CGUIProgressControl(DWORD dwParentID, DWORD dwControlId, float posX, float posY, 
22                       float width, float height, const CImage& backGroundTexture, 
23                       const CImage& leftTexture, const CImage& midTexture, 
24                       const CImage& rightTexture, const CImage& overlayTexture, 
25                       float min, float max);
26   virtual ~CGUIProgressControl(void);
27   virtual void Render();
28   virtual bool CanFocus() const;
29   virtual void PreAllocResources();
30   virtual void AllocResources();
31   virtual void FreeResources();
32   virtual void DynamicResourceAlloc(bool bOnOff);
33   virtual bool OnMessage(CGUIMessage& message);
34   virtual void SetPosition(float posX, float posY);
35   virtual void SetColorDiffuse(D3DCOLOR color);
36   void SetPercentage(float fPercent);
37   void SetInfo(int iInfo);
38   int GetInfo() const {return m_iInfoCode;};
39
40   float GetPercentage() const;
41 protected:
42   CGUIImage m_guiBackground;
43   CGUIImage m_guiLeft;
44   CGUIImage m_guiMid;
45   CGUIImage m_guiRight;
46   CGUIImage m_guiOverlay;
47   float m_RangeMin;
48   float m_RangeMax;
49   int m_iInfoCode;
50   float m_fPercent;
51 };
52 #endif