|
@@ -112,12 +112,64 @@ function EditorControls( object, domElement ) {
|
|
|
|
|
|
};
|
|
|
|
|
|
- // mouse
|
|
|
+ //
|
|
|
|
|
|
- function onMouseDown( event ) {
|
|
|
+ function onPointerDown( event ) {
|
|
|
+
|
|
|
+ if ( scope.enabled === false ) return;
|
|
|
+
|
|
|
+ switch ( event.pointerType ) {
|
|
|
+
|
|
|
+ case 'mouse':
|
|
|
+ onMouseDown( event );
|
|
|
+ break;
|
|
|
+
|
|
|
+ // TODO touch
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ domElement.ownerDocument.addEventListener( 'pointermove', onPointerMove, false );
|
|
|
+ domElement.ownerDocument.addEventListener( 'pointerup', onPointerUp, false );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ function onPointerMove( event ) {
|
|
|
|
|
|
if ( scope.enabled === false ) return;
|
|
|
|
|
|
+ switch ( event.pointerType ) {
|
|
|
+
|
|
|
+ case 'mouse':
|
|
|
+ onMouseMove( event );
|
|
|
+ break;
|
|
|
+
|
|
|
+ // TODO touch
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ function onPointerUp( event ) {
|
|
|
+
|
|
|
+ switch ( event.pointerType ) {
|
|
|
+
|
|
|
+ case 'mouse':
|
|
|
+ onMouseUp( event );
|
|
|
+ break;
|
|
|
+
|
|
|
+ // TODO touch
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ domElement.ownerDocument.removeEventListener( 'pointermove', onPointerMove, false );
|
|
|
+ domElement.ownerDocument.removeEventListener( 'pointerup', onPointerUp, false );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ // mouse
|
|
|
+
|
|
|
+ function onMouseDown( event ) {
|
|
|
+
|
|
|
if ( event.button === 0 ) {
|
|
|
|
|
|
state = STATE.ROTATE;
|
|
@@ -134,17 +186,10 @@ function EditorControls( object, domElement ) {
|
|
|
|
|
|
pointerOld.set( event.clientX, event.clientY );
|
|
|
|
|
|
- domElement.addEventListener( 'mousemove', onMouseMove, false );
|
|
|
- domElement.addEventListener( 'mouseup', onMouseUp, false );
|
|
|
- domElement.addEventListener( 'mouseout', onMouseUp, false );
|
|
|
- domElement.addEventListener( 'dblclick', onMouseUp, false );
|
|
|
-
|
|
|
}
|
|
|
|
|
|
function onMouseMove( event ) {
|
|
|
|
|
|
- if ( scope.enabled === false ) return;
|
|
|
-
|
|
|
pointer.set( event.clientX, event.clientY );
|
|
|
|
|
|
var movementX = pointer.x - pointerOld.x;
|
|
@@ -170,11 +215,6 @@ function EditorControls( object, domElement ) {
|
|
|
|
|
|
function onMouseUp( /* event */ ) {
|
|
|
|
|
|
- domElement.removeEventListener( 'mousemove', onMouseMove, false );
|
|
|
- domElement.removeEventListener( 'mouseup', onMouseUp, false );
|
|
|
- domElement.removeEventListener( 'mouseout', onMouseUp, false );
|
|
|
- domElement.removeEventListener( 'dblclick', onMouseUp, false );
|
|
|
-
|
|
|
state = STATE.NONE;
|
|
|
|
|
|
}
|
|
@@ -199,13 +239,10 @@ function EditorControls( object, domElement ) {
|
|
|
this.dispose = function () {
|
|
|
|
|
|
domElement.removeEventListener( 'contextmenu', contextmenu, false );
|
|
|
- domElement.removeEventListener( 'mousedown', onMouseDown, false );
|
|
|
+ domElement.removeEventListener( 'dblclick', onMouseUp, false );
|
|
|
domElement.removeEventListener( 'wheel', onMouseWheel, false );
|
|
|
|
|
|
- domElement.removeEventListener( 'mousemove', onMouseMove, false );
|
|
|
- domElement.removeEventListener( 'mouseup', onMouseUp, false );
|
|
|
- domElement.removeEventListener( 'mouseout', onMouseUp, false );
|
|
|
- domElement.removeEventListener( 'dblclick', onMouseUp, false );
|
|
|
+ domElement.removeEventListener( 'pointerdown', onPointerDown, false );
|
|
|
|
|
|
domElement.removeEventListener( 'touchstart', touchStart, false );
|
|
|
domElement.removeEventListener( 'touchmove', touchMove, false );
|
|
@@ -213,9 +250,11 @@ function EditorControls( object, domElement ) {
|
|
|
};
|
|
|
|
|
|
domElement.addEventListener( 'contextmenu', contextmenu, false );
|
|
|
- domElement.addEventListener( 'mousedown', onMouseDown, false );
|
|
|
+ domElement.addEventListener( 'dblclick', onMouseUp, false );
|
|
|
domElement.addEventListener( 'wheel', onMouseWheel, false );
|
|
|
|
|
|
+ domElement.addEventListener( 'pointerdown', onPointerDown, false );
|
|
|
+
|
|
|
// touch
|
|
|
|
|
|
var touches = [ new THREE.Vector3(), new THREE.Vector3(), new THREE.Vector3() ];
|