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
"
// for DSOTEXPORT
28
29
namespace
gnash {
30
32
//
35
class
DSOEXPORT
rgba
36
{
37
public
:
38
40
//
42
rgba
()
43
:
44
m_r(255),
45
m_g(255),
46
m_b(255),
47
m_a(255)
48
{}
49
51
//
56
rgba
(boost::uint8_t
r
, boost::uint8_t
g
, boost::uint8_t
b
,
57
boost::uint8_t
a
)
58
:
59
m_r(r),
60
m_g(g),
61
m_b(b),
62
m_a(a)
63
{
64
}
65
67
//
73
void
parseRGB
(boost::uint32_t rgbCol) {
74
m_r =
static_cast<
boost::uint8_t
>
(rgbCol >> 16);
75
m_g =
static_cast<
boost::uint8_t
>
(rgbCol >> 8);
76
m_b =
static_cast<
boost::uint8_t
>
(rgbCol);
77
}
78
80
//
86
boost::uint32_t
toRGB
()
const
{
87
return
(m_r << 16) + (m_g << 8) + m_b;
88
}
89
91
//
96
boost::uint32_t
toRGBA
()
const
{
97
return
toRGB() + (m_a << 24);
98
}
99
100
friend
std::ostream&
operator<<
(std::ostream& os,
const
rgba
&
r
);
101
102
bool
operator==
(
const
rgba
&
o
)
const
{
103
return
m_r == o.
m_r
&&
104
m_g == o.
m_g
&&
105
m_b == o.
m_b
&&
106
m_a == o.
m_a
;
107
}
108
109
bool
operator!=
(
const
rgba
&
o
)
const
{
110
return
!(*
this
==
o
);
111
}
112
113
boost::uint8_t
m_r
, m_g, m_b, m_a;
114
115
};
116
117
DSOTEXPORT
std::ostream&
operator<<
(std::ostream& os,
const
rgba
&
r
);
118
120
//
124
rgba
colorFromHexString
(
const
std::string&
color
);
125
127
rgba
DSOEXPORT
lerp
(
const
rgba
&
a
,
const
rgba
&
b
,
float
f
);
128
129
}
// namespace gnash
130
131
#endif
132
133
134
// Local Variables:
135
// mode: C++
136
// indent-tabs-mode: t
137
// End:
Generated on Sat Nov 30 2013 06:54:23 for Gnash by
1.8.1.2