Skip to content

Commit

Permalink
Editor: Improved UI.Number touch support.
Browse files Browse the repository at this point in the history
  • Loading branch information
mrdoob authored Mar 22, 2019
1 parent 1eccf74 commit 4fb74e3
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions editor/js/libs/ui.js
Original file line number Diff line number Diff line change
Expand Up @@ -624,7 +624,57 @@ UI.Number = function ( number ) {
}

}

function onTouchStart( event ) {

if ( event.touches.length === 1 ) {

distance = 0;

onMouseDownValue = scope.value;

prevPointer = [ event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ];

document.addEventListener( 'touchmove', onTouchMove, false );
document.addEventListener( 'touchend', onTouchEnd, false );

}

}

function onTouchMove( event ) {

var currentValue = scope.value;

pointer = [ event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ];

distance += ( pointer[ 0 ] - prevPointer[ 0 ] ) - ( pointer[ 1 ] - prevPointer[ 1 ] );

var value = onMouseDownValue + ( distance / ( event.shiftKey ? 5 : 50 ) ) * scope.step;
value = Math.min( scope.max, Math.max( scope.min, value ) );

if ( currentValue !== value ) {

scope.setValue( value );
dom.dispatchEvent( changeEvent );

}

prevPointer = [ event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ];

}

function onTouchEnd( event ) {

if ( event.touches.length === 0 ) {

document.removeEventListener( 'touchmove', onTouchMove, false );
document.removeEventListener( 'touchend', onTouchEnd, false );

}

}

function onChange( event ) {

scope.setValue( dom.value );
Expand All @@ -648,6 +698,7 @@ UI.Number = function ( number ) {
onBlur();

dom.addEventListener( 'mousedown', onMouseDown, false );
dom.addEventListener( 'touchstart', onTouchStart, false );
dom.addEventListener( 'change', onChange, false );
dom.addEventListener( 'focus', onFocus, false );
dom.addEventListener( 'blur', onBlur, false );
Expand Down

0 comments on commit 4fb74e3

Please sign in to comment.