X_UI_eventBusy = false;
function X_UI_eventRellay( e ){
- var font = X.ViewPort.getBaseFontSize(),
+ var font = X[ 'ViewPort' ][ 'getBaseFontSize' ](),
x = e.clientX / font,
y = e.clientY / font,
type = X.UI.Event.NameToID[ e.type ],
};
if( parent !== X_UI_rootData ){
data.hoverClassName && data.xnode[ 'removeClass' ]( data.hoverClassName );
- data._listeners && data._listeners[ X.UI.Event.POINTER_OUT ] && data[ 'dispatch' ]( e, X.UI.Event.POINTER_OUT, false ); // new Event
+ data[ '_listeners' ] && data[ '_listeners' ][ X.UI.Event.POINTER_OUT ] && data[ 'dispatch' ]( e, X.UI.Event.POINTER_OUT, false ); // new Event
delete data.hovering;
list.splice( i, 1 );
continue;
};
if( !data.hovering ){
data.hoverClassName && data.xnode.addClassName( data.hoverClassName );
- data._listeners && data._listeners[ X.UI.Event.POINTER_IN ] && data[ 'dispatch' ]( e, X.UI.Event.POINTER_IN, true ); // new Event
+ data[ '_listeners' ] && data[ '_listeners' ][ X.UI.Event.POINTER_IN ] && data[ 'dispatch' ]( e, X.UI.Event.POINTER_IN, true ); // new Event
data.hovering = true;
};
};
X.UI._PageRoot = X.UI._Box.inherits(
'_PageRoot',
- X.Class.FINAL | X.Class.PRIVATE_DATA | X.Class.SUPER_ACCESS,
+ X_Class.FINAL | X_Class.PRIVATE_DATA | X_Class.SUPER_ACCESS,
{
layout : X.UI.Layout.Canvas,
} );
// hover や rollover rollout のための move イベントの追加
- this.xnodeInteractiveLayer[ 'listen' ]( X.UI.Event.IdToName[ X.UI.Event._POINTER_MOVE ], X_UI_eventRellay );
+ this.xnodeInteractiveLayer[ '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,