gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/character.cpp server/cha...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/character.cpp server/cha...
Date: Fri, 04 Apr 2008 10:51:54 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  08/04/04 10:51:54

Modified files:
        .              : ChangeLog 
        server         : character.cpp character.h sprite_instance.cpp 
                         sprite_instance.h 

Log message:
        have getMovieInfo return an iterator to the added subtree,
        implement it for sprite_instance, to descend in displaylist.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6177&r2=1.6178
http://cvs.savannah.gnu.org/viewcvs/gnash/server/character.cpp?cvsroot=gnash&r1=1.85&r2=1.86
http://cvs.savannah.gnu.org/viewcvs/gnash/server/character.h?cvsroot=gnash&r1=1.134&r2=1.135
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.496&r2=1.497
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.h?cvsroot=gnash&r1=1.176&r2=1.177

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6177
retrieving revision 1.6178
diff -u -b -r1.6177 -r1.6178
--- ChangeLog   4 Apr 2008 10:39:08 -0000       1.6177
+++ ChangeLog   4 Apr 2008 10:51:53 -0000       1.6178
@@ -1,5 +1,9 @@
 2008-04-04 Sandro Santilli <address@hidden>
 
+       * server/character.{cpp,h}: have getMovieInfo return an iterator
+         to the added subtree.
+       * server/sprite_instance.{cpp,h}: implement getMovieInfo descending
+         in displaylist.
        * gui/gtk.cpp (makeTreeModel): fix model constructor when
          jumping back to ancestor nodes at depth !+ current-1.
 

Index: server/character.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/character.cpp,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -b -r1.85 -r1.86
--- server/character.cpp        3 Apr 2008 14:24:01 -0000       1.85
+++ server/character.cpp        4 Apr 2008 10:51:54 -0000       1.86
@@ -1001,15 +1001,14 @@
 }
 
 #ifdef USE_MENUS
-void
-character::getMovieInfo(tree<StringPair>& tr, tree<StringPair>::iterator it)
+character::InfoTree::iterator
+character::getMovieInfo(InfoTree& tr, InfoTree::iterator it)
 {
        const std::string yes = _("yes");
        const std::string no = _("no");
 
        it = tr.append_child(it, StringPair(getTarget(), typeName(*this)));
 
-
        std::ostringstream os;
        os << get_depth();
        tr.append_child(it, StringPair(_("Depth"), os.str()));
@@ -1040,6 +1039,8 @@
        tr.append_child(it, StringPair(_("Mask"), isMaskLayer() ? yes : no));   
    
        tr.append_child(it, StringPair(_("Destroyed"), isDestroyed() ? yes : 
no));
        tr.append_child(it, StringPair(_("Unloaded"), isUnloaded() ? yes : no));
+
+       return it;
 }
 #endif
 

Index: server/character.h
===================================================================
RCS file: /sources/gnash/gnash/server/character.h,v
retrieving revision 1.134
retrieving revision 1.135
diff -u -b -r1.134 -r1.135
--- server/character.h  3 Apr 2008 14:24:01 -0000       1.134
+++ server/character.h  4 Apr 2008 10:51:54 -0000       1.135
@@ -70,6 +70,7 @@
   typedef std::vector<const action_buffer*> BufferList;
   typedef std::map<event_id, BufferList> Events;
   typedef std::pair<std::string, std::string> StringPair; // ifdef USE_MENU...
+  typedef tree<StringPair> InfoTree; // ifdef USE_MENU
 
 private:
 
@@ -1175,7 +1176,10 @@
   /// @param it
   /// The iterator to append info to.
   ///
-  virtual void getMovieInfo(tree<StringPair>& tr, tree<StringPair>::iterator 
it);
+  /// @return iterator the appended subtree
+  ///
+  // TODO: use a typedef for tree<StringPair> ?
+  virtual InfoTree::iterator getMovieInfo(InfoTree& tr, InfoTree::iterator it);
 #endif
 
 };

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.496
retrieving revision 1.497
diff -u -b -r1.496 -r1.497
--- server/sprite_instance.cpp  3 Apr 2008 14:24:01 -0000       1.496
+++ server/sprite_instance.cpp  4 Apr 2008 10:51:54 -0000       1.497
@@ -4605,4 +4605,44 @@
        m_play_state = s;
 }
 
+#ifdef USE_MENUS
+
+class MovieInfoVisitor {
+
+  character::InfoTree& _tr;
+  character::InfoTree::iterator _it;
+
+public:
+  MovieInfoVisitor(character::InfoTree& tr, character::InfoTree::iterator it)
+    :
+    _tr(tr),
+    _it(it)
+  {}
+
+  void operator() (character* ch)
+  {
+    //if ( ch->isUnloaded() ) return; // or maybe we should stil print these..
+    ch->getMovieInfo(_tr, _it);
+  }
+};
+
+character::InfoTree::iterator 
+sprite_instance::getMovieInfo(InfoTree& tr, InfoTree::iterator it)
+{
+       InfoTree::iterator selfIt = character::getMovieInfo(tr, it);
+       std::ostringstream os;
+       os << m_display_list.size();
+       InfoTree::iterator localIter = tr.append_child(selfIt, 
StringPair(_("Childs"), os.str()));          
+       //localIter = tr.append_child(localIter, StringPair("child1", "fake"));
+       //localIter = tr.append_child(localIter, StringPair("child2", "fake"));
+
+       MovieInfoVisitor v(tr, localIter);
+       m_display_list.visitAll(v);
+
+       return selfIt;
+
+}
+
+#endif // USE_MENUS
+
 } // namespace gnash

Index: server/sprite_instance.h
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.h,v
retrieving revision 1.176
retrieving revision 1.177
diff -u -b -r1.176 -r1.177
--- server/sprite_instance.h    3 Apr 2008 14:24:02 -0000       1.176
+++ server/sprite_instance.h    4 Apr 2008 10:51:54 -0000       1.177
@@ -879,6 +879,11 @@
        /// Getter-setter for MovieClip._lockroot
        static as_value lockroot_getset(const fn_call& fn);
 
+#ifdef USE_MENUS
+       // Override to append display list info, see dox in character.h
+       virtual InfoTree::iterator getMovieInfo(InfoTree& tr, 
InfoTree::iterator it);
+#endif
+
 private:
 
        void stopStreamSound();




reply via email to

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