Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Gauge Class Reference

#include <gauge.h>

Inheritance diagram for Gauge:
VSSprite

Public Types

enum  DIRECTION {
  GAUGE_UP, GAUGE_DOWN, GAUGE_RIGHT, GAUGE_LEFT,
  GAUGE_TIME
}
 

Public Member Functions

 Gauge (const char *file, DIRECTION up)
 
void Draw (float percentage)
 
void SetSize (float x, float y)
 
void GetSize (float &x, float &y)
 
- Public Member Functions inherited from VSSprite
 VSSprite (const char *file, enum FILTER texturefilter=BILINEAR, GFXBOOL force=GFXFALSE)
 
 VSSprite (Texture *surface, float xcenter, float ycenter, float width, float height, float s=0.f, float t=0.f, bool isAnimation=false)
 
 VSSprite (const VSSprite &source)
 
 ~VSSprite ()
 
bool LoadSuccess () const
 
void Draw ()
 
void DrawHere (Vector &ll, Vector &lr, Vector &ur, Vector &ul)
 
void Rotate (const float &rad)
 
void SetRotation (const float &rot)
 
void GetRotation (float &rot)
 
void ReadTexture (VSFileSystem::VSFile *f)
 
void GetST (float &s, float &t)
 
void SetST (const float s, const float t)
 
void SetTime (double newtime)
 
void SetPosition (const float &x1, const float &y1)
 
void GetPosition (float &x1, float &y1)
 
void SetSize (float s1, float s2)
 
void GetSize (float &x1, float &y1)
 
void SetTimeSource (SharedPtr< Audio::Source > source)
 
void ClearTimeSource ()
 
bool Done () const
 
void Reset ()
 
SharedPtr< Audio::SourceGetTimeSource () const
 
TexturegetTexture ()
 
const TexturegetTexture () const
 

Detailed Description

Definition at line 3 of file gauge.h.

Member Enumeration Documentation

Enumerator
GAUGE_UP 
GAUGE_DOWN 
GAUGE_RIGHT 
GAUGE_LEFT 
GAUGE_TIME 

Definition at line 6 of file gauge.h.

Constructor & Destructor Documentation

Gauge::Gauge ( const char *  file,
DIRECTION  up 
)

Definition at line 3 of file gauge.cpp.

References VSSprite::GetSize(), SetSize(), and up.

3  : VSSprite( file )
4 {
5  dir = up;
6  float sx, sy;
7  VSSprite::GetSize( sx, sy );
8  SetSize( -sx, -sy );
9 }

Member Function Documentation

void Gauge::Draw ( float  percentage)

Definition at line 29 of file gauge.cpp.

References VSSprite::Draw(), GAUGE_DOWN, GAUGE_LEFT, GAUGE_RIGHT, GAUGE_TIME, GAUGE_UP, VSSprite::GetPosition(), VSSprite::GetSize(), VSSprite::SetPosition(), VSSprite::SetSize(), VSSprite::SetST(), and VSSprite::SetTime().

30 {
31  if (percentage < 0) percentage = 0;
32 
33  else if (percentage > 1)
34  percentage = 1;
35  float sx, sy, px, py;
36  VSSprite::GetSize( sx, sy );
37  VSSprite::GetPosition( px, py );
38  switch (dir)
39  {
40  case GAUGE_RIGHT:
41  case GAUGE_LEFT:
42  SetST( (1-percentage), 0 );
43  VSSprite::SetSize( sx*percentage, sy );
44  VSSprite::SetPosition( px+sx*(1-percentage)*.5, py );
45  break;
46  case GAUGE_DOWN:
47  case GAUGE_UP:
48  SetST( 0, (1-percentage) );
49  VSSprite::SetSize( sx, sy*percentage );
50  VSSprite::SetPosition( px, py+sy*(1-percentage)*.5 );
51  break;
52  case GAUGE_TIME:
53  VSSprite::SetTime( percentage );
54  break;
55  }
57  VSSprite::SetSize( sx, sy );
58  VSSprite::SetPosition( px, py );
59 }
void Gauge::GetSize ( float x,
float y 
)

Definition at line 20 of file gauge.cpp.

References GAUGE_LEFT, GAUGE_UP, VSSprite::GetSize(), x, and y.

21 {
22  VSSprite::GetSize( x, y );
23  if (dir == GAUGE_UP)
24  y = -y;
25  else if (dir == GAUGE_LEFT)
26  x = -x;
27 }
void Gauge::SetSize ( float  x,
float  y 
)

Definition at line 11 of file gauge.cpp.

References GAUGE_LEFT, GAUGE_UP, VSSprite::SetSize(), x, and y.

Referenced by Gauge().

12 {
13  if (dir == GAUGE_UP)
14  y = -y;
15  else if (dir == GAUGE_LEFT)
16  x = -x;
17  VSSprite::SetSize( x, y );
18 }

The documentation for this class was generated from the following files: