function X_UI_onMouseOut( e ){
var list = XUI_UINODES_HOVER,
- i = list.length;
+ i = list.length, data;
console.log( 'pointer out!!' + e.type + i + ' ' + e.pointerType );
e = X_Object_copy( e );
size, font, w, h;
if( ( this[ 'dispatch' ]( { type : XUI_Event.LAYOUT_BEFORE, 'cancelable' : cancelable } ) & X_CALLBACK_PREVENT_DEFAULT ) && cancelable ){
+ console.log( 'Layout のキャンセル' );
return X_CALLBACK_NONE;
};
+ console.log( 'レイアウト開始' );
+
XUI_mousemoveFix && XUI_mousemoveFixResetScroll();
size = X[ 'ViewPort' ][ 'getSize' ]();
this.updateLayout();
this.calcReserved = false;
-
- X_ViewPort[ 'listenOnce' ]( X_EVENT_AFTER_UPDATE, this, XUI_Root_onViewUpdate );
-
+
+ // size を測りながらレイアウトする結果、アップデートがない場合がある
+ if( X_Node_updateTimerID ){
+ X_ViewPort[ 'listenOnce' ]( X_EVENT_AFTER_UPDATE, this, XUI_Root_onViewUpdate );
+ } else {
+ this[ 'asyncDispatch' ]( XUI_Event.LAYOUT_COMPLETE );
+ };
+
return X_CALLBACK_NONE;
},
updateCoursor : function( cursor ){
- },
-
- _remove : function(){
- X_EventDispatcher_unlistenAll( XUI_xnodeInteractionOverlay );
- _Box.prototype._remove.call( this );
}
}
);
};
function XUI_Root_onViewUpdate( e ){
+ console.log( 'レイアウト完了' );
this[ 'dispatch' ]( XUI_Event.LAYOUT_COMPLETE );
};