Gnash
0.8.11dev
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
libcore
asobj
flash
geom
ColorTransform_as.h
Go to the documentation of this file.
1
// ColorTransform_as.h: ActionScript "ColorTransform" class, for Gnash.
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_ASOBJ_COLORTRANSFORM_H
22
#define GNASH_ASOBJ_COLORTRANSFORM_H
23
24
#include "
Relay.h
"
25
26
namespace
gnash {
27
class
as_object;
28
struct
ObjectURI;
29
}
30
31
namespace
gnash {
32
33
// This is used directly by flash.geom.Transform, as it is
34
// much more efficient than a pseudo-ActionScript implementation.
35
class
ColorTransform_as
:
public
Relay
36
{
37
38
public
:
39
40
ColorTransform_as
(
double
rm,
double
gm,
double
bm,
double
am,
41
double
ro,
double
go,
double
bo,
double
ao);
42
43
// Tests show that the ColorTransform
44
// object has its own properties on initialization, so they have
45
// getter-setters and are *not* simple properties. Storing and
46
// manipulating as doubles (they cannot be anything else - see ctor) is
47
// better for speed and memory than using as_value.
48
void
setAlphaMultiplier
(
double
am) { _alphaMultiplier = am; }
49
void
setRedMultiplier
(
double
rm) { _redMultiplier = rm; }
50
void
setBlueMultiplier
(
double
bm) { _blueMultiplier = bm; }
51
void
setGreenMultiplier
(
double
gm) { _greenMultiplier = gm; }
52
53
void
setAlphaOffset
(
double
ao) { _alphaOffset = ao; }
54
void
setRedOffset
(
double
ro) { _redOffset = ro; }
55
void
setBlueOffset
(
double
bo) { _blueOffset = bo; }
56
void
setGreenOffset
(
double
go) { _greenOffset = go; }
57
58
double
getAlphaMultiplier
()
const
{
return
_alphaMultiplier; }
59
double
getRedMultiplier
()
const
{
return
_redMultiplier; }
60
double
getBlueMultiplier
()
const
{
return
_blueMultiplier; }
61
double
getGreenMultiplier
()
const
{
return
_greenMultiplier; }
62
63
double
getAlphaOffset
()
const
{
return
_alphaOffset; }
64
double
getRedOffset
()
const
{
return
_redOffset; }
65
double
getBlueOffset
()
const
{
return
_blueOffset; }
66
double
getGreenOffset
()
const
{
return
_greenOffset; }
67
68
void
concat
(
const
ColorTransform_as
& other);
69
70
private
:
71
72
double
_alphaMultiplier;
73
double
_alphaOffset;
74
double
_blueMultiplier;
75
double
_blueOffset;
76
double
_greenMultiplier;
77
double
_greenOffset;
78
double
_redMultiplier;
79
double
_redOffset;
80
81
};
82
84
void
colortransform_class_init
(as_object& where,
const
ObjectURI& uri);
85
86
void
registerColorTransformNative
(as_object& global);
87
88
}
// end of gnash namespace
89
90
#endif
Generated on Wed Oct 23 2013 11:31:08 for Gnash by
1.8.4