gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog testsuite/MovieTester.h testsui...


From: Benjamin Wolsey
Subject: [Gnash-commit] gnash ChangeLog testsuite/MovieTester.h testsui...
Date: Thu, 13 Mar 2008 11:23:17 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Benjamin Wolsey <bwy>   08/03/13 11:23:17

Modified files:
        .              : ChangeLog 
        testsuite      : MovieTester.h MovieTester.cpp 
        server/asobj   : Stage.cpp 
        testsuite/actionscript.all: Stage.as 
        gui            : gui.cpp 

Log message:
                * testsuite/MovieTester.{h,cpp}: add support for resizing.
                * gui/gui.cpp: minor cleanup.
                * server/asobj/Stage.cpp: minor cleanups.
                * testsuite/actionscript.all/Stage.as: tests for 
Stage.displayState.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5894&r2=1.5895
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/MovieTester.h?cvsroot=gnash&r1=1.36&r2=1.37
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/MovieTester.cpp?cvsroot=gnash&r1=1.68&r2=1.69
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Stage.cpp?cvsroot=gnash&r1=1.33&r2=1.34
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/Stage.as?cvsroot=gnash&r1=1.21&r2=1.22
http://cvs.savannah.gnu.org/viewcvs/gnash/gui/gui.cpp?cvsroot=gnash&r1=1.139&r2=1.140

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5894
retrieving revision 1.5895
diff -u -b -r1.5894 -r1.5895
--- ChangeLog   13 Mar 2008 08:44:02 -0000      1.5894
+++ ChangeLog   13 Mar 2008 11:23:15 -0000      1.5895
@@ -1,3 +1,10 @@
+2008-03-13 Benjamin Wolsey <address@hidden>
+
+       * testsuite/MovieTester.{h,cpp}: add support for resizing.
+       * gui/gui.cpp: minor cleanup.
+       * server/asobj/Stage.cpp: minor cleanups.
+       * testsuite/actionscript.all/Stage.as: tests for Stage.displayState.
+
 2008-03-13 Sandro Santilli <address@hidden>
 
        * server/as_object.cpp: implement get_text_value for as_super.

Index: testsuite/MovieTester.h
===================================================================
RCS file: /sources/gnash/gnash/testsuite/MovieTester.h,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -b -r1.36 -r1.37
--- testsuite/MovieTester.h     21 Jan 2008 23:26:49 -0000      1.36
+++ testsuite/MovieTester.h     13 Mar 2008 11:23:16 -0000      1.37
@@ -260,6 +260,12 @@
        ///
        void restart();
 
+    /// Simulate a manually resized view.
+    //
+    /// If scaleMode != noScale, the renderers are instructed
+    /// to scale the view.
+    void resizeStage(int x, int y) ; 
+
 private:
 
        /// Initialize testing renderers

Index: testsuite/MovieTester.cpp
===================================================================
RCS file: /sources/gnash/gnash/testsuite/MovieTester.cpp,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -b -r1.68 -r1.69
--- testsuite/MovieTester.cpp   22 Feb 2008 17:55:38 -0000      1.68
+++ testsuite/MovieTester.cpp   13 Mar 2008 11:23:16 -0000      1.69
@@ -243,6 +243,33 @@
 
 }
 
+void
+MovieTester::resizeStage(int x, int y)
+{
+       _movie_root->set_display_viewport(0, 0, x, y);
+
+       if (_movie_root->isRescalingAllowed() )
+       {
+
+               // set new scale value
+               float xscale = x / _movie_def->get_width_pixels();
+           float yscale = y / _movie_def->get_height_pixels();
+               
+               if (xscale < yscale) yscale = xscale;
+               if (yscale < xscale) xscale = yscale;
+
+        // Scale for all renderers.
+        for (TRenderers::const_iterator it=_testingRenderers.begin(), 
itE=_testingRenderers.end();
+                               it != itE; ++it)
+        {
+            TestingRenderer& rend = *(*it);
+            render_handler& h = rend.getRenderer();
+            h.set_scale(xscale, yscale);
+        }
+       }
+
+}
+
 const character*
 MovieTester::findDisplayItemByName(const sprite_instance& mc,
                const std::string& name) 

Index: server/asobj/Stage.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Stage.cpp,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -b -r1.33 -r1.34
--- server/asobj/Stage.cpp      12 Mar 2008 16:04:06 -0000      1.33
+++ server/asobj/Stage.cpp      13 Mar 2008 11:23:16 -0000      1.34
@@ -115,25 +115,34 @@
        callMethod(NSV::PROP_BROADCAST_MESSAGE, "onResize");
 }
 
