gnash-commit
[Top][All Lists]
Advanced

[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);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]