gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] /srv/bzr/gnash/trunk r9655: some missing unimplemented me


From: Sandro Santilli
Subject: [Gnash-commit] /srv/bzr/gnash/trunk r9655: some missing unimplemented messages and args marshalling optimization
Date: Mon, 01 Sep 2008 13:06:38 +0200
User-agent: Bazaar (1.5)

------------------------------------------------------------
revno: 9655
committer: Sandro Santilli <address@hidden>
branch nick: trunk
timestamp: Mon 2008-09-01 13:06:38 +0200
message:
  some missing unimplemented messages and args marshalling optimization
modified:
  libcore/swf/PlaceObject2Tag.cpp
  libcore/vm/ASHandlers.cpp
    ------------------------------------------------------------
    revno: 9649.1.1
    committer: Sandro Santilli <address@hidden>
    branch nick: mybranch
    timestamp: Sat 2008-08-30 11:06:44 +0200
    message:
      ensure to allocate only once for args container
    modified:
      libcore/vm/ASHandlers.cpp
    ------------------------------------------------------------
    revno: 9649.1.2
    committer: Sandro Santilli <address@hidden>
    branch nick: mybranch
    timestamp: Sat 2008-08-30 11:44:45 +0200
    message:
      log unimplemented for blend modes, bitmap filters and bitmap caching
    modified:
      libcore/swf/PlaceObject2Tag.cpp
=== modified file 'libcore/swf/PlaceObject2Tag.cpp'
--- a/libcore/swf/PlaceObject2Tag.cpp   2008-08-26 13:30:20 +0000
+++ b/libcore/swf/PlaceObject2Tag.cpp   2008-08-30 09:44:45 +0000
@@ -411,12 +411,32 @@
     {
         Filters v; // TODO: Attach the filters to the display object.
         filter_factory::read(in, true, &v);
+       // at time of writing no renderer supports bitmap filters
+       LOG_ONCE( log_unimpl("Bitmap filters") );
     }
 
     if ( hasBlendMode() )
     {
         in.ensureBytes(1);
         blend_mode = in.read_u8();
+       // 0 or 1 : normal
+       // 2 : layer
+       // 3 : multiply
+       // 4 : screen
+       // 5 : lighten
+       // 6 : darken
+       // 7 : add
+       // 8 : subtract
+       // 9 : difference
+       // 10 : invert
+       // 11 : alpha
+       // 12 : erase
+       // 13 : overlay
+       // 14 : hardlight
+       // 15 to 255 reserved   
+       //
+       // at time of writing no renderer supports blend modes
+       LOG_ONCE( log_unimpl("Blend mode") );
     }
 
     if ( hasBitmapCaching() )
@@ -425,6 +445,8 @@
         // is broken, it is probably here!
         in.ensureBytes(1);
         bitmask = in.read_u8();
+       // at time of writing no renderer supports bitmap caching 
+       LOG_ONCE( log_unimpl("Bitmap caching") );
     }
 
     if ( hasClipActions() )

=== modified file 'libcore/vm/ASHandlers.cpp'
--- a/libcore/vm/ASHandlers.cpp 2008-09-01 06:54:05 +0000
+++ b/libcore/vm/ASHandlers.cpp 2008-09-01 11:06:38 +0000
@@ -102,8 +102,8 @@
 {
     assert(ctor_as_func);
     std::auto_ptr< std::vector<as_value> > args (new std::vector<as_value> );
-    for (unsigned int i=0; i<nargs; ++i)
-        args->push_back(env.pop());
+    args->reserve(nargs);
+    for (unsigned int i=0; i<nargs; ++i) args->push_back(env.pop());
     return ctor_as_func->constructInstance(env, args);
 }
 
@@ -2795,8 +2795,8 @@
 #endif
 
     std::auto_ptr< std::vector<as_value> > args ( new std::vector<as_value> );
-    for (size_t i=0; i<nargs; ++i)
-        args->push_back(env.pop()); // TODO: drop !
+    args->reserve(nargs);
+    for (int i=0; i<nargs; ++i) args->push_back(env.pop()); 
 
     //log_debug("ActionCallFunction calling call_method with %p as this_ptr", 
this_ptr);
     as_value result = call_method(function, &env, this_ptr,
@@ -3451,8 +3451,8 @@
 #endif
 
     std::auto_ptr< std::vector<as_value> > args ( new std::vector<as_value> );
-    for (size_t i=0; i<nargs; ++i)
-        args->push_back(env.pop()); // TODO: drop !
+    args->reserve(nargs);
+    for (int i=0; i<nargs; ++i) args->push_back(env.pop()); 
 
     as_value result = call_method(method_val, &env, this_ptr, 
             args, super);


reply via email to

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