diff --git a/includes/GlModelTransformOutput.php b/includes/GlModelTransformOutput.php index 87e57af..572ddb4 100644 --- a/includes/GlModelTransformOutput.php +++ b/includes/GlModelTransformOutput.php @@ -267,12 +267,21 @@ class GlModelTransformOutput extends MediaTransformOutput { 'ontouchstart' => 'event.stopPropagation()' ); + $resetUrl = $mainConfig->get( 'ExtensionAssetsPath' ) . '/GlModelViewer/resources/reset.svg'; + $attrMenuButtonReset = array ( + 'class' => 'glmv-menu-button', + 'onclick' => 'resetView(event.target.closest(".glmv-container").querySelector("model-viewer"))', + 'onmousedown' => 'event.stopPropagation()', + 'ontouchstart' => 'event.stopPropagation()' + ); + $menuButtons = array( Html::rawElement('div', $attrMenuButtonPrev, ''), Html::rawElement('div', $attrMenuButtonSlides, ''), Html::rawElement('div', $attrMenuButtonNext, ''), Html::rawElement('div', $attrMenuButtonHide, ''), - Html::rawElement('div', $attrMenuButtonScreen, '') + Html::rawElement('div', $attrMenuButtonScreen, ''), + Html::rawElement('div', $attrMenuButtonReset, '') ); return Html::rawElement('div', $attrMenu, $menuImg . implode($menuButtons)); diff --git a/modules/glmv.css b/modules/glmv.css index 1b604b6..32c485b 100644 --- a/modules/glmv.css +++ b/modules/glmv.css @@ -117,7 +117,7 @@ justify-content: flex-start; &:hover { - width: 196px; + width: 232px; & .glmv-menu-image { transform: rotate(180deg); diff --git a/modules/glmv.js b/modules/glmv.js index 7bb5be4..b4c2c06 100644 --- a/modules/glmv.js +++ b/modules/glmv.js @@ -158,4 +158,15 @@ toggleFullScreen = function(glCont) { } else { glCont.requestFullscreen() } +} + +/** + * Reset view to initial position + * + * @param {ModelViewer} mView + */ +resetView = function(mView) { + mView.cameraOrbit = mView.cameraOrbit + mView.cameraTarget = mView.cameraTarget + mView.fieldOfView = mView.fieldOfView } \ No newline at end of file diff --git a/resources/reset.svg b/resources/reset.svg new file mode 100644 index 0000000..e380be9 --- /dev/null +++ b/resources/reset.svg @@ -0,0 +1 @@ + \ No newline at end of file