-unsigned
+/// Expected behaviour is that the original movie size is aways returned
+/// as long as scaling is allowed.
+unsigned int
 Stage::getWidth() const
 {
+
+    movie_root& m = VM::get().getRoot();
+
     if (_scaleMode == noScale)
     {
-        return VM::get().getRoot().getWidth();    
+        return m.getWidth();    
     }
-    return (unsigned 
int)VM::get().getRoot().get_movie_definition()->get_width_pixels();
+    return static_cast<unsigned 
int>(m.get_movie_definition()->get_width_pixels());
        
 }
 
-unsigned
+unsigned int
 Stage::getHeight() const
 {
+
+    movie_root& m = VM::get().getRoot();
+
     if (_scaleMode == noScale)
     {
-        return VM::get().getRoot().getHeight();    
+        return m.getHeight();    
     }
-    return (unsigned 
int)VM::get().getRoot().get_movie_definition()->get_height_pixels();
+    return static_cast<unsigned 
int>(m.get_movie_definition()->get_height_pixels());
+
 }
 
 const char*
@@ -171,16 +180,13 @@
        if ( _scaleMode == mode ) return; // nothing to do
 
        _scaleMode = mode;
-       //log_debug("Scale mode set to %s", getScaleModeString());
 
        if ( _scaleMode == noScale )
        {
-               //log_debug("Setting rescaling allowance to false");
                VM::get().getRoot().allowRescaling(false);
        }
        else
        {
-               //log_debug("Setting rescaling allowance to true");
                VM::get().getRoot().allowRescaling(true);
        }
 }
@@ -297,7 +303,7 @@
 
        if ( fn.nargs == 0 ) // getter
        {
-               static bool warned=false;
+               static bool warned = false;
                if ( ! warned ) {
                        log_unimpl("Stage.showMenu getter");
                        warned=true;
@@ -306,7 +312,7 @@
        }
        else // setter
        {
-               static bool warned=false;
+               static bool warned = false;
                if ( ! warned ) {
                        log_unimpl("Stage.showMenu setter");
                        warned=true;

Index: testsuite/actionscript.all/Stage.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/Stage.as,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- testsuite/actionscript.all/Stage.as 12 Mar 2008 20:51:14 -0000      1.21
+++ testsuite/actionscript.all/Stage.as 13 Mar 2008 11:23:16 -0000      1.22
@@ -21,7 +21,7 @@
 // execute it like this gnash -1 -r 0 -v out.swf
 
 
-rcsid="$Id: Stage.as,v 1.21 2008/03/12 20:51:14 strk Exp $";
+rcsid="$Id: Stage.as,v 1.22 2008/03/13 11:23:16 bwy Exp $";
 #include "check.as"
 
 check_equals (typeof(Stage), 'object');
@@ -48,6 +48,10 @@
 check(Stage.hasOwnProperty("scaleMode"));
 check(Stage.hasOwnProperty("showMenu"));
 check(Stage.hasOwnProperty("align"));
+xcheck(Stage.hasOwnProperty("displayState"));
+
+
+/// Stage.align
 
 check_equals(typeof(Stage.align), "string");
 
@@ -74,6 +78,17 @@
 Stage.align = "X";
 check_equals(Stage.align, "");
 
+/// Stage.displayState
+
+xcheck_equals(typeof(Stage.displayState), "string");
+xcheck_equals(Stage.displayState, "normal");
+Stage.displayState = "fullScreen";
+check_equals(Stage.displayState, "fullScreen");
+Stage.displayState = "X";
+xcheck_equals(Stage.displayState, "fullScreen");
+Stage.displayState = "normal";
+check_equals(Stage.displayState, "normal");
+
 listener = new Object;
 listener.onResize = function() {
        _root.note("Resize event received, args to handler: 
"+arguments.length+" Stage.width="+Stage.width+", Stage.height="+Stage.height);

Index: gui/gui.cpp
===================================================================
RCS file: /sources/gnash/gnash/gui/gui.cpp,v
retrieving revision 1.139
retrieving revision 1.140
diff -u -b -r1.139 -r1.140
--- gui/gui.cpp 11 Mar 2008 16:58:23 -0000      1.139
+++ gui/gui.cpp 13 Mar 2008 11:23:16 -0000      1.140
@@ -232,9 +232,6 @@
        if ( VM::isInitialized() )
        {
 
-               float swfwidth = _movieDef->get_width_pixels();
-               float swfheight = _movieDef->get_height_pixels();
-
                if ( _stage && _started )
                {
                        _stage->set_display_viewport(0, 0, width, height);
@@ -242,6 +239,10 @@
 
                if ( _stage && _stage->isRescalingAllowed() )
                {
+
+                   float swfwidth = _movieDef->get_width_pixels();
+                   float swfheight = _movieDef->get_height_pixels();
+
                        // set new scale value
                        _xscale = width / swfwidth;
                        _yscale = height / swfheight;




reply via email to

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