gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash/server button_character_instance.cpp edit...


From: Vitaly Alexeev
Subject: [Gnash-commit] gnash/server button_character_instance.cpp edit...
Date: Sun, 27 Aug 2006 18:30:39 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Vitaly Alexeev <alexeev>        06/08/27 18:30:39

Modified files:
        server         : button_character_instance.cpp 
                         edit_text_character.cpp sprite_instance.cpp 
                         types.cpp 

Log message:
        Macromedia Flash changes infinite to zero when works a matrix

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/server/button_character_instance.cpp?cvsroot=gnash&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/gnash/server/edit_text_character.cpp?cvsroot=gnash&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.45&r2=1.46
http://cvs.savannah.gnu.org/viewcvs/gnash/server/types.cpp?cvsroot=gnash&r1=1.9&r2=1.10

Patches:
Index: button_character_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/button_character_instance.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- button_character_instance.cpp       27 Aug 2006 01:28:48 -0000      1.2
+++ button_character_instance.cpp       27 Aug 2006 18:30:38 -0000      1.3
@@ -541,7 +541,7 @@
        {
                // Set alpha modulate, in percent.
                cxform  cx = get_cxform();
-               cx.m_[3][0] = float(val.to_number()) / 100.f;
+               cx.m_[3][0] = infinite_to_fzero(val.to_number()) / 100.f;
                set_cxform(cx);
                //m_accept_anim_moves = false;
                return;
@@ -549,14 +549,14 @@
        case M_X:  // _x
        {
                matrix  m = get_matrix();       // @@ get_world_matrix()???
-               m.m_[0][2] = float(PIXELS_TO_TWIPS(val.to_number()));
+               m.m_[0][2] = 
infinite_to_fzero(PIXELS_TO_TWIPS(val.to_number()));
                this->set_matrix(m);
                return;
        }
        case M_Y:  // _y
        {
                matrix  m = get_matrix();       // @@ get_world_matrix()???
-               m.m_[1][2] = float(PIXELS_TO_TWIPS(val.to_number()));
+               m.m_[1][2] = 
infinite_to_fzero(PIXELS_TO_TWIPS(val.to_number()));
                this->set_matrix(m);
                return;
        }

Index: edit_text_character.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/edit_text_character.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- edit_text_character.cpp     26 Aug 2006 17:58:24 -0000      1.10
+++ edit_text_character.cpp     27 Aug 2006 18:30:38 -0000      1.11
@@ -287,7 +287,7 @@
                //else if (name == "_x")
        {
                matrix  m = get_matrix();
-               m.m_[0][2] = (float) PIXELS_TO_TWIPS(val.to_number());
+               m.m_[0][2] = 
infinite_to_fzero(PIXELS_TO_TWIPS(val.to_number()));       
                set_matrix(m);
 
                // m_accept_anim_moves = false;
@@ -298,7 +298,7 @@
                //else if (name == "_y")
        {
                matrix  m = get_matrix();
-               m.m_[1][2] = (float) PIXELS_TO_TWIPS(val.to_number());
+               m.m_[1][2] = 
infinite_to_fzero(PIXELS_TO_TWIPS(val.to_number()));
                set_matrix(m);
 
                // m_accept_anim_moves = false;
@@ -317,7 +317,7 @@
                // @@ TODO this should be generic to class character!
                // Arg is in percent.
                cxform  cx = get_cxform();
-               cx.m_[3][0] = fclamp(float(val.to_number()) / 100.f, 0, 1);
+               cx.m_[3][0] = fclamp(infinite_to_fzero(val.to_number()) / 
100.f, 0, 1);
                set_cxform(cx);
                return;
        }

Index: sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -b -r1.45 -r1.46
--- sprite_instance.cpp 26 Aug 2006 18:32:58 -0000      1.45
+++ sprite_instance.cpp 27 Aug 2006 18:30:38 -0000      1.46
@@ -903,7 +903,7 @@
                    //if (name == "_x")
                {
                    matrix      m = get_matrix();
-                   m.m_[0][2] = (float) PIXELS_TO_TWIPS(val.to_number());
+                   m.m_[0][2] = 
infinite_to_fzero(PIXELS_TO_TWIPS(val.to_number()));
                    set_matrix(m);
 
                    m_accept_anim_moves = false;
@@ -914,7 +914,7 @@
                    //else if (name == "_y")
                {
                    matrix      m = get_matrix();
-                   m.m_[1][2] = (float) PIXELS_TO_TWIPS(val.to_number());
+                   m.m_[1][2] = 
infinite_to_fzero(PIXELS_TO_TWIPS(val.to_number()));
                    set_matrix(m);
 
                    m_accept_anim_moves = false;
@@ -1006,7 +1006,7 @@
                {
                    // Set alpha modulate, in percent.
                    cxform      cx = get_cxform();
-                   cx.m_[3][0] = float(val.to_number()) / 100.f;
+                   cx.m_[3][0] = infinite_to_fzero(val.to_number()) / 100.f;
                    set_cxform(cx);
                    m_accept_anim_moves = false;
                    return;
@@ -1023,7 +1023,7 @@
                {
                    // @@ tulrich: is parameter in world-coords or local-coords?
                    matrix      m = get_matrix();
-                   m.m_[0][0] = float(PIXELS_TO_TWIPS(val.to_number()));
+                   m.m_[0][0] = 
infinite_to_fzero(PIXELS_TO_TWIPS(val.to_number()));
                    float w = get_width();
                    if (fabsf(w) > 1e-6f)
                        {
@@ -1038,7 +1038,7 @@
                {
                    // @@ tulrich: is parameter in world-coords or local-coords?
                    matrix      m = get_matrix();
-                   m.m_[1][1] = float(PIXELS_TO_TWIPS(val.to_number()));
+                   m.m_[1][1] = 
infinite_to_fzero(PIXELS_TO_TWIPS(val.to_number()));
                    float h = get_width();
                    if (fabsf(h) > 1e-6f)
                        {

Index: types.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/types.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- types.cpp   25 Aug 2006 16:05:22 -0000      1.9
+++ types.cpp   27 Aug 2006 18:30:38 -0000      1.10
@@ -90,8 +90,8 @@
        // matrix.  When transforming points, the translation
        // happens first, then our original xform.
        {
-               m_[0][2] += m_[0][0] * tx + m_[0][1] * ty;
-               m_[1][2] += m_[1][0] * tx + m_[1][1] * ty;
+               m_[0][2] += infinite_to_fzero(m_[0][0] * tx + m_[0][1] * ty);
+               m_[1][2] += infinite_to_fzero(m_[1][0] * tx + m_[1][1] * ty);
        }
 
 
@@ -100,10 +100,10 @@
        // matrix.  When transforming points, the scale
        // happens first, then our original xform.
        {
-               m_[0][0] *= scale;
-               m_[0][1] *= scale;
-               m_[1][0] *= scale;
-               m_[1][1] *= scale;
+               m_[0][0] *= infinite_to_fzero(scale);
+               m_[0][1] *= infinite_to_fzero(scale);
+               m_[1][0] *= infinite_to_fzero(scale);
+               m_[1][1] *= infinite_to_fzero(scale);
        }
 
 
@@ -125,10 +125,10 @@
        {
                float   cos_angle = cosf(angle);
                float   sin_angle = sinf(angle);
-               m_[0][0] = x_scale * cos_angle;
-               m_[0][1] = y_scale * -sin_angle;
-               m_[1][0] = x_scale * sin_angle;
-               m_[1][1] = y_scale * cos_angle;
+               m_[0][0] = infinite_to_fzero(x_scale * cos_angle);
+               m_[0][1] = infinite_to_fzero(y_scale * -sin_angle);
+               m_[1][0] = infinite_to_fzero(x_scale * sin_angle);
+               m_[1][1] = infinite_to_fzero(y_scale * cos_angle);
        }
 
 




reply via email to

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