diff --git a/src/viewer.js b/src/viewer.js index 313ab53..d022a21 100644 --- a/src/viewer.js +++ b/src/viewer.js @@ -227,9 +227,9 @@ class SkinViewer { } } -class SkinControl { +class MouseControl { constructor(skinViewer) { - this.enableAnimationControl = true; + this.enableMouseControl = true; this.skinViewer = skinViewer; this.orbitControls = new OrbitControls(skinViewer.camera, skinViewer.renderer.domElement); @@ -238,20 +238,19 @@ class SkinControl { this.orbitControls.minDistance = 10; this.orbitControls.maxDistance = 256; this.orbitControls.update(); + } - this.animationPauseListener = e => { - if (this.enableAnimationControl) { - e.preventDefault(); - this.skinViewer.animationPaused = !this.skinViewer.animationPaused; - } - }; - this.skinViewer.domElement.addEventListener("contextmenu", this.animationPauseListener, false); + enable() { + this.enableMouseControl = this.orbitControls.enableRotate = this.orbitControls.enableZoom = true; + } + + disable() { + this.enableMouseControl = this.orbitControls.enableRotate = this.orbitControls.enableZoom = false; } dispose() { - this.skinViewer.domElement.removeEventListener("contextmenu", this.animationPauseListener, false); this.orbitControls.dispose(); } } -export { SkinViewer, SkinControl }; +export { SkinViewer, MouseControl }; diff --git a/types/viewer.d.ts b/types/viewer.d.ts index f4bafd6..c0d8929 100644 --- a/types/viewer.d.ts +++ b/types/viewer.d.ts @@ -34,11 +34,13 @@ export class SkinViewer { public dispose(): void; } -export class SkinControl { - public enableAnimationControl: boolean; +export class MouseControl { + public enableMouseControl: boolean; public readonly skinViewer: SkinViewer; constructor(skinViewer: SkinViewer); + public enable(): void; + public disable(): void; public dispose(): void; }