Browse Source

Merge branch 'UI-Number-and-Integer-IE-Patch' of https://github.com/gwindes/three.js into dev

Mr.doob 11 years ago
parent
commit
45b202d1a2
1 changed files with 22 additions and 4 deletions
  1. 22 4
      editor/js/libs/ui.js

+ 22 - 4
editor/js/libs/ui.js

@@ -601,6 +601,9 @@ UI.Number = function ( number ) {
 	var distance = 0;
 	var onMouseDownValue = 0;
 
+	var pointer = new THREE.Vector2();
+	var pointerOld = new THREE.Vector2();
+
 	var onMouseDown = function ( event ) {
 
 		event.preventDefault();
@@ -609,6 +612,8 @@ UI.Number = function ( number ) {
 
 		onMouseDownValue = parseFloat( dom.value );
 
+		pointerOld.set( event.clientX, event.clientY );
+
 		document.addEventListener( 'mousemove', onMouseMove, false );
 		document.addEventListener( 'mouseup', onMouseUp, false );
 
@@ -618,8 +623,10 @@ UI.Number = function ( number ) {
 
 		var currentValue = dom.value;
 
-		var movementX = event.movementX || event.webkitMovementX || event.mozMovementX || 0;
-		var movementY = event.movementY || event.webkitMovementY || event.mozMovementY || 0;
+		pointer.set( event.clientX, event.clientY );
+
+		var movementX = pointer.x - pointerOld.x;
+		var movementY = pointer.y - pointerOld.y;
 
 		distance += movementX - movementY;
 
@@ -629,6 +636,8 @@ UI.Number = function ( number ) {
 
 		if ( currentValue !== dom.value ) dom.dispatchEvent( changeEvent );
 
+		pointerOld.set( event.clientX, event.clientY );
+
 	};
 
 	var onMouseUp = function ( event ) {
@@ -748,6 +757,9 @@ UI.Integer = function ( number ) {
 	var distance = 0;
 	var onMouseDownValue = 0;
 
+	var pointer = new THREE.Vector2();
+	var pointerOld = new THREE.Vector2();
+
 	var onMouseDown = function ( event ) {
 
 		event.preventDefault();
@@ -756,6 +768,8 @@ UI.Integer = function ( number ) {
 
 		onMouseDownValue = parseFloat( dom.value );
 
+		pointerOld.set( event.clientX, event.clientY );
+
 		document.addEventListener( 'mousemove', onMouseMove, false );
 		document.addEventListener( 'mouseup', onMouseUp, false );
 
@@ -765,8 +779,10 @@ UI.Integer = function ( number ) {
 
 		var currentValue = dom.value;
 
-		var movementX = event.movementX || event.webkitMovementX || event.mozMovementX || 0;
-		var movementY = event.movementY || event.webkitMovementY || event.mozMovementY || 0;
+		pointer.set( event.clientX, event.clientY );
+
+		var movementX = pointer.x - pointerOld.x;
+		var movementY = pointer.y - pointerOld.y;
 
 		distance += movementX - movementY;
 
@@ -776,6 +792,8 @@ UI.Integer = function ( number ) {
 
 		if ( currentValue !== dom.value ) dom.dispatchEvent( changeEvent );
 
+		pointerOld.set( event.clientX, event.clientY );
+
 	};
 
 	var onMouseUp = function ( event ) {