OSDN Git Service

Version 0.6.191, fix X.UI.ScrollBox & X.UI.Gesture.
authoritozyun <itozyun@user.sourceforge.jp>
Sun, 8 Nov 2015 11:04:31 +0000 (20:04 +0900)
committeritozyun <itozyun@user.sourceforge.jp>
Sun, 8 Nov 2015 11:04:31 +0000 (20:04 +0900)
0.6.x/js/20_ui/05_XUI_Gesture.js
0.6.x/js/20_ui/08_Box.js
0.6.x/js/20_ui/15_ScrollBox.js
0.6.x/js/20_ui/20_Root.js

index 3aab9e1..f8b9535 100644 (file)
@@ -323,7 +323,7 @@ if( type === XUI_Event.POINTER_OUT ) console.log( 'canceled ...' + e.button )
                        // 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
@@ -645,7 +645,6 @@ var XUI_Gesture_LIST = [
                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
@@ -656,21 +655,22 @@ var XUI_Gesture_LIST = [
                        // 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
index d0c7818..73e6067 100644 (file)
@@ -70,8 +70,8 @@ var XUI_Box = XUI_AbstractUINode.inherits(
                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
@@ -183,8 +183,8 @@ var XUI_Box = XUI_AbstractUINode.inherits(
                        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
index 4948a7b..323b95b 100644 (file)
@@ -316,8 +316,10 @@ function X_UI_ScrollBox_translate( that, x, y, opt_time, opt_easing, opt_release
                );\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
index d5b794d..237af6a 100644 (file)
@@ -17,30 +17,22 @@ function X_UI_eventRellay( e ){
        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 ) );
-       };
+