// store as previous event event\r
hammer.lastEvent = hammerEvent;\r
activated = hammer.activated;\r
- \r
+ console.log( '... ' );\r
// call Hammer.gesture handlers\r
for( i = 0, l = gestures.length; i < l; ++i ){\r
gesture = gestures[ i ];\r
startID : XUI_Event.TAP,\r
endID : XUI_Event.DOUBLE_TAP,\r
defaults : {\r
- tap_min_touchtime : 75,\r
tap_max_touchtime : 250,\r
tap_max_distance : 3,\r
tap_always : true,\r
// previous gesture, for the double tap since these are two different gesture detections\r
var prev = hammer.previous;\r
\r
+ if( e.type === XUI_Event._POINTER_MOVE && hammer.options.tap_max_distance < e.distance ){\r
+ hammer.canceled[ 'tap' ] = true;\r
+ };\r
if( e.type === XUI_Event._POINTER_UP ){\r
// when the touchtime is higher then the max touch time\r
// or when the moving distance is too much\r
if( hammer.options.tap_max_touchtime < e.deltaTime || hammer.options.tap_max_distance < e.distance ) return;\r
-//console.log( ' rap? ' + e.deltaTime + 'ms' );\r
- //if( e.deltaTime < hammer.options.tap_min_touchtime ) return;\r
\r
// check if double tap\r
if( prev && prev.currentName === 'tap' && ( e.timestamp - prev.lastEvent.timestamp ) < hammer.options.doubletap_interval && e.distance < hammer.options.doubletap_distance ){\r
return hammer.trigger( XUI_Event.DOUBLE_TAP, e );\r
} else\r
// do a single tap\r
- if( hammer.options.tap_always && hammer.currentName !== 'tap' ){ // EventFire中にalert すると mouseleave で再び呼ばれるのを防ぐ\r
+ if( hammer.options.tap_always ){\r
//hammer.currentName = 'tap';\r
- console.log( 'tap! ' + e.deltaTime + 'ms' );\r
+ console.log( 'tap! ' + e.deltaTime + 'ms ' + e.type );\r
return hammer.trigger( XUI_Event.TAP, e );\r
};\r
};\r
pointerChildren : true,\r
through : false,\r
\r
- scrollingX : 0, // TODO 現在のスクロール位置\r
- scrollingY : 0, // TODO \r
+ scrollXEm : 0,\r
+ scrollYEm : 0,\r
\r
Constructor : function( user, layout, args ){\r
var i = 0,\r
x -= this.boxX;\r
y -= this.boxY;\r
if( this.pointerChildren && ( uinodes = this.uinodes ) && ( i = uinodes.length ) ){\r
- _x = x - this.scrollingX;\r
- _y = y - this.scrollingY;\r
+ _x = x - this.scrollXEm;\r
+ _y = y - this.scrollYEm;\r
for( ; i; ){\r
child = uinodes[ --i ];\r
if( !child.pointerDisabled && child.boxX <= _x && _x < child.boxX + child.boxWidth && child.boxY <= _y && _y < child.boxY + child.boxHeight && child.capcher( _x, _y ) ){\r
);\r
};\r
\r
- that.scrollX = x;\r
- that.scrollY = y;\r
+ that.scrollX = x;\r
+ that.scrollXEm = x / that.fontSize;\r
+ that.scrollY = y;\r
+ that.scrollYEm = y / that.fontSize;\r
};\r
\r
function X_UI_ScrollBox_onStart( e ){\r
if( !data || XUI_interactionBusy ) return ret;
XUI_interactionBusy = true;
-
+ if( type !== XUI_Event._POINTER_MOVE ){
+ console.log( data.xnode.className() + '>' + e.type + ' ' + type + ' x:' + x + ', y:' + y );
+ //console.dir( data )
+ //data !== X_UI_rootData && console.log( ( data.xnode[ 'className' ]() + data.xnode[ 'text' ]() ).substr( 0, 15 ) );
+ };
e.type = type;
// TODO capture は pointer 毎に!
- if( data && ( data = data.monopolyNodeData ) && ( ret = data[ 'dispatch' ]( e ) ) & X_CALLBACK_CAPTURE_POINTER ){
- console.log( 'capture ' + data.xnode.className() );
- XUI_interactionBusy = false;
- return ret | X_CALLBACK_PREVENT_DEFAULT;
- };
- //if( ret & X_CALLBACK_RELEASE_POINTER ){
- data && ( data.monopolyNodeData = null );
- //return ret | X_CALLBACK_PREVENT_DEFAULT;
- //};
+
list = X_UI_rootData.hoverList;
( X_UI_rootData.targetNodeData = X_UI_rootData ).capcher( x, y );
data = X_UI_rootData.targetNodeData;
- if( type !== XUI_Event._POINTER_MOVE ){
- //console.log( data.xnode.className() + '>' + e.type + ' ' + type + ' x:' + x + ', y:' + y );
- //console.dir( data )
- //data !== X_UI_rootData && console.log( ( data.xnode[ 'className' ]() + data.xnode[ 'text' ]() ).substr( 0, 15 ) );
- };
+