OSDN Git Service

Version 0.6.94, new X.Callback is fast & light maybe.
[pettanr/clientJs.git] / 0.6.x / js / 01_core / 14_XTimer.js
index 0ab0bd4..0725037 100644 (file)
@@ -83,7 +83,7 @@ X.Timer = {
                        opt_count = 0;\r
                };\r
                \r
-               hash = X.Callback._classifyCallbackArgs( args1, args2, args3 );\r
+               hash = X_Callback_classifyCallbackArgs( args1, args2, args3 );\r
                if( !hash ) return -1; // dev only\r
                \r
                if( !hash.k ) hash = { f : hash };\r
@@ -127,14 +127,14 @@ X.Timer = {
                        var i = X_Timer_REQ_FRAME_LIST.length,\r
                                f;\r
                        i === 0 && ( X_Timer_requestID = X_Timer_REQ_ANIME_FRAME( X_Timer_onEnterFrame ) );\r
-                       f = X_Timer_REQ_FRAME_LIST[ i ] = X.Callback._classifyCallbackArgs( args1, args2, args3 );\r
+                       f = X_Timer_REQ_FRAME_LIST[ i ] = X_Callback_classifyCallbackArgs( args1, args2, args3 );\r
                        return f.uid = ++X_Timer_uid;\r
                }) :\r
                (function( args1, args2, args3 ){\r
                        var i = X_Timer_REQ_FRAME_LIST.length,\r
                                f;\r
                        i === 0 && ( X_Timer_requestID = X.Timer.add( 0, 1, X_Timer_onEnterFrame ) );\r
-                       f = X_Timer_REQ_FRAME_LIST[ i ] = X.Callback._classifyCallbackArgs( args1, args2, args3 );\r
+                       f = X_Timer_REQ_FRAME_LIST[ i ] = X_Callback_classifyCallbackArgs( args1, args2, args3 );\r
                        return f.uid = ++X_Timer_uid;\r
                }),\r
        \r
@@ -217,8 +217,8 @@ function X_Timer_onTimeout(){
                c = q.count;\r
                \r
                if( q.k ){\r
-                       q.a = [];\r
-                       r = X.Callback._proxyCallback( q );\r
+                       //q.a = [];\r
+                       r = X_Callback_proxyCallback( q, [] );\r
                } else {\r
                        r = q.f();\r
                };\r
@@ -231,7 +231,7 @@ function X_Timer_onTimeout(){
                        heavy = true;\r
                };\r
                \r
-               if( r & X.Callback.UN_LISTEN || c === 1 ){\r
+               if( r & X_Callback_UN_LISTEN || c === 1 ){\r
                        list.splice( i, 1 );\r
                        --i;\r
                        --l;\r
@@ -291,7 +291,7 @@ if( X.UA.iOS ){
 function X_Timer_onEnterFrame( time ){\r
        var list = X_Timer_REQ_FRAME_LIST,\r
                l    = list.length,\r
-               i    = 0, q, uid;\r
+               i    = 0, q, uid, args;\r
 \r
        time = time || X.getTime();\r
        X_Timer_busyOnFrame = true;\r
@@ -302,8 +302,7 @@ function X_Timer_onEnterFrame( time ){
        if( X_Timer_removal && X_Timer_removal[ q.uid ] ) continue;\r
        \r
                if( q.k ){\r
-                       q.a = [ time ];\r
-                       X.Callback._proxyCallback( q );\r
+                       X_Callback_proxyCallback( q, args || ( args = [ time ] ) );\r
                } else {\r
                        q( time );\r
                };\r