-
Notifications
You must be signed in to change notification settings - Fork 4
/
JColor.h
78 lines (69 loc) · 1.29 KB
/
JColor.h
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#ifndef __JCOLOR_H__
#define __JCOLOR_H__
#include "JMDefs.h"
#ifdef __WIN32__
#include "sdl.h"
#else
#include "SDL2/SDL.h"
#endif //__WIN32__
#define COLOR_EXPAND(color) (color).m_vRG.x, (color).m_vRG.y, (color).m_vBA.x, (color).m_vBA.y
class JColor
{
public:
JColor()
{
m_vRG.Init();
m_vBA.Init();
};
JColor( Uint8 r, Uint8 g, Uint8 b, Uint8 a )
{
m_vRG.Init(r, g);
m_vBA.Init(b, a);
};
void GetColor( Uint8 &r, Uint8 &g, Uint8 &b, Uint8 &a )
{
r = m_vRG.x;
g = m_vRG.y;
b = m_vBA.x;
a = m_vBA.y;
};
Uint8 *GetColor(Uint8 *color)
{
color[0] = m_vRG.x;
color[1] = m_vRG.y;
color[2] = m_vBA.x;
color[3] = m_vBA.y;
return color;
};
void SetColor( JColor &in )
{
Uint8 r,g,b,a;
in.GetColor(r,g,b,a);
m_vRG.x = r;
m_vRG.y = g;
m_vBA.x = b;
m_vBA.y = a;
};
void SetColor( Uint8 r, Uint8 g, Uint8 b, Uint8 a )
{
m_vRG.x = r;
m_vRG.y = g;
m_vBA.x = b;
m_vBA.y = a;
};
void SetColor( char *szColor )
{
char *c;
c = strtok( szColor, "," );
m_vRG.x = atoi(c);
c = strtok( NULL, "," );
m_vRG.y = atoi(c);
c = strtok( NULL, "," );
m_vBA.x = atoi(c);
c = strtok( NULL, "," );
m_vBA.y = atoi(c);
};
JIVector m_vRG;
JIVector m_vBA;
};
#endif // __JCOLOR_H__