X_UI_eventBusy = false;
function X_UI_eventRellay( e ){
- var font = X.ViewPort.getBaseFontSize(),
+ var font = X_ViewPort_baseFontSize,
x = e.clientX / font,
y = e.clientY / font,
type = X.UI.Event.NameToID[ e.type ],
} );
// hover や rollover rollout のための move イベントの追加
- this.xnodeInteractiveLayer[ 'listen' ]( X.UI.Event.IdToName[ X.UI.Event._POINTER_MOVE ], X_UI_eventRellay );
+ ( X.UA.IE < 9 ? X_ViewPort_document : X_ViewPort )[ 'listen' ]( 'pointermove', X_UI_eventRellay );
if( counter[ X.UI.Event._POINTER_MOVE ] ){
++counter[ X.UI.Event._POINTER_MOVE ];
} else {
};
},
calculate : function( e ){
- var size = X.ViewPort.getSize(),
- font = X.ViewPort.getBaseFontSize(),
- w = size[ 0 ],
- h = size[ 1 ];
- this.layout.calculate( this, false, 0, 0, w / font, h / font );
+ var size, font, w, h;
+
+ this[ 'dispatch' ]( X.UI.Event.LAYOUT_BEFORE );
+
+ size = X[ 'ViewPort' ][ 'getSize' ]();
+ font = X[ 'ViewPort' ][ 'getBaseFontSize' ]();
+ this.layout.calculate( this, false, 0, 0, size[ 0 ] / font, size[ 1 ] / font );
this.calcReserved = false;
+
+ X_ViewPort[ 'listenOnce' ]( X_EVENT_AFTER_UPDATE, this, XUI_PageRoot_onViewUpdate );
},
updateCoursor : function( cursor ){
},
_remove : function(){
- this.xnodeInteractiveLayer[ 'unlisten' ]();
+ X_EventDispatcher_unlistenAll( this.xnodeInteractiveLayer );
_Box.prototype._remove.call( this );
}
}
);
+function XUI_PageRoot_onViewUpdate( e ){
+ this[ 'dispatch' ]( X.UI.Event.LAYOUT_COMPLETE );
+};
+
X.UI.PageRoot = X.UI.Box.presets(
'PageRoot',
X.UI._PageRoot,