Skip to content

Commit 89c5e73

Browse files
authored
Merge pull request #3987 from ProjectMirador/double-click-zoom
2 parents feede3d + 45f1ac2 commit 89c5e73

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

src/components/OpenSeadragonViewer.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,12 @@ export class OpenSeadragonViewer extends Component {
6363

6464
this.setState({ viewer });
6565

66+
viewer.addHandler('canvas-double-click', ({ position, shift }) => {
67+
const currentZoom = viewer.viewport.getZoom();
68+
const zoomRatio = (shift ? 1.0 / osdConfig.zoomPerDoubleClick : osdConfig.zoomPerDoubleClick);
69+
viewer.viewport.zoomTo(currentZoom * zoomRatio, viewer.viewport.pointFromPixel(position), false);
70+
});
71+
6672
viewer.addHandler('canvas-drag', () => {
6773
this.setState({ grabbing: true });
6874
});

src/config/settings.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,7 @@ export default {
524524
isWorkspaceAddVisible: false, // Catalog/Workspace add window feature visible by default
525525
exposeModeOn: false, // unused?
526526
height: 5000, // height of the elastic mode's virtual canvas
527-
showZoomControls: false, // Configure if zoom controls should be displayed by default
527+
showZoomControls: true, // Configure if zoom controls should be displayed by default
528528
type: 'mosaic', // Which workspace type to load by default. Other possible values are "elastic". If "mosaic" or "elastic" are not selected no worksapce type will be used.
529529
viewportPosition: { // center coordinates for the elastic mode workspace
530530
x: 0,
@@ -545,6 +545,8 @@ export default {
545545
preserveImageSizeOnResize: true,
546546
preserveViewport: true,
547547
showNavigationControl: false,
548+
zoomPerClick: 1, // disable zoom-to-click
549+
zoomPerDoubleClick: 2.0
548550
},
549551
export: {
550552
catalog: true,

0 commit comments

Comments
 (0)