gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/BitmapMovieInstance.cpp ...


From: Zou Lunkai
Subject: [Gnash-commit] gnash ChangeLog server/BitmapMovieInstance.cpp ...
Date: Thu, 24 Apr 2008 06:21:02 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Zou Lunkai <zoulunkai>  08/04/24 06:21:01

Modified files:
        .              : ChangeLog 
        server         : BitmapMovieInstance.cpp dlist.cpp dlist.h 
                         sprite_instance.cpp sprite_instance.h 
        testsuite/server: DisplayListTest.cpp 

Log message:
        * server/dlist.{h,cpp}: place_character(), simplify the interface, 
          drop some unnecessary args.
        * server/sprite_instance.{h,cpp}, server/BitmapMovieInstance.cpp, 
          testsuite/server/DisplayList.cpp: adopt the new interface of 
place_character().
        
        some cleanups

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6373&r2=1.6374
http://cvs.savannah.gnu.org/viewcvs/gnash/server/BitmapMovieInstance.cpp?cvsroot=gnash&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/gnash/server/dlist.cpp?cvsroot=gnash&r1=1.117&r2=1.118
http://cvs.savannah.gnu.org/viewcvs/gnash/server/dlist.h?cvsroot=gnash&r1=1.65&r2=1.66
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.511&r2=1.512
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.h?cvsroot=gnash&r1=1.183&r2=1.184
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/server/DisplayListTest.cpp?cvsroot=gnash&r1=1.11&r2=1.12

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6373
retrieving revision 1.6374
diff -u -b -r1.6373 -r1.6374
--- ChangeLog   23 Apr 2008 20:35:37 -0000      1.6373
+++ ChangeLog   24 Apr 2008 06:20:59 -0000      1.6374
@@ -1,3 +1,10 @@
+2008-04-24 Zou Lunkai <address@hidden>
+
+       * server/dlist.{h,cpp}: place_character(), simplify the interface, 
+         drop some unnecessary args.
+       * server/sprite_instance.{h,cpp}, server/BitmapMovieInstance.cpp, 
+         testsuite/server/DisplayList.cpp: adopt the new interface of 
place_character().
+
 2008-04-23 Sandro Santilli <address@hidden>
 
        * server/asobj/Stage.h: make notifyResize a public method.

Index: server/BitmapMovieInstance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/BitmapMovieInstance.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- server/BitmapMovieInstance.cpp      19 Feb 2008 19:20:51 -0000      1.14
+++ server/BitmapMovieInstance.cpp      24 Apr 2008 06:21:00 -0000      1.15
@@ -34,19 +34,18 @@
        :
        movie_instance(def, parent)
 {
-       matrix mat;
-       //mat.concatenate_scale(20.0);
-  
        // We need to assign a character id to the instance, or an assertion
        // will fail in character.cpp (parent==NULL || id != -1)
        character_def* chdef = def->get_character_def(1); 
        assert(chdef);
        boost::intrusive_ptr<character> ch = 
chdef->create_character_instance(this, 1);
-       //log_debug("Created char in BitmapMovieInstance is a %s", 
typeid(*ch).name());
+       
        int depth = 1+character::staticDepthOffset;
-       int clip_depth = character::noClipDepthValue;
-       place_character(ch.get(), depth, cxform(), mat, 1, clip_depth);
+       // TODO: check why should we set ratio to 1 here instead of default 0?
+       ch->set_ratio(1);
+       place_character(ch.get(), depth);
 }
 
 
 } // namespace gnash
+

Index: server/dlist.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/dlist.cpp,v
retrieving revision 1.117
retrieving revision 1.118
diff -u -b -r1.117 -r1.118
--- server/dlist.cpp    21 Apr 2008 11:27:43 -0000      1.117
+++ server/dlist.cpp    24 Apr 2008 06:21:00 -0000      1.118
@@ -173,29 +173,12 @@
   else return it->get();
 }
 
-
 void
