[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog backend/render_handler_agg.cpp ...
From: |
Zou Lunkai |
Subject: |
[Gnash-commit] gnash ChangeLog backend/render_handler_agg.cpp ... |
Date: |
Thu, 12 Jun 2008 03:13:42 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Zou Lunkai <zoulunkai> 08/06/12 03:13:42
Modified files:
. : ChangeLog
backend : render_handler_agg.cpp
libbase : utility.h
server : button_character_instance.cpp character.cpp
edit_text_character.cpp fill_style.cpp
generic_character.cpp movie_root.cpp
sprite_instance.cpp
Log message:
* libbase/utility.h: add a DoubleToFixed16() function.
* server/character.cpp,
server/button_character.cpp
server/edit_text_character.cpp
server/movie_root.cpp
server/sprite_instance.cpp
backend/render_handler_agg.cpp: use the simplified interfaces
of the new
matrix, cleanups.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6905&r2=1.6906
http://cvs.savannah.gnu.org/viewcvs/gnash/backend/render_handler_agg.cpp?cvsroot=gnash&r1=1.146&r2=1.147
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/utility.h?cvsroot=gnash&r1=1.58&r2=1.59
http://cvs.savannah.gnu.org/viewcvs/gnash/server/button_character_instance.cpp?cvsroot=gnash&r1=1.105&r2=1.106
http://cvs.savannah.gnu.org/viewcvs/gnash/server/character.cpp?cvsroot=gnash&r1=1.102&r2=1.103
http://cvs.savannah.gnu.org/viewcvs/gnash/server/edit_text_character.cpp?cvsroot=gnash&r1=1.193&r2=1.194
http://cvs.savannah.gnu.org/viewcvs/gnash/server/fill_style.cpp?cvsroot=gnash&r1=1.36&r2=1.37
http://cvs.savannah.gnu.org/viewcvs/gnash/server/generic_character.cpp?cvsroot=gnash&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.cpp?cvsroot=gnash&r1=1.204&r2=1.205
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.550&r2=1.551
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6905
retrieving revision 1.6906
diff -u -b -r1.6905 -r1.6906
--- ChangeLog 12 Jun 2008 03:07:53 -0000 1.6905
+++ ChangeLog 12 Jun 2008 03:13:40 -0000 1.6906
@@ -3,6 +3,14 @@
* server/matrix.{h, cpp}: drop transform_by_inverse() and set_inverse(),
add a invert() methord for inverting the matrix. make the interfaces
clearer. cleanups.
+ * libbase/utility.h: add a DoubleToFixed16() function.
+ * server/character.cpp,
+ server/button_character.cpp
+ server/edit_text_character.cpp
+ server/movie_root.cpp
+ server/sprite_instance.cpp
+ backend/render_handler_agg.cpp: use the simplified interfaces of the
new
+ matrix, cleanups.
2008-06-11 Benjamin Wolsey <address@hidden>
Index: backend/render_handler_agg.cpp
===================================================================
RCS file: /sources/gnash/gnash/backend/render_handler_agg.cpp,v
retrieving revision 1.146
retrieving revision 1.147
diff -u -b -r1.146 -r1.147
--- backend/render_handler_agg.cpp 5 Jun 2008 03:26:31 -0000 1.146
+++ backend/render_handler_agg.cpp 12 Jun 2008 03:13:41 -0000 1.147
@@ -1305,8 +1305,8 @@
const matrix& fillstyle_matrix,
const cxform& cx) {
- matrix inv_stage_matrix;
- inv_stage_matrix.set_inverse(stage_matrix);
+ matrix inv_stage_matrix = stage_matrix;
+ inv_stage_matrix.invert();
size_t fcount = fill_styles.size();
for (size_t fno=0; fno<fcount; fno++) {
@@ -1319,8 +1319,9 @@
case SWF::FILL_LINEAR_GRADIENT:
{
matrix m = fill_styles[fno].get_gradient_matrix();
- matrix cm;
- cm.set_inverse(fillstyle_matrix);
+ matrix cm = fillstyle_matrix;
+ cm.invert();
+
m.concatenate(cm);
m.concatenate(inv_stage_matrix);
@@ -1331,8 +1332,9 @@
case SWF::FILL_RADIAL_GRADIENT:
{
matrix m = fill_styles[fno].get_gradient_matrix();
- matrix cm;
- cm.set_inverse(fillstyle_matrix);
+ matrix cm = fillstyle_matrix;
+ cm.invert();
+
m.concatenate(cm);
m.concatenate(inv_stage_matrix);
@@ -1343,8 +1345,9 @@
case SWF::FILL_FOCAL_GRADIENT:
{
matrix m = fill_styles[fno].get_gradient_matrix();
- matrix cm;
- cm.set_inverse(fillstyle_matrix);
+ matrix cm = fillstyle_matrix;
+ cm.invert();
+
m.concatenate(cm);
m.concatenate(inv_stage_matrix);
@@ -1360,8 +1363,9 @@
case SWF::FILL_CLIPPED_BITMAP_HARD:
{
matrix m = fill_styles[fno].get_bitmap_matrix();
- matrix cm;
- cm.set_inverse(fillstyle_matrix);
+ matrix cm = fillstyle_matrix;
+ cm.invert();
+
m.concatenate(cm);
m.concatenate(inv_stage_matrix);
@@ -1940,7 +1944,8 @@
pixel_to_world(int x, int y)
{
point p(x, y);
- stage_matrix.transform_by_inverse(p);
+ matrix mat = stage_matrix;
+ mat.invert().transform(p);
return p;
};
Index: libbase/utility.h
===================================================================
RCS file: /sources/gnash/gnash/libbase/utility.h,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -b -r1.58 -r1.59
--- libbase/utility.h 10 Jun 2008 08:17:45 -0000 1.58
+++ libbase/utility.h 12 Jun 2008 03:13:41 -0000 1.59
@@ -114,8 +114,7 @@
inline int iabs(int i)
{
- if (i < 0) return -i;
- else return i;
+ return (i < 0) ? -i : i;
}
template <typename T> inline T clamp(T i, T min, T max)
@@ -148,6 +147,12 @@
return (boost::int32_t)(a * 65536.0f);
}
+inline boost::int32_t DoubleToFixed16(double a)
+{
+ // There might be overflows, but we don't care in our specific case.
+ return (boost::int32_t)(a * 65536.0);
+}
+
}
Index: server/button_character_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/button_character_instance.cpp,v
retrieving revision 1.105
retrieving revision 1.106
diff -u -b -r1.105 -r1.106
--- server/button_character_instance.cpp 2 Jun 2008 09:52:52 -0000
1.105
+++ server/button_character_instance.cpp 12 Jun 2008 03:13:41 -0000
1.106
@@ -423,8 +423,8 @@
std::sort(actChars.begin(), actChars.end(), charDepthLessThen);
matrix m = get_matrix();
- point p;
- m.transform_by_inverse(&p, point(x, y));
+ point p(x, y);
+ m.invert().transform(p);
for (Chars::reverse_iterator it=actChars.rbegin(),
itE=actChars.rend(); it!=itE; ++it)
{
Index: server/character.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/character.cpp,v
retrieving revision 1.102
retrieving revision 1.103
diff -u -b -r1.102 -r1.103
--- server/character.cpp 25 May 2008 10:05:20 -0000 1.102
+++ server/character.cpp 12 Jun 2008 03:13:41 -0000 1.103
@@ -355,13 +355,10 @@
VM::get().getRoot().get_mouse_state(x, y, buttons);
matrix m = ptr->get_world_matrix();
+ point a(PIXELS_TO_TWIPS(x), PIXELS_TO_TWIPS(y));
- const point a(PIXELS_TO_TWIPS(x), PIXELS_TO_TWIPS(y));
- point b;
-
- m.transform_by_inverse(&b, a);
-
- return as_value(TWIPS_TO_PIXELS(b.x));
+ m.invert().transform(a);
+ return as_value(TWIPS_TO_PIXELS(a.x));
}
as_value
@@ -374,13 +371,9 @@
VM::get().getRoot().get_mouse_state(x, y, buttons);
matrix m = ptr->get_world_matrix();
-
- const point a(PIXELS_TO_TWIPS(x), PIXELS_TO_TWIPS(y));
- point b;
-
- m.transform_by_inverse(&b, a);
-
- return as_value(TWIPS_TO_PIXELS(b.y));
+ point a(PIXELS_TO_TWIPS(x), PIXELS_TO_TWIPS(y));
+ m.invert().transform(a);
+ return as_value(TWIPS_TO_PIXELS(a.y));
}
as_value
Index: server/edit_text_character.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/edit_text_character.cpp,v
retrieving revision 1.193
retrieving revision 1.194
diff -u -b -r1.193 -r1.194
--- server/edit_text_character.cpp 7 Jun 2008 00:31:14 -0000 1.193
+++ server/edit_text_character.cpp 12 Jun 2008 03:13:41 -0000 1.194
@@ -805,12 +805,9 @@
}
matrix m = get_matrix();
+ point p(x, y);
+ m.invert().transform(p);
- point p;
- m.transform_by_inverse(&p, point(x, y));
-
- //const rect& def_bounds = m_def->get_bounds();
- //if (def_bounds.point_test(p.x, p.y))
if ( _bounds.contains(p.x, p.y) )
{
return this;
@@ -1873,7 +1870,7 @@
{
matrix wm = get_world_matrix();
point lp(x, y);
- wm.transform_by_inverse(lp);
+ wm.invert().transform(lp);
return _bounds.contains(lp.x, lp.y);
}
Index: server/fill_style.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/fill_style.cpp,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -b -r1.36 -r1.37
--- server/fill_style.cpp 10 Jun 2008 08:17:45 -0000 1.36
+++ server/fill_style.cpp 12 Jun 2008 03:13:41 -0000 1.37
@@ -125,8 +125,8 @@
m_gradient_matrix.concatenate_scale(1.0f/512, 1.0f/512);
}
- matrix m;
- m.set_inverse(input_matrix);
+ matrix m = input_matrix;
+ m.invert();
if (is_morph)
{
@@ -137,7 +137,8 @@
if (is_morph)
{
input_matrix.read(in);
- m.set_inverse(input_matrix);
+ m = input_matrix;
+ m.invert();
pOther->m_gradient_matrix.concatenate(m);
}
@@ -288,13 +289,13 @@
// For some reason, it looks like they store the inverse of the
// TWIPS-to-texcoords matrix.
- m_bitmap_matrix.set_inverse(m);
+ m_bitmap_matrix = m.invert();
if (is_morph)
{
pOther->m_bitmap_character = m_bitmap_character;
m.read(in);
- pOther->m_bitmap_matrix.set_inverse(m);
+ pOther->m_bitmap_matrix = m.invert();
}
IF_VERBOSE_PARSE(
log_parse("matrix: %s", m_bitmap_matrix);
Index: server/generic_character.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/generic_character.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- server/generic_character.cpp 29 May 2008 09:22:00 -0000 1.16
+++ server/generic_character.cpp 12 Jun 2008 03:13:42 -0000 1.17
@@ -47,8 +47,9 @@
generic_character::pointInShape(float x, float y) const
{
matrix wm = get_world_matrix();
+ matrix wm_inverse = wm.invert();
point lp(x, y);
- wm.transform_by_inverse(lp);
+ wm_inverse.transform(lp);
return m_def->point_test_local(lp.x, lp.y, wm);
}
Index: server/movie_root.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/movie_root.cpp,v
retrieving revision 1.204
retrieving revision 1.205
diff -u -b -r1.204 -r1.205
--- server/movie_root.cpp 5 Jun 2008 18:35:42 -0000 1.204
+++ server/movie_root.cpp 12 Jun 2008 03:13:42 -0000 1.205
@@ -993,14 +993,11 @@
bounds.clamp(world_mouse);
}
-
- point parent_mouse;
- parent_world_mat.transform_by_inverse(&parent_mouse, world_mouse);
-
+ parent_world_mat.invert().transform(world_mouse);
// Place our origin so that it coincides with the mouse coords
// in our parent frame.
matrix local = dragChar->get_matrix();
- local.set_translation( parent_mouse.x, parent_mouse.y );
+ local.set_translation(world_mouse.x, world_mouse.y);
dragChar->set_matrix(local);
}
Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.550
retrieving revision 1.551
diff -u -b -r1.550 -r1.551
--- server/sprite_instance.cpp 5 Jun 2008 03:26:32 -0000 1.550
+++ server/sprite_instance.cpp 12 Jun 2008 03:13:42 -0000 1.551
@@ -994,13 +994,9 @@
matrix tgtwmat = target->get_world_matrix();
matrix srcwmat = sprite->get_world_matrix();
- matrix invtgtwmat; invtgtwmat.set_inverse(tgtwmat);
- matrix m = srcwmat;
- m.concatenate(invtgtwmat);
-
srcwmat.transform(bounds);
- tgtwmat.transform_by_inverse(bounds);
+ tgtwmat.invert().transform(bounds);
}
// Magic numbers here... dunno why
@@ -1081,7 +1077,7 @@
point pt(x, y);
matrix world_mat = sprite->get_world_matrix();
- world_mat.transform_by_inverse(pt);
+ world_mat.invert().transform(pt);
// These used to be: round(pt.x), which would round negative
// half-values away from zero (-0.5 - > -1), whereas
@@ -1835,13 +1831,11 @@
// Finally, and don't know why, take
// the inverse of the resulting matrix as
- // the one which would be used
- mat.set_inverse( input_matrix );
-
+ // the one which would be used.
+ mat = input_matrix;
+ mat.invert();
}
- //cout << mat << endl;
-
// ----------------------------
// Create the gradients vector
// ----------------------------
@@ -3862,8 +3856,8 @@
matrix m = get_matrix();
- point pp;
- m.transform_by_inverse(&pp, point(x, y));
+ point pp(x, y);
+ m.invert().transform(pp);
MouseEntityFinder finder(wp, pp);
//m_display_list.visitBackward(finder);