Vegastrike 0.5.1 rc1
1.0
Original sources for Vegastrike Evolved
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
gauge.cpp
Go to the documentation of this file.
1
#include "
gauge.h
"
2
3
Gauge::Gauge
(
const
char
*
file
,
DIRECTION
up
) :
VSSprite
( file )
4
{
5
dir =
up
;
6
float
sx, sy;
7
VSSprite::GetSize
( sx, sy );
8
SetSize
( -sx, -sy );
9
}
10
11
void
Gauge::SetSize
(
float
x
,
float
y
)
12
{
13
if
(dir ==
GAUGE_UP
)
14
y = -
y
;
15
else
if
(dir ==
GAUGE_LEFT
)
16
x = -
x
;
17
VSSprite::SetSize
( x, y );
18
}
19
20
void
Gauge::GetSize
(
float
&
x
,
float
&
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
}
28
29
void
Gauge::Draw
(
float
percentage )
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
}
56
VSSprite::Draw
();
57
VSSprite::SetSize
( sx, sy );
58
VSSprite::SetPosition
( px, py );
59
}
60
src
gfx
gauge.cpp
Generated on Fri May 29 2015 23:07:24 for Vegastrike 0.5.1 rc1 by
1.8.4