-DisplayList::place_character(
-  character* ch, 
-  int depth,
-  const cxform& color_xform, 
-  const matrix& mat, 
-  int ratio,
-  int clip_depth)
+DisplayList::place_character(character* ch, int depth)
 {
-//  GNASH_REPORT_FUNCTION;
-  //log_debug(_("dl::add(%d, '%s')"), depth, ch->get_name());
-
-  //log_debug(_("Before adding, list is:"));
-  //dump();
-
   assert(!ch->isUnloaded());
   ch->set_invalidated();
   ch->set_depth(depth);
-  ch->set_cxform(color_xform);
-  ch->set_matrix(mat);
-  ch->set_ratio(ratio);
-  ch->set_clip_depth(clip_depth);
 
   container_type::iterator it = std::find_if(
       _charsByDepth.begin(), _charsByDepth.end(),
@@ -203,15 +186,11 @@
 
   if ( it == _charsByDepth.end() || (*it)->get_depth() != depth )
   {
-    //log_debug(_("place_character: new character at depth %d"), depth);
-    
     // add the new char
     _charsByDepth.insert(it, DisplayItem(ch));
   }
   else
   {
-    //log_debug(_("place_character: replacing existing character at depth 
%d"), depth);
-    
     // remember bounds of old char
     InvalidatedRanges old_ranges; 
     (*it)->add_invalidated_bounds(old_ranges, true);  

Index: server/dlist.h
===================================================================
RCS file: /sources/gnash/gnash/server/dlist.h,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -b -r1.65 -r1.66
--- server/dlist.h      22 Apr 2008 12:58:03 -0000      1.65
+++ server/dlist.h      24 Apr 2008 06:21:00 -0000      1.66
@@ -87,7 +87,7 @@
        friend std::ostream& operator<< (std::ostream&, const DisplayList&);
 
        /// \brief
-       /// Place a new character in this display list
+       /// Place a new character at the specified depth depth,
        /// replacing any other char at the same depth.
        //
        /// If a character is replaced, it's unload() method
@@ -104,29 +104,8 @@
        ///     depth to be assign to the character
        ///     using character::set_depth
        ///
-       /// @param color_xform
-       ///     Color transform to be applied to the character
-       ///     using character::set_cxform
-       ///
-       /// @param mat
-       ///     matrix to be assigned to the character
-       ///     using character::set_matrix
-       ///
-       /// @param ratio
-       ///     ratio (scale?) to be assigned to the character
-       ///     using character::set_ratio
-       ///
-       /// @param clip_depth
-       ///     clip_depth (?) to be assigned to the character
-       ///     using character::set_clip_depth
-       ///
-       void    place_character(
-               character* ch,
-               int depth,
-               const cxform& color_xform,
-               const matrix& mat,
-               int ratio,
-               int clip_depth);
+       void    place_character(character* ch, int depth);
+
 
        /// \brief
        /// Puts a new character at the specified depth, replacing any

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.511
retrieving revision 1.512
diff -u -b -r1.511 -r1.512
--- server/sprite_instance.cpp  23 Apr 2008 07:24:10 -0000      1.511
+++ server/sprite_instance.cpp  24 Apr 2008 06:21:00 -0000      1.512
@@ -2462,9 +2462,6 @@
 
 character* sprite_instance::add_empty_movieclip(const char* name, int depth)
 {
-  cxform color_transform;
-  matrix matrix;
-
   // empty_sprite_def will be deleted during deliting sprite
   sprite_definition* empty_sprite_def = new 
sprite_definition(get_movie_definition(), NULL);
 
@@ -2476,13 +2473,7 @@
   //       an existing one !
   set_invalidated(); 
 
-  m_display_list.place_character(
-    sprite,
-    depth,
-    color_transform,
-    matrix,
-    0,
-    character::noClipDepthValue); 
+  m_display_list.place_character(sprite, depth);   
 
   return sprite;
 }
@@ -2515,14 +2506,9 @@
       infinite_to_fzero(PIXELS_TO_TWIPS(x)),
       infinite_to_fzero(PIXELS_TO_TWIPS(y)));
 
+  txt_char->set_matrix(txt_matrix);  
   // Here we add the character to the displayList.
-  m_display_list.place_character(
-    txt_char.get(),
-    depth,
-    cxform(),
-    txt_matrix,
-    0,
-    character::noClipDepthValue);
+  m_display_list.place_character(txt_char.get(), depth); 
 
   return txt_char;
 }
@@ -2560,13 +2546,12 @@
   // Copy drawable
   newsprite->_drawable = new DynamicShape(*_drawable);
 
-  parent->m_display_list.place_character(
-    newsprite.get(),
-    depth,
-    get_cxform(),
-    get_matrix(),
-    get_ratio(),
-    get_clip_depth());
+  newsprite->set_cxform(get_cxform());  
+  newsprite->set_matrix(get_matrix());  
+  newsprite->set_ratio(get_ratio());  
+  newsprite->set_clip_depth(get_clip_depth());  
+  
+  parent->m_display_list.place_character(newsprite.get(), depth);
   
   return newsprite;
 }
