|
@@ -15,11 +15,14 @@ import {
|
|
|
|
|
|
var TrackballControls = function ( object, domElement ) {
|
|
|
|
|
|
+ if ( domElement === undefined ) console.warn( 'THREE.TrackballControls: The second parameter "domElement" is now mandatory.' );
|
|
|
+ if ( domElement === document ) console.error( 'THREE.TrackballControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.' );
|
|
|
+
|
|
|
var _this = this;
|
|
|
var STATE = { NONE: - 1, ROTATE: 0, ZOOM: 1, PAN: 2, TOUCH_ROTATE: 3, TOUCH_ZOOM_PAN: 4 };
|
|
|
|
|
|
this.object = object;
|
|
|
- this.domElement = ( domElement !== undefined ) ? domElement : document;
|
|
|
+ this.domElement = domElement;
|
|
|
|
|
|
// API
|
|
|
|
|
@@ -92,24 +95,13 @@ var TrackballControls = function ( object, domElement ) {
|
|
|
|
|
|
this.handleResize = function () {
|
|
|
|
|
|
- if ( this.domElement === document ) {
|
|
|
-
|
|
|
- this.screen.left = 0;
|
|
|
- this.screen.top = 0;
|
|
|
- this.screen.width = window.innerWidth;
|
|
|
- this.screen.height = window.innerHeight;
|
|
|
-
|
|
|
- } else {
|
|
|
-
|
|
|
- var box = this.domElement.getBoundingClientRect();
|
|
|
- // adjustments come from similar code in the jquery offset() function
|
|
|
- var d = this.domElement.ownerDocument.documentElement;
|
|
|
- this.screen.left = box.left + window.pageXOffset - d.clientLeft;
|
|
|
- this.screen.top = box.top + window.pageYOffset - d.clientTop;
|
|
|
- this.screen.width = box.width;
|
|
|
- this.screen.height = box.height;
|
|
|
-
|
|
|
- }
|
|
|
+ var box = this.domElement.getBoundingClientRect();
|
|
|
+ // adjustments come from similar code in the jquery offset() function
|
|
|
+ var d = this.domElement.ownerDocument.documentElement;
|
|
|
+ this.screen.left = box.left + window.pageXOffset - d.clientLeft;
|
|
|
+ this.screen.top = box.top + window.pageYOffset - d.clientTop;
|
|
|
+ this.screen.width = box.width;
|
|
|
+ this.screen.height = box.height;
|
|
|
|
|
|
};
|
|
|
|