Gnash
0.8.11dev
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
libcore
RGBA.h
Go to the documentation of this file.
1
// RGBA.h: RGBA color handling.
2
//
3
// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
4
// Free Software Foundation, Inc
5
//
6
// This program is free software; you can redistribute it and/or modify
7
// it under the terms of the GNU General Public License as published by
8
// the Free Software Foundation; either version 3 of the License, or
9
// (at your option) any later version.
10
//
11
// This program is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
// GNU General Public License for more details.
15
//
16
// You should have received a copy of the GNU General Public License
17
// along with this program; if not, write to the Free Software
18
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19
//
20
21
#ifndef GNASH_RGBA_H
22
#define GNASH_RGBA_H
23
24
#include <string>
25
#include <boost/cstdint.hpp>
26
27
#include "
dsodefs.h
"
28
#include "
SWF.h
"
29
30
namespace
gnash {
31
33
//
36
class
DSOEXPORT
rgba
37
{
38
public
:
39
41
//
43
rgba
()
44
:
45
m_r(255),
46
m_g(255),
47
m_b(255),
48
m_a(255)
49
{}
50
52
//
57
rgba
(boost::uint8_t
r
, boost::uint8_t
g
, boost::uint8_t
b
,
58
boost::uint8_t
a
)
59
:
60
m_r(r),
61
m_g(g),
62
m_b(b),
63
m_a(a)
64
{
65
}
66
68
//
74
void
parseRGB
(boost::uint32_t rgbCol) {
75
m_r =
static_cast<
boost::uint8_t
>
(rgbCol >> 16);
76
m_g =
static_cast<
boost::uint8_t
>
(rgbCol >> 8);
77
m_b =
static_cast<
boost::uint8_t
>
(rgbCol);
78
}
79
81
//
87
boost::uint32_t
toRGB
()
const
{
88
return
(m_r << 16) + (m_g << 8) + m_b;
89
}
90
92
//
97
boost::uint32_t
toRGBA
()
const
{
98
return
toRGB() + (m_a << 24);
99
}
100
101
friend
std::ostream&
operator<<
(std::ostream& os,
const
rgba
&
r
);
102
103
bool
operator==
(
const
rgba
&
o
)
const
{
104
return
m_r == o.
m_r
&&
105
m_g == o.
m_g
&&
106
m_b == o.
m_b
&&
107
m_a == o.
m_a
;
108
}
109
110
bool
operator!=
(
const
rgba
&
o
)
const
{
111
return
!(*
this
==
o
);
112
}
113
114
boost::uint8_t
m_r
, m_g, m_b, m_a;
115
116
};
117
118
std::ostream&
operator<<
(std::ostream& os,
const
rgba
&
r
);
119
121
//
125
rgba
colorFromHexString
(
const
std::string&
color
);
126
128
rgba
lerp
(
const
rgba
&
a
,
const
rgba
&
b
,
float
f
);
129
130
}
// namespace gnash
131
132
#endif
133
134
135
// Local Variables:
136
// mode: C++
137
// indent-tabs-mode: t
138
// End:
Generated on Wed Oct 23 2013 11:31:10 for Gnash by
1.8.4