2 var X_Event_Rename = {},
\r
3 X_Event_RenameTo = {},
\r
5 // TODO IFRAMEload, SCRIPTload, LINKload raw.readyState !== 'complete' && raw.readyState !== 'loaded' && this.dispatch( 'load' )
\r
8 'IFRAMEload' : function( eventDispatcher ){
\r
9 eventDispatcher[ 'listen' ]( 'readystatechange', X_Event_proxy.IFRAMEload_proxy );
\r
12 IFRAMEload_proxy : function( e ){
\r
13 var raw = this[ '_rawObject' ];
\r
15 return ( raw.readyState === 'complete' || raw.readyState === 'loaded' ) ?
\r
16 this[ 'dispatch' ]( 'load' ) : X_CALLBACK_PREVENT_DEFAULT | X_CALLBACK_STOP_PROPAGATION;
\r
20 'contextmenu' : function( eventDispatcher ){
\r
21 eventDispatcher[ 'listen' ]( 'mousedown', contextmenu_proxy );
\r
24 contextmenu_proxy : function( e ){
\r
25 return e.button === 2 ? this[ 'dispatch' ]( 'contextmenu' ) : X_CALLBACK_NONE;
\r
29 X_Event_toPointer = !X_UA_HID.POINTER && ( X_UA_HID.TOUCH ?
\r
31 'touchstart' : 'pointerdown',
\r
32 'mousedown' : 'pointerdown',
\r
33 'touchend' : 'pointerup',
\r
34 'mouseup' : 'pointerup',
\r
35 'touchmove' : 'pointermove',
\r
36 'mousemove' : 'pointermove',
\r
37 'touchcancel' : 'pointercancel',
\r
38 'contextmenu' : 'contextmenu',
\r
39 'dbclick' : 'dbclick',
\r
43 'mousedown' : 'pointerdown',
\r
44 'mouseup' : 'pointerup',
\r
45 'mousemove' : 'pointermove',
\r
46 'contextmenu' : 'contextmenu',
\r
47 'dbclick' : 'dbclick',
\r
52 X_EVENT_PRE_INIT = 5, // X_LISTENERS_KILL_RESERVED に +1 した値から開始。
\r
53 X_EVENT_XTREE_READY = 6,
\r
57 X_EVENT_XDOM_READY = 8,
\r
59 X_EVENT_COMPLETE = 9,
\r
61 X_EVENT_SUCCESS = 11,
\r
63 X_EVENT_PROGRESS = 13,
\r
64 X_EVENT_BEFORE_CANCEL = 14,
\r
65 X_EVENT_CANCELED = 15,
\r
66 X_EVENT_TIMEOUT = 16,
\r
68 X_EVENT_BEFORE_KILL_INSTANCE = 17,
\r
69 X_EVENT_KILL_INSTANCE_CANCELED = 18,
\r
70 X_EVENT_KILL_INSTANCE = 19,
\r
72 X_EVENT_VIEW_ACTIVATE = 20,
\r
73 X_EVENT_VIEW_DEACTIVATE = 21,
\r
74 X_EVENT_VIEW_RESIZED = 22,
\r
75 X_EVENT_VIEW_TURNED = 23,
\r
77 X_EVENT_BASE_FONT_RESIZED = 24,
\r
79 X_EVENT_BEFORE_UPDATE = 25,
\r
80 X_EVENT_UPDATED = 26,
\r
81 X_EVENT_AFTER_UPDATE = 27,
\r
83 X_EVENT_HASH_CHANGED = 28,
\r
86 X_EVENT_BEFORE_UNLOAD = 29,
\r
87 X_EVENT_UNLOAD = 30,
\r
89 X_EVENT_BACKEND_READY = 31,
\r
90 X_EVENT_BACKEND_NONE = 32,
\r
91 X_EVENT_BACKEND_RESEARCH = 33,
\r
92 X_EVENT_BACKEND_CHANGED = 34,
\r
94 X_EVENT_ANIME_BEFORE_START = 35,
\r
95 X_EVENT_ANIME_START = 36,
\r
97 X_EVENT_ANIME_END = 38,
\r
98 X_EVENT_ANIME_BEFORE_STOP = 39,
\r
99 X_EVENT_ANIME_STOP = 40,
\r
101 X_EVENT_GPU_RELEASED = 41,
\r
103 X_EVENT_MEDIA_PLAYING = 42,
\r
104 X_EVENT_MEDIA_BEFORE_LOOP = 43,
\r
105 X_EVENT_MEDIA_LOOPED = 44,
\r
106 X_EVENT_MEDIA_PAUSED = 45,
\r
107 X_EVENT_MEDIA_ENDED = 46,
\r
108 X_EVENT_MEDIA_WAITING = 47,
\r
109 X_EVENT_MEDIA_SEEKING = 48,
\r
110 X_EVENT_MEDIA_TOUCH_FOR_LOAD = 49,
\r
112 X_EVENT_NEED_AUTH = 50,
\r
114 X_EVENT_DEBUG = 51,
\r
119 // on_screen_keyboard_show
\r
120 // on_screen_keyboard_hide
\r
123 * フレームワーク内で定義されたイベント。
\r
124 * @namespace X.Event
\r
126 X[ 'Event' ] = /** @lends X.Event */
\r
129 * X.ViewPort で発生する。DomContentLoaded に相当。document.body.innerHTML の内容から X.Node ツリーの作成が完了した。
\r
130 * このイベント以降、X.Doc.create(), X.Doc.find() 等が可能になる。
\r
132 'XDOM_READY' : X_EVENT_XDOM_READY,
\r
134 'COMPLETE' : X_EVENT_COMPLETE,
\r
135 'READY' : X_EVENT_READY,
\r
136 'SUCCESS' : X_EVENT_SUCCESS,
\r
137 'ERROR' : X_EVENT_ERROR,
\r
138 'PROGRESS' : X_EVENT_PROGRESS,
\r
139 'BEFORE_CANCEL' : X_EVENT_BEFORE_CANCEL,
\r
140 'CANCELED' : X_EVENT_CANCELED,
\r
141 'TIMEOUT' : X_EVENT_TIMEOUT,
\r
144 * X.EventDispatcher インスタンスを kill() すると発生。キャンセル可能。
\r
146 'BEFORE_KILL_INSTANCE' : X_EVENT_BEFORE_KILL_INSTANCE,
\r
148 * X.EventDispatcher インスタンスの kill() がキャンセルされた場合に発生。
\r
150 'KILL_INSTANCE_CANCELED' : X_EVENT_KILL_INSTANCE_CANCELED,
\r
152 * X.EventDispatcher インスタンスの kill が確定し、kill プロセスの前に発生。
\r
154 'KILL_INSTANCE' : X_EVENT_KILL_INSTANCE,
\r
157 * X.ViewPort で発生する。'visibilitychange', 'pageshow', window.onfocus を検出している。
\r
159 'VIEW_ACTIVATE' : X_EVENT_VIEW_ACTIVATE,
\r
161 * X.ViewPort で発生する。'visibilitychange', 'pagehide', window.onblur を検出している。
\r
163 'VIEW_DEACTIVATE' : X_EVENT_VIEW_DEACTIVATE,
\r
165 * X.ViewPort で発生する。
\r
167 'VIEW_RESIZED' : X_EVENT_VIEW_RESIZED,
\r
169 * X.ViewPort で発生する。
\r
171 'VIEW_TURNED' : X_EVENT_VIEW_TURNED,
\r
173 * X.ViewPort で発生する。ベースフォントサイズが変化すると発生する。body 直下の隠し要素のテキストサイズの変化で検出している。
\r
175 'BASE_FONT_RESIZED' : X_EVENT_BASE_FONT_RESIZED,
\r
178 * X_System で発生する。このイベントで要素のサイズを取得すると無限ループに!
\r
180 'BEFORE_UPDATE' : X_EVENT_BEFORE_UPDATE,
\r
182 * X_System で発生する。X.Node ツリーへの変更を Real DOM に反映した。
\r
184 'UPDATED' : X_EVENT_UPDATED,
\r
187 * X.ViewPort で発生する。X.Node ツリーへの変更を Real DOM に反映した。このイベントは lazyDispatch している。
\r
189 'AFTER_UPDATE' : X_EVENT_AFTER_UPDATE,
\r
191 'HASH_CHANGED' : X_EVENT_HASH_CHANGED,
\r
194 * X.ViewPort で発生する。
\r
196 'BEFORE_UNLOAD' : X_EVENT_BEFORE_UNLOAD,
\r
198 * X.ViewPort で発生する。
\r
200 'UNLOAD' : X_EVENT_UNLOAD,
\r
202 'BACKEND_READY' : X_EVENT_BACKEND_READY,
\r
203 'BACKEND_NONE' : X_EVENT_BACKEND_NONE,
\r
204 'BACKEND_RESEARCH' : X_EVENT_BACKEND_RESEARCH,
\r
205 'BACKEND_CHANGED' : X_EVENT_BACKEND_CHANGED,
\r
207 'ANIME_BEFORE_START' : X_EVENT_ANIME_BEFORE_START,
\r
208 'ANIME_START' : X_EVENT_ANIME_START,
\r
209 'ANIME' : X_EVENT_ANIME,
\r
210 'ANIME_END' : X_EVENT_ANIME_END,
\r
212 * xnode.stop() のみ、指定時間による停止では呼ばれない
\r
214 'ANIME_BEFORE_STOP' : X_EVENT_ANIME_BEFORE_STOP,
\r
215 'ANIME_STOP' : X_EVENT_ANIME_STOP,
\r
217 'GPU_RELEASED' : X_EVENT_GPU_RELEASED,
\r
219 'MEDIA_PLAYING' : X_EVENT_MEDIA_PLAYING,
\r
220 'MEDIA_BEFORE_LOOP' : X_EVENT_MEDIA_BEFORE_LOOP, // cancelable
\r
221 'MEDIA_LOOPED' : X_EVENT_MEDIA_LOOPED,
\r
222 'MEDIA_PAUSED' : X_EVENT_MEDIA_PAUSED,
\r
223 'MEDIA_ENDED' : X_EVENT_MEDIA_ENDED,
\r
224 'MEDIA_WAITING' : X_EVENT_MEDIA_WAITING,
\r
225 'MEDIA_SEEKING' : X_EVENT_MEDIA_SEEKING,
\r
226 'MEDIA_TOUCH_FOR_LOAD' : X_EVENT_MEDIA_TOUCH_FOR_LOAD,
\r
228 'NEED_AUTH' : X_EVENT_NEED_AUTH,
\r
230 'DEBUG' : X_EVENT_DEBUG
\r
233 X_TEMP.onSystemReady.push(
\r
236 for( k in X_Event_Rename ){
\r
237 //if( X_EMPTY_OBJECT[ k ] ) continue;
\r
238 name = X_Event_Rename[ k ];
\r
239 if( X_Type_isArray( name ) ){
\r
240 for( i = name.length; i; ){
\r
241 X_Event_RenameTo[ name[ --i ] ] = k;
\r
244 X_Event_RenameTo[ name ] = k;
\r