@@ -3178,14 +3163,9 @@
 sprite_instance::attachCharacter(character& newch, int depth)
 {
 
-  // place_character() will set depth on newch
-  m_display_list.place_character(
-    &newch,
-    depth,
-    cxform(),
-    matrix(),
-    65535,
-    character::noClipDepthValue);
+       // TODO: check why should we set ratio to 65535 here instead of default 
0.  
+       newch.set_ratio(65536);  
+       m_display_list.place_character(&newch, depth);  
 
   return true; // FIXME: check return from place_character above ?
 }
@@ -3235,13 +3215,13 @@
             ch->add_event_handler(ev->event(), ev->action());
         }
 
-        dlist.place_character(
-            ch.get(),
-            tag->getDepth(),
-            tag->getCxform(),
-            tag->getMatrix(),
-            tag->getRatio(),
-            tag->getClipDepth());
+               // TODO: check if we should check those has_xxx flags first.
+               ch->set_cxform(tag->getCxform());
+               ch->set_matrix(tag->getMatrix());
+               ch->set_ratio(tag->getRatio());
+               ch->set_clip_depth(tag->getClipDepth());
+               
+               dlist.place_character(ch.get(), tag->getDepth());
 
         return ch.get();
   }

Index: server/sprite_instance.h
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.h,v
retrieving revision 1.183
retrieving revision 1.184
diff -u -b -r1.183 -r1.184
--- server/sprite_instance.h    24 Apr 2008 01:19:13 -0000      1.183
+++ server/sprite_instance.h    24 Apr 2008 06:21:01 -0000      1.184
@@ -980,11 +980,9 @@
 
 protected:
 
-       void place_character(character* ch, int depth,
-                       const cxform& color_transform, const matrix& mat,
-                       int ratio, int clip_depth)
+       void place_character(character* ch, int depth)  
        {
-               m_display_list.place_character(ch, depth, color_transform, mat, 
ratio, clip_depth);
+               m_display_list.place_character(ch, depth);      
        }
 
        /// Execute the tags associated with the specified frame.

Index: testsuite/server/DisplayListTest.cpp
===================================================================
RCS file: /sources/gnash/gnash/testsuite/server/DisplayListTest.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- testsuite/server/DisplayListTest.cpp        21 Jan 2008 23:26:53 -0000      
1.11
+++ testsuite/server/DisplayListTest.cpp        24 Apr 2008 06:21:01 -0000      
1.12
@@ -74,13 +74,13 @@
        boost::intrusive_ptr<character> ch1 ( new DummyCharacter(root) );
        boost::intrusive_ptr<character> ch2 ( new DummyCharacter(root) );
 
-       dlist1.place_character( ch1.get(), 1, color, mat, 0, 0);
-       dlist1.place_character( ch2.get(), 2, color, mat, 0, 0);
+       dlist1.place_character( ch1.get(), 1);
+       dlist1.place_character( ch2.get(), 2);
 
        check(dlist1 != dlist2);
 
-       dlist2.place_character( ch2.get(), 1, color, mat, 0, 0);
-       dlist2.place_character( ch1.get(), 2, color, mat, 0, 0);
+       dlist2.place_character( ch2.get(), 1);
+       dlist2.place_character( ch1.get(), 2);
 
        // Resort dlist1 as depth of it's chars has been changed
        // by place_character calls above :/




reply via email to

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