OSDN Git Service

Version 0.6.153, fix layout @X.UI.
[pettanr/clientJs.git] / 0.6.x / js / 02_dom / 02_XNode.js
index c0bb170..185074d 100644 (file)
@@ -68,7 +68,7 @@ var   X_Node_BITMASK_RESET_STYLE  = ( ( 2 << 29 ) - 1 + ( 2 << 29 ) ) ^ (
        \r
        X_Node_BitMask_IE4_IS_MIX   = X_Node_State.IE4_HAS_TEXTNODE | X_Node_State.IE4_HAS_ELEMENT,\r
        \r
-       /** @enum {number} */\r
+       /* @enum {number} */\r
        X_Node_TYPE = {\r
                XNODE       : 1,\r
                RAW_HTML    : 2,\r
@@ -580,8 +580,9 @@ function X_Node_clone( opt_clone_children ){
  * @alias Node.prototype.append\r
  * @param {Node|string|HTMLElement|TextNode} [v] HTMLElement と TextNode は内部のみ。\r
  * @return {Node} 自身。チェインメソッド\r
- * @example myNode.append( node );\r
- * myNode.append( nodeSprite, '<div>A</div>', 'B' );\r
+ * @example //\r
+ * myNode.append( node );\r
+ * myNode.append( node, '&lt;span&gt;Hello,&lt;/span&gt;', 'world.' );\r
  */\r
 function X_Node_append( v ){\r
        var i, l, xnodes, frg;\r
@@ -1195,31 +1196,25 @@ function X_Node_text( text ){
 function X_Node_call( name /*, opt_args... */ ){\r
        var l = arguments.length - 1,\r
                raw, func, args, params, i;\r
-               \r
-       X_Node_updateTimerID && X_Node_startUpdate();\r
-       \r
+\r
        switch( name ){\r
                case 'nodeType' :\r
                        return this[ '_tag' ] ? 1 : 3;\r
-               case 'text' :\r
-                       return this[ 'text' ]();\r
-               case 'html' :\r
-               case 'innerHTML' :\r
-                       return this[ 'html' ]();\r
                case 'outerHTML' :\r
                        X_Node_outerXNode = X_Node_body; // == true ならなんでもよい。型を合わすために xbody にしている\r
                        v = this[ 'html' ]();\r
                        X_Node_outerXNode = null;\r
                        return v;\r
+               case 'treeIsDirty' :\r
+                       return !!X_Node_updateTimerID;\r
                case 'fontSize' :\r
                        return X_Node_CSS_getCharSize( this );\r
-               case 'GPU' :\r
-                       return this[ '_flags' ] & X_Node_State.GPU_NOW ? 'NOW' :\r
-                               this[ '_flags' ] & X_Node_State.GPU_RELEASE_RESERVED ? '解除予約' : '';\r
                case 'inGPU' :\r
                        return !!( this[ '_flags' ] & ( X_Node_State.GPU_NOW | X_Node_State.GPU_RELEASE_RESERVED ) );\r
        };\r
        \r
+       X_Node_updateTimerID && X_Node_startUpdate();\r
+       \r
        raw  = this[ '_rawObject' ] || X_UA_DOM.IE4 && X_Node__ie4getRawNode( this );\r
        if( !raw ) return;\r
        \r
@@ -1330,6 +1325,8 @@ function X_Node_startUpdate( time ){
        if( time ){\r
                // X.Timer 経由でないと発火しない このイベントでサイズを取ると無限ループに\r
                X_System[ '_listeners' ] && X_System[ '_listeners' ][ X_EVENT_UPDATED ] && X_System[ 'dispatch' ]( X_EVENT_UPDATED );   \r
+       } else {\r
+               X_System[ '_listeners' ] && X_System[ '_listeners' ][ X_EVENT_UPDATED ] && X_System[ 'asyncDispatch' ]( X_EVENT_UPDATED );\r
        };\r
        \r
        X_ViewPort[ '_listeners' ] && X_ViewPort[ '_listeners' ][ X_EVENT_AFTER_UPDATE ] && X_ViewPort[ 'asyncDispatch' ]( X_EVENT_AFTER_UPDATE );\r