UNPKG

@mescius/dsimageviewer

Version:

Document Solutions Image Viewer

365 lines (311 loc) 193 kB
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ImageViewerAPI | Document Solutions Image Viewer - v9.1.3</title><meta name="description" content="Documentation for Document Solutions Image Viewer"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script><style type="text/css"> /* typedoc-theme-fresh */ /* @view-transition { navigation: auto; } */ :root { --light-color-background: #fafafe; --light-color-background-active: #eaeced; --light-color-text: #222222; --light-color-text-aside: #5e5e5e; --dark-color-background: #1a1a1c; --dark-color-background-active: #2f2f2b; --dark-color-text: #dfdfd6; --dark-color-text-aside: #b0b0b0; --dim-header-height: 2.5rem; --dim-footer-height: 0px; --light-code-background: #ffffff18; --dark-code-background: #00000018; } body { padding: 0; margin: 0; & > .container.container-main { margin: 0 auto; margin-top: var(--dim-header-height); --dim-container-main-margin-y: 0px; } } @media (prefers-color-scheme: light) { ::selection { background-color: #11111a20; } } @media (prefers-color-scheme: dark) { ::selection { background-color: #bbbbff48; } } :root[data-theme="light"] { ::selection { background-color: #11111a20; } } :root[data-theme="dark"] { ::selection { background-color: #bbbbff48; } } h1, h2, h3, h4, h5, h6 { font-weight: 500; } .tsd-page-toolbar { position: fixed; background: linear-gradient( to bottom, color-mix(in srgb, var(--color-background) 80%, transparent) 60%, transparent ); backdrop-filter: blur(2px); border-bottom: none; .title { font-weight: 500; font-size: 18px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; min-width: 0; margin-right: auto; &:hover { color: var(--color-contrast-text); text-decoration: none; } } .tsd-theme-toggle { display: flex; position: relative; margin-right: 12px; color: var(--color-text-aside); select { cursor: pointer; border: 1px solid var(--color-background-active); border-radius: 4px; padding: 6px 8px; padding-left: 32px; /* Space for the icon */ font-size: 14px; background: transparent; transition: background-color 200ms; color: var(--color-text-aside); /* for Firefox and Chrome: these are inconsistent */ -moz-appearance: none; -webkit-appearance: none; &:hover { background-color: var(--color-background-active); } } } } .tsd-widget { display: flex; align-items: center; height: auto; width: auto; padding: 4px; font-size: 14px; border-radius: 4px; transition: background-color 200ms; color: var(--color-text-aside); opacity: 100%; &:hover { background-color: var(--color-background-active); } } #tsd-search-results { & > li { padding-inline: 6px; transition: background-color 200ms; } a:hover { text-decoration: none; } } .col-content { overflow: hidden; padding-block: 24px; & > .tsd-typography { padding-bottom: 24px; } } .col-sidebar { top: var(--dim-header-height); /* Relevant for tablet layout. */ } .site-menu { top: var(--dim-header-height); padding-block: 24px; box-sizing: border-box; } .page-menu { top: var(--dim-header-height); padding-block: 48px 24px; box-sizing: border-box; } .tsd-navigation, .tsd-page-navigation { > details { margin-bottom: 8px; } a { border-radius: 4px; padding-inline: 6px; margin-bottom: 2px; } a:hover { text-decoration: none; background-color: var(--color-background-active); } a.current { background-color: var(--color-background-active); span { color: var(--color-contrast-text); } } } .tsd-navigation { & > a { /* Top-level navigation anchor. */ margin-block: 16px; font-size: 18px; background: transparent !important; padding: 0; &:hover { color: var(--color-contrast-text); } } } .tsd-page-navigation { border-left: 1px solid var(--color-background-active); padding-left: 4px; padding-block: 4px; } .tsd-page-navigation-section { & > summary > svg { margin-right: 0; } & > div { margin-left: 24px; } } .tsd-page-title { color: var(--color-contrast-text); } h1 > code.tsd-tag { margin-left: 12px; } code.tsd-tag { display: inline-block; transform: translateY(-0.1em); background: var(--color-background-secondary); border: 0; border-radius: 8px; padding: 2px 4px; } .tsd-breadcrumb { margin-bottom: 12px; li:after { content: " › "; opacity: 0.4; } li:last-of-type::after { content: ""; } } .tsd-signature, .tsd-signatures .tsd-signature { border: 0; border-radius: 8px; background: var(--color-background-secondary); font-weight: 500; padding: 10px 8px; line-height: 1.3; } .tsd-anchor-icon { color: var(--color-text-aside); padding-bottom: 1px; } .tsd-kind-icon { filter: grayscale(0.5) opacity(0.8); } /* Accordion icon */ .tsd-accordion-summary > svg { color: var(--color-text-aside); opacity: 50%; stroke-width: 1px; transition: transform 200ms ease-in-out; } .tsd-accordion-summary > svg:has(+ h2) { height: 24px; width: 24px; } /* Desktop sizing */ @media (min-width: 1200px) { .container-main { grid-template-columns: minmax(0, 1.1fr) minmax(0, 2.5fr) minmax(0, 17rem); } .site-menu { padding-right: 8px; } .page-menu { padding-left: 24px; } .tsd-widget.menu { display: none; } } /* Tablet sizing */ @media (min-width: 770px) and (max-width: 1199px) { .page-menu { padding-block: 24px 24px; } .site-menu { padding-block: 0 24px; margin-top: 0; } .tsd-widget.menu { display: none; } .lg-show { display: none !important; } } /* Mobile sizing */ @media (max-width: 769px) { .page-menu { display: none; } .site-menu { padding: 0; } .container { padding: 0 1rem; } .has-menu .col-sidebar { padding: 0 1rem; max-height: 100dvh; } .lg-show { display: none !important; } .md-show { display: none !important; } } </style></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">Document Solutions Image Viewer</a><div id="tsd-toolbar-links"></div><div class="tsd-theme-toggle md-show" style="position: relative"><div style="position: absolute; left: 8px; top: 4px; pointer-events: none"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun-moon-icon lucide-sun-moon"><path d="M12 2v2"></path><path d="M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715"></path><path d="M16 12a4 4 0 0 0-4-4"></path><path d="m19 5-1.256 1.256"></path><path d="M20 12h2"></path></svg></div><select id="tsd-theme"><option value="os">System</option><option value="light">Light</option><option value="dark">Dark</option></select></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search" style=" border: 1px solid var(--color-background-active); border-radius: 4px; margin-left: 8px; "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search-icon lucide-search" style="margin-bottom: 1px; margin-left: 4px; margin-right: 4px;"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg><span class="lg-show" style="margin-left: 4px; margin-right: 12ch;">Search…</span></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu" style=" border: 1px solid var(--color-background-active); border-radius: 4px; margin-left: 4px; "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu-icon lucide-menu" style="margin-left: 4px; margin-right: 4px;"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">ImageViewerAPI</a></li></ul><h1>Interface ImageViewerAPI</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>Defines Image Viewer API.</p> </div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">ImageViewerAPI</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="#hasimage">hasImage</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#adaptivenaturalsize">adaptiveNaturalSize</a><span class="tsd-signature-symbol">:</span> <a href="Size.html" class="tsd-signature-type tsd-kind-interface">Size</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#actualsize">actualSize</a><span class="tsd-signature-symbol">:</span> <a href="Size.html" class="tsd-signature-type tsd-kind-interface">Size</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#language">language</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#layers">layers</a><span class="tsd-signature-symbol">:</span> <a href="ImageLayer.html" class="tsd-signature-type tsd-kind-interface">ImageLayer</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#naturalsize">naturalSize</a><span class="tsd-signature-symbol">:</span> <a href="Size.html" class="tsd-signature-type tsd-kind-interface">Size</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#openparameters">openParameters</a><span class="tsd-signature-symbol">:</span> <a href="../types/OpenParameters.html" class="tsd-signature-type tsd-kind-type-alias">OpenParameters</a> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#undostorage">undoStorage</a><span class="tsd-signature-symbol">:</span> <a href="UndoStorage.html" class="tsd-signature-type tsd-kind-interface">UndoStorage</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#hasundo">hasUndo</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#hasredo">hasRedo</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#undoindex">undoIndex</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#undocount">undoCount</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#version">version</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#framescount">framesCount</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#eventbus">eventBus</a><span class="tsd-signature-symbol">:</span> <a href="EventBus.html" class="tsd-signature-type tsd-kind-interface">EventBus</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#onafteropen">onAfterOpen</a><span class="tsd-signature-symbol">:</span> <a href="EventFan.html" class="tsd-signature-type tsd-kind-interface">EventFan</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#onbeforeopen">onBeforeOpen</a><span class="tsd-signature-symbol">:</span> <a href="EventFan.html" class="tsd-signature-type tsd-kind-interface">EventFan</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#onerror">onError</a><span class="tsd-signature-symbol">:</span> <a href="EventFan.html" class="tsd-signature-type tsd-kind-interface">EventFan</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#onimagepaint">onImagePaint</a><span class="tsd-signature-symbol">:</span> <a href="EventFan.html" class="tsd-signature-type tsd-kind-interface">EventFan</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#isanimationstarted">isAnimationStarted</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#options">options</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="ViewerOptions.html" class="tsd-signature-type tsd-kind-interface">ViewerOptions</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#toolbarlayout">toolbarLayout</a><span class="tsd-signature-symbol">:</span> <a href="../types/ImageToolbarLayout.html" class="tsd-signature-type tsd-kind-type-alias">ImageToolbarLayout</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#frameindex">frameIndex</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#zoom">zoom</a><span class="tsd-signature-symbol">:</span> <a href="../types/ZoomSettings.html" class="tsd-signature-type tsd-kind-type-alias">ZoomSettings</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#ensurepaintlayer-1">ensurePaintLayer</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="ImageLayer.html" class="tsd-signature-type tsd-kind-interface">ImageLayer</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#removelayer-1">removeLayer</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">layerOrIndex</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <a href="ImageLayer.html" class="tsd-signature-type tsd-kind-interface">ImageLayer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#removelayers-1">removeLayers</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#applyoptions-1">applyOptions</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#applytoolbarlayout-1">applyToolbarLayout</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#addplugin-1">addPlugin</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">plugin</span><span class="tsd-signature-symbol">:</span> <a href="ImageViewerPluginReference.html" class="tsd-signature-type tsd-kind-interface">ImageViewerPluginReference</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#addkeyboardlistener-1">addKeyboardListener</a><span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">uniqueKey</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">handler</span><span class="tsd-signature-symbol">:</span> <a href="WindowKeyboardListener.html" class="tsd-signature-type tsd-kind-interface">WindowKeyboardListener</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#removekeyboardlistener-1">removeKeyboardListener</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">uniqueKey</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#configurepluginmaintoolbar-1">configurePluginMainToolbar</a><span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">pos</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">boolean</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">buttonsToInsert</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#geteventcanvaspoint-1">getEventCanvasPoint</a><span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">event</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">MouseEvent</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">PointerEvent</span><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">includeDpi</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="PointLocation.html" class="tsd-signature-type tsd-kind-interface">PointLocation</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#setcursor-1">setCursor</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">cursorType</span><span class="tsd-signature-symbol">:</span> <a href="../types/GlobalCursorType.html" class="tsd-signature-type tsd-kind-type-alias">GlobalCursorType</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#resetcursor-1">resetCursor</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#togglecursor-1">toggleCursor</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">cursorType</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">false</span> <span class="tsd-signature-symbol">|</span> <a href="../types/GlobalCursorType.html" class="tsd-signature-type tsd-kind-type-alias">GlobalCursorType</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#dataurltoimagedata-1">dataUrlToImageData</a><span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">dataUrl</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">destinationSize</span><span class="tsd-signature-symbol">?:</span> <a href="Size.html" class="tsd-signature-type tsd-kind-interface">Size</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ImageData</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#confirm-1">confirm</a><span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">confirmationText</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">level</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">&quot;error&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;info&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;warning&quot;</span><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">title</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">buttons</span><span class="tsd-signature-symbol">?:</span> <a href="../types/ConfirmButton.html" class="tsd-signature-type tsd-kind-type-alias">ConfirmButton</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span> <span class="tsd-signature-symbol">|</span> <a href="../types/ConfirmButton.html" class="tsd-signature-type tsd-kind-type-alias">ConfirmButton</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#removeplugin-1">removePlugin</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">pluginId</span><span class="tsd-signature-symbol">:</span> <a href="../types/PluginType.html" class="tsd-signature-type tsd-kind-type-alias">PluginType</a> <span class="tsd-signature-symbol">|</span> <a href="ImageViewerPluginReference.html" class="tsd-signature-type tsd-kind-interface">ImageViewerPluginReference</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#showabout-1">showAbout</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#findplugin-1">findPlugin</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">pluginId</span><span class="tsd-signature-symbol">:</span> <a href="../types/PluginType.html" class="tsd-signature-type tsd-kind-type-alias">PluginType</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="ImageViewerPluginReference.html" class="tsd-signature-type tsd-kind-interface">ImageViewerPluginReference</a> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#removeplugins-1">removePlugins</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#clearundo-1">clearUndo</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#executecommand-1">executeCommand</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">command</span><span class="tsd-signature-symbol">:</span> <a href="UndoCommandSupport.html" class="tsd-signature-type tsd-kind-interface">UndoCommandSupport</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#newimage-1">newImage</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="Size.html" class="tsd-signature-type tsd-kind-interface">Size</a><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">&amp;</span> <a href="../types/OpenParameters.html" class="tsd-signature-type tsd-kind-type-alias">OpenParameters</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#open-1">open</a><span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">file</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">URL</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Uint8Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">openParameters</span><span class="tsd-signature-symbol">?:</span> <a href="../types/ImageFormatName.html" class="tsd-signature-type tsd-kind-type-alias">ImageFormatName</a> <span class="tsd-signature-symbol">|</span> <a href="../enums/ImageFormatCode.html" class="tsd-signature-type tsd-kind-enum">ImageFormatCode</a> <span class="tsd-signature-symbol">|</span> <a href="../types/OpenParameters.html" class="tsd-signature-type tsd-kind-type-alias">OpenParameters</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#close-1">close</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#dispose-1">dispose</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#showactivityspinner-1">showActivitySpinner</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">container</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">HTMLElement</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#hideactivityspinner-1">hideActivitySpinner</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#startanimation-1">startAnimation</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#stopanimation-1">stopAnimation</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#toggleanimation-1">toggleAnimation</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#undo-1">undo</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#redo-1">redo</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#getevent-1">getEvent</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">eventName</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="EventFan.html" class="tsd-signature-type tsd-kind-interface">EventFan</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#triggerevent-1">triggerEvent</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">eventName</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">args</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#getoriginalimagedataurl-1">getOriginalImageDataUrl</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#getimagedataurl-1">getImageDataUrl</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#setimagedataurl-1">setImageDataUrl</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">dataUrl</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#showsecondtoolbar-1">showSecondToolbar</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">toolbarKey</span><span class="tsd-signature-symbol">:</span> <a href="../types/SecondToolbarType.html" class="tsd-signature-type tsd-kind-type-alias">SecondToolbarType</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#hidesecondtoolbar-1">hideSecondToolbar</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">toolbarKey</span><span class="tsd-signature-symbol">?:</span> <a href="../types/SecondToolbarType.html" class="tsd-signature-type tsd-kind-type-alias">SecondToolbarType</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#openlocalfile-1">openLocalFile</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#save-1">save</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <a href="../types/SaveOptions.html" class="tsd-signature-type tsd-kind-type-alias">SaveOptions</a><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">original</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#showmessage-1">showMessage</a><span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">message</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">details</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">severity</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;error&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;info&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;warn&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;debug&quot;</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel"><h4>Implemented by</h4><ul class="tsd-hierarchy"><li><a href="../classes/DsImageViewer.html" class="tsd-signature-type tsd-kind-class">DsImageViewer</a></li><li><a href="../classes/GcImageViewer.html" class="tsd-signature-type tsd-kind-class">GcImageViewer</a></li></ul></section><div style="margin-top: 64px"></div><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Methods</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="ensurepaintlayer"><span>ensure<wbr/>Paint<wbr/>Layer</span><a href="#ensurepaintlayer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="ensurepaintlayer-1"><span class="tsd-kind-call-signature">ensurePaintLayer</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="ImageLayer.html" class="tsd-signature-type tsd-kind-interface">ImageLayer</a><a href="#ensurepaintlayer-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Create at least one image layer which will be used for painting.</p> </div><h4 class="tsd-returns-title">Returns <a href="ImageLayer.html" class="tsd-signature-type tsd-kind-interface">ImageLayer</a></h4></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="removelayer"><span>remove<wbr/>Layer</span><a href="#removelayer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="removelayer-1"><span class="tsd-kind-call-signature">removeLayer</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">layerOrIndex</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <a href="ImageLayer.html" class="tsd-signature-type tsd-kind-interface">ImageLayer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#removelayer-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Remove and dispose image layer given by argument layerOrIndex.</p> </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">layerOrIndex</span>: <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <a href="ImageLayer.html" class="tsd-signature-type tsd-kind-interface">ImageLayer</a></span><div class="tsd-comment tsd-typography"><p>Image layer or image layer index or image layer name.</p> </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="removelayers"><span>remove<wbr/>Layers</span><a href="#removelayers" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="removelayers-1"><span class="tsd-kind-call-signature">removeLayers</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#removelayers-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Remove and dispose all image layers.</p> </div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="applyoptions"><span>apply<wbr/>Options</span><a href="#applyoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="applyoptions-1"><span class="tsd-kind-call-signature">applyOptions</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#applyoptions-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Call this method in order to apply changed options.</p> </div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example">Example<a href="#example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="javascript"><span class="hl-1">viewer</span><span class="hl-2">.</span><span class="hl-11">applyOptions</span><span class="hl-2">();</span> </code><button type="button">Copy</button></pre> </div></div></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="applytoolbarlayout"><span>apply<wbr/>Toolbar<wbr/>Layout</span><a href="#applytoolbarlayout" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="applytoolbarlayout-1"><span class="tsd-kind-call-signature">applyToolbarLayout</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#applytoolbarlayout-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Call this method in order to apply changes in @see:toolbarLayout.</p> </div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example-1">Example<a href="#example-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="javascript"><span class="hl-1">viewer</span><span class="hl-2">.</span><span class="hl-1">toolbarLayout</span><span class="hl-2">.</span><span class="hl-1">viewer</span><span class="hl-2">.</span><span class="hl-1">default</span><span class="hl-2"> = [</span><span class="hl-4">&quot;open&quot;</span><span class="hl-2">, </span><span class="hl-4">&quot;save&quot;</span><span class="hl-2">];</span><br/><span class="hl-1">viewer</span><span class="hl-2">.</span><span class="hl-11">applyToolbarLayout</span><span class="hl-2">();</span> </code><button type="button">Copy</button></pre> </div><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example-2">Example<a href="#example-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="javascript"><span class="hl-2"> </span><span class="hl-0">const</span><span class="hl-2"> </span><span class="hl-10">viewer</span><span class="hl-2"> = </span><span class="hl-0">new</span><span class="hl-2"> </span><span class="hl-11">DsImageViewer</span><span class="hl-2">(</span><span class="hl-1">document</span><span class="hl-2">.</span><span class="hl-11">querySelector</span><span class="hl-2">(</span><span class="hl-4">&quot;#viewer&quot;</span><span class="hl-2">));</span><br/><span class="hl-2"> </span><span class="hl-0">const</span><span class="hl-2"> </span><span class="hl-10">toolbar</span><span class="hl-2"> = </span><span class="hl-1">viewer</span><span class="hl-2">.</span><span class="hl-1">toolbar</span><span class="hl-2">;</span><br/><span class="hl-2"> </span><span class="hl-0">const</span><span class="hl-2"> </span><span class="hl-10">toolbarLayout</span><span class="hl-2"> = </span><span class="hl-1">viewer</span><span class="hl-2">.</span><span class="hl-1">toolbarLayout</span><span class="hl-2">;</span><br/><span class="hl-2"> </span><span class="hl-1">toolbar</span><span class="hl-2">.</span><span class="hl-11">addItem</span><span class="hl-2">({</span><br/><span class="hl-2"> </span><span class="hl-1">key:</span><span class="hl-2"> </span><span class="hl-4">&#39;custom-action&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-1">icon:</span><span class="hl-2"> { </span><span class="hl-1">type:</span><span class="hl-2"> </span><span class="hl-4">&quot;svg&quot;</span><span class="hl-2">, </span><span class="hl-1">content:</span><span class="hl-2"> </span><span class="hl-4">&#39;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; version=&quot;1.1&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot;&gt;&lt;path style=&quot;fill: #205F78;&quot; d=&quot;M20.25 12l-2.25 2.25 2.25 2.25-3.75 3.75-2.25-2.25-2.25 2.25-2.25-2.25-2.25 2.25-3.75-3.75 2.25-2.25-2.25-2.25 2.25-2.25-2.25-2.25 3.75-3.75 2.25 2.25 2.25-2.25 2.25 2.25 2.25-2.25 3.75 3.75-2.25 2.25 2.25 2.25z&quot;&gt;&lt;/path&gt;&lt;/s