Go to the documentation of this file.
25 #ifndef GNASH_MATRIX_H
26 #define GNASH_MATRIX_H
38 template<
typename T>
class Range2d;
79 std::int32_t
a()
const {
83 std::int32_t
b()
const {
87 std::int32_t
c()
const {
91 std::int32_t
d()
const {
95 std::int32_t
tx()
const {
99 std::int32_t
ty()
const {
116 void concatenate_translation(
int _tx,
int _ty);
122 void concatenate_scale(
double x,
double y);
128 void set_scale_rotation(
double x_scale,
double y_scale,
double rotation);
131 void set_scale(
double x_scale,
double y_scale);
134 void set_x_scale(
double scale);
137 void set_y_scale(
double scale);
140 void set_rotation(
double rotation);
162 void transform(std::int32_t&
x, std::int32_t&
y)
const;
182 double get_x_scale()
const;
185 double get_y_scale()
const;
188 double get_rotation()
const;
206 std::int64_t determinant()
const;
2d Range template class
Definition: Range2d.h:78
void set_lerp(const SWFMatrix &m1, const SWFMatrix &m2, float t)
Set this SWFMatrix to a blend of m1 and m2, parameterized by t.
Definition: SWFMatrix.cpp:184
@ d
Definition: GnashKey.h:150
SWFMatrix(int a, int b, int c, int d, int x, int y)
Construct a SWFMatrix with all values.
Definition: SWFMatrix.h:69
std::int32_t y
Definition: BitmapData_as.cpp:435
SWFMatrix & invert()
Invert this SWFMatrix and return the result.
Definition: SWFMatrix.cpp:288
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:41
int get_y_translation() const
return y translation in TWIPS unit.
Definition: SWFMatrix.h:196
@ m
Definition: GnashKey.h:159
double get_rotation() const
return rotation component in radians.
Definition: SWFMatrix.cpp:330
std::int32_t c() const
Definition: SWFMatrix.h:87
double twipsToPixels(int i)
Definition: GnashNumeric.h:97
void set_translation(int x, int y)
Set x and y translation in TWIPS.
Definition: SWFMatrix.h:153
Rectangle class, see swf defined rectangle record.
Definition: SWFRect.h:45
@ t
Definition: GnashKey.h:166
@ r
Definition: GnashKey.h:164
@ a
Definition: GnashKey.h:147
std::int32_t x
The x coordinate.
Definition: Point2d.h:43
void set_x_scale(double scale)
Set x scale, rotation any y scale are unchanged.
Definition: SWFMatrix.cpp:208
std::int32_t a() const
Definition: SWFMatrix.h:79
void transform(geometry::Point2d &p) const
Transform a given point by our SWFMatrix.
Definition: SWFMatrix.cpp:99
std::int32_t d() const
Definition: SWFMatrix.h:91
std::int32_t b() const
Definition: SWFMatrix.h:83
void concatenate_translation(int _tx, int _ty)
Concatenate a translation onto the front of our SWFMatrix.
Definition: SWFMatrix.cpp:165
@ p
Definition: GnashKey.h:162
std::int32_t tx() const
Definition: SWFMatrix.h:95
constexpr SWFMatrix()
Construct an identity SWFMatrix.
Definition: SWFMatrix.h:58
Definition: SWFMatrix.h:54
2D Point class
Definition: Point2d.h:39
double get_x_scale() const
return the magnitude scale of our x coord output
Definition: SWFMatrix.cpp:314
int get_x_translation() const
return x translation n TWIPS unit.
Definition: SWFMatrix.h:191
void set_x_translation(int x)
Set x translation in TWIPS.
Definition: SWFMatrix.h:143
void set_y_translation(int y)
Set y translation in TWIPS.
Definition: SWFMatrix.h:148
void set_identity()
Set the SWFMatrix to identity.
Definition: SWFMatrix.cpp:141
#define DSOTEXPORT
Definition: dsodefs.h:63
void concatenate(const SWFMatrix &m)
Concatenate m's transform onto ours.
Definition: SWFMatrix.cpp:148
@ c
Definition: GnashKey.h:149
void concatenate_scale(double x, double y)
Concatenate scale x and y to the front of our SWFMatrix.
Definition: SWFMatrix.cpp:174
void set_y_scale(double scale)
Set y scale, rotation and x scale are unchanged.
Definition: SWFMatrix.cpp:216
#define DSOEXPORT
Definition: dsodefs.h:55
std::int32_t ty() const
Definition: SWFMatrix.h:99
std::int32_t y
The y coordinate.
Definition: Point2d.h:46
double get_y_scale() const
return the magnitude scale of our y coord output
Definition: SWFMatrix.cpp:322
void set_rotation(double rotation)
Set rotation in radians, scales component are unchanged.
Definition: SWFMatrix.cpp:236
void set_scale(double x_scale, double y_scale)
Set x and y scales, rotation is unchanged.
Definition: SWFMatrix.cpp:225
void set_scale_rotation(double x_scale, double y_scale, double rotation)
Set the scale & rotation part of the SWFMatrix. angle in radians.
Definition: SWFMatrix.cpp:197
bool operator==(const event_id &a, const event_id &b)
Return whether two event_ids are equal.
Definition: event_id.h:163
@ o
Definition: GnashKey.h:161
std::int32_t x
Definition: BitmapData_as.cpp:434
@ b
Definition: GnashKey.h:148
std::ostream & operator<<(std::ostream &o, const URL &u)
Definition: URL.cpp:447