@mescius/dsimageviewer
Version:
Document Solutions Image Viewer
415 lines (357 loc) • 41 kB
HTML
<html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>PaintToolsPlugin | 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 ;
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 ;
}
}
/* 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 ;
}
.md-show {
display: none ;
}
}
</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">PaintToolsPlugin</a></li></ul><h1>Class PaintToolsPlugin</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>Paint Tools Plugin.
Adds the "Paint tools", "Effects" and "Text and Objects" buttons.</p>
</div><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="html"><span class="hl-5"><</span><span class="hl-6">script</span><span class="hl-7"> </span><span class="hl-8">src</span><span class="hl-7">=</span><span class="hl-9">"dsimageviewer.js"</span><span class="hl-5">></</span><span class="hl-6">script</span><span class="hl-5">></</span><span class="hl-6">head</span><span class="hl-5">></span><br/><span class="hl-5"><</span><span class="hl-6">script</span><span class="hl-7"> </span><span class="hl-8">src</span><span class="hl-7">=</span><span class="hl-9">"plugins/paintTools.js"</span><span class="hl-5">></</span><span class="hl-6">script</span><span class="hl-5">></span><br/><span class="hl-5"><</span><span class="hl-6">script</span><span class="hl-5">></span><br/><span class="hl-7"> </span><span class="hl-0">const</span><span class="hl-7"> </span><span class="hl-10">viewer</span><span class="hl-7"> </span><span class="hl-2">=</span><span class="hl-7"> </span><span class="hl-0">new</span><span class="hl-7"> </span><span class="hl-11">DsImageViewer</span><span class="hl-7">(</span><span class="hl-4">"#root"</span><span class="hl-7">);</span><br/><span class="hl-7"> </span><span class="hl-1">viewer</span><span class="hl-7">.</span><span class="hl-11">addPlugin</span><span class="hl-7">(</span><span class="hl-0">new</span><span class="hl-7"> </span><span class="hl-11">PaintToolsPlugin</span><span class="hl-7">());</span><br/><span class="hl-5"></</span><span class="hl-6">script</span><span class="hl-5">></span>
</code><button type="button">Copy</button></pre>
</div></div></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-Constructors"><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>Constructors</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="constructor"><span>constructor</span><a href="#constructor" 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="constructorpainttoolsplugin"><span class="tsd-signature-keyword">new</span> <span class="tsd-kind-constructor-signature">PaintToolsPlugin</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?:</span> <a href="../types/PaintToolsPluginOptions.html" class="tsd-signature-type tsd-kind-type-alias">PaintToolsPluginOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-class">PaintToolsPlugin</a><a href="#constructorpainttoolsplugin" 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-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">options</span>: <a href="../types/PaintToolsPluginOptions.html" class="tsd-signature-type tsd-kind-type-alias">PaintToolsPluginOptions</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="" class="tsd-signature-type tsd-kind-class">PaintToolsPlugin</a></h4></div></li></ul></section></section></details><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="isimageformatsupported"><span>is<wbr/>Image<wbr/>Format<wbr/>Supported</span><a href="#isimageformatsupported" 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="isimageformatsupported-1"><span class="tsd-kind-call-signature">isImageFormatSupported</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">imageFormat</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <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><br/> <span class="tsd-kind-parameter">allowUnknown</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> <span class="tsd-signature-type">boolean</span><a href="#isimageformatsupported-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>Determines whether the specified image format is supported for modifications.</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">imageFormat</span>: <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <a href="../enums/ImageFormatCode.html" class="tsd-signature-type tsd-kind-enum">ImageFormatCode</a></span><div class="tsd-comment tsd-typography"><p>The image format to check, either as an enum value or string.</p>
</div></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">allowUnknown</span>: <span class="tsd-signature-type">boolean</span></span><div class="tsd-comment tsd-typography"><p>If true, allows unknown formats (ImageFormatCode.Default) to be considered supported.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>True if the format is supported for modifications, false otherwise.</p>
<div class="tsd-comment tsd-typography"><div class="tsd-tag-remarks"><h4 class="tsd-anchor-link" id="remarks">Remarks<a href="#remarks" 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><p>The following formats are explicitly not supported:</p>
<ul>
<li>TIFF (ImageFormatCode.TIFF)</li>
<li>SVG (ImageFormatCode.SVG)</li>
<li>ICO (ImageFormatCode.ICO)</li>
<li>GIF (ImageFormatCode.GIF)</li>
</ul>
</div><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="ts"><span class="hl-12">// Check if PNG is supported</span><br/><span class="hl-0">const</span><span class="hl-2"> </span><span class="hl-10">supported</span><span class="hl-2"> = </span><span class="hl-11">isImageFormatSupported</span><span class="hl-2">(</span><span class="hl-1">ImageFormatCode</span><span class="hl-2">.</span><span class="hl-10">PNG</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="ts"><span class="hl-12">// Check if an unknown format is supported (returns false by default)</span><br/><span class="hl-0">const</span><span class="hl-2"> </span><span class="hl-10">supported</span><span class="hl-2"> = </span><span class="hl-11">isImageFormatSupported</span><span class="hl-2">(</span><span class="hl-4">'custom-format'</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-3">Example<a href="#example-3" 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="ts"><span class="hl-12">// Check if an unknown format is supported (returns true when allowUnknown is true)</span><br/><span class="hl-0">const</span><span class="hl-2"> </span><span class="hl-10">supported</span><span class="hl-2"> = </span><span class="hl-11">isImageFormatSupported</span><span class="hl-2">(</span><span class="hl-4">'custom-format'</span><span class="hl-2">, </span><span class="hl-0">true</span><span class="hl-2">);</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><p>Implementation of PaintToolsPluginAPI.isImageFormatSupported</p></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="dispose"><span>dispose</span><a href="#dispose" 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="dispose-1"><span class="tsd-kind-call-signature">dispose</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#dispose-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>Cleans up resources and disposes the plugin.</p>
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><p>Implementation of PaintToolsPluginAPI.dispose</p></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="removepaintlayer"><span>remove<wbr/>Paint<wbr/>Layer</span><a href="#removepaintlayer" 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="removepaintlayer-1"><span class="tsd-kind-call-signature">removePaintLayer</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#removepaintlayer-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>Removes and disposes the active paint layer. If no paint layer exists, this method does nothing.</p>
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><p>Implementation of PaintToolsPluginAPI.removePaintLayer</p></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="initialize"><span>initialize</span><a href="#initialize" 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="initialize-1"><span class="tsd-kind-call-signature">initialize</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">viewer</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/ImageViewerAPI.html" class="tsd-signature-type tsd-kind-interface">ImageViewerAPI</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#initialize-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>The method is called when the GcImageViewer component is initialized.</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">viewer</span>: <a href="../interfaces/ImageViewerAPI.html" class="tsd-signature-type tsd-kind-interface">ImageViewerAPI</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><p>Implementation of PaintToolsPluginAPI.initialize</p></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><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>Properties</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="viewer"><span>viewer</span><a href="#viewer" 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><div class="tsd-signature"><span class="tsd-kind-property">viewer</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/ImageViewerAPI.html" class="tsd-signature-type tsd-kind-interface">ImageViewerAPI</a></div><div class="tsd-comment tsd-typography"><p>Gets the image viewer instance.
The image viewer instance.</p>
</div><aside class="tsd-sources"><p>Implementation of PaintToolsPluginAPI.viewer</p></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="options"><span>options</span><a href="#options" 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><div class="tsd-signature"><span class="tsd-kind-property">options</span><span class="tsd-signature-symbol">:</span> <a href="../types/PaintToolsPluginOptions.html" class="tsd-signature-type tsd-kind-type-alias">PaintToolsPluginOptions</a></div><div class="tsd-comment tsd-typography"><p>Plugin options passed at construction time.</p>
</div><aside class="tsd-sources"><p>Implementation of PaintToolsPluginAPI.options</p></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="toolsoptions"><span>tools<wbr/>Options</span><a href="#toolsoptions" 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><div class="tsd-signature"><span class="tsd-kind-property">toolsOptions</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Required</span><span class="tsd-signature-symbol"><</span><a href="../types/ToolsOptions.html" class="tsd-signature-type tsd-kind-type-alias">ToolsOptions</a><span class="tsd-signature-symbol">></span></div><div class="tsd-comment tsd-typography"><p>Gets or sets the default visual properties for each paint and object tool at runtime.</p>
<p>Reading this property returns the last value set either via the constructor option
<code>toolsOptions</code> or by a previous assignment.</p>
<p>Setting this property immediately:</p>
<ul>
<li>updates the paint toolbar state (size, color, opacity, hardness for Pencil, Brush, Eraser, Clone Stamp, and Text),</li>
<li>updates the default style applied to <strong>newly created</strong> shape objects (Rectangle, Line, Arrow, Circle, Brackets, Image).</li>
</ul>
<p>Previously placed objects and the user's own interactive adjustments are not affected.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example-4">Example<a href="#example-4" 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-12">// Change arrow and pencil defaults after the viewer has opened</span><br/><span class="hl-0">const</span><span class="hl-2"> </span><span class="hl-10">plugin</span><span class="hl-2"> = </span><span class="hl-1">viewer</span><span class="hl-2">.</span><span class="hl-11">findPlugin</span><span class="hl-2">(</span><span class="hl-4">'paintTools'</span><span class="hl-2">);</span><br/><span class="hl-1">plugin</span><span class="hl-2">.</span><span class="hl-1">toolsOptions</span><span class="hl-2"> = {</span><br/><span class="hl-2"> </span><span class="hl-1">lineWidth:</span><span class="hl-2"> </span><span class="hl-14">3</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-1">lineColor:</span><span class="hl-2"> </span><span class="hl-4">'#cc0000'</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-1">penSize:</span><span class="hl-2"> </span><span class="hl-14">5</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-1">penColor:</span><span class="hl-2"> </span><span class="hl-4">'#333333'</span><span class="hl-2">,</span><br/><span class="hl-2">};</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><p>Implementation of PaintToolsPluginAPI.toolsOptions</p></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="effectstoolbarlayout"><span>effects<wbr/>Toolbar<wbr/>Layout</span><a href="#effectstoolbarlayout" 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><div class="tsd-signature"><span class="tsd-kind-property">effectsToolbarLayout</span><span class="tsd-signature-symbol">:</span> <a href="../types/ToolbarItemType.html" class="tsd-signature-type tsd-kind-type-alias">ToolbarItemType</a><span class="tsd-signature-symbol">[]</span></div><div class="tsd-comment tsd-typography"><p>Returns the resolved item layout for the Effects toolbar.
Reflects <code>toolbarLayout.effectsTools</code> from plugin options:
<code>true</code>/<code>undefined</code>/<code>null</code> → default layout; <code>false</code> → empty array; array → used as-is.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-see"><h4 class="tsd-anchor-link" id="see">See<a href="#see" 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></div></div><aside class="tsd-sources"><p>Implementation of PaintToolsPluginAPI.effectsToolbarLayout</p></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="painttoolbarlayout"><span>paint<wbr/>Toolbar<wbr/>Layout</span><a href="#painttoolbarlayout" 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><div class="tsd-signature"><span class="tsd-kind-property">paintToolbarLayout</span><span class="tsd-signature-symbol">:</span> <a href="../types/ToolbarItemType.html" class="tsd-signature-type tsd-kind-type-alias">ToolbarItemType</a><span class="tsd-signature-symbol">[]</span></div><div class="tsd-comment tsd-typography"><p>Returns the layout for the effects tools toolbar.
If the value is <code>true</code>, <code>undefined</code>, or <code>null</code>, a default layout is returned.
If the value is <code>false</code>, an empty layout is returned.
Otherwise, the provided custom layout is used.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-see"><h4 class="tsd-anchor-link" id="see-1">See<a href="#see-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></div></div><aside class="tsd-sources"><p>Implementation of PaintToolsPluginAPI.paintToolbarLayout</p></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="texttoolbarlayout"><span>text<wbr/>Toolbar<wbr/>Layout</span><a href="#texttoolbarlayout" 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><div class="tsd-signature"><span class="tsd-kind-property">textToolbarLayout</span><span class="tsd-signature-symbol">:</span> <a href="../types/ToolbarItemType.html" class="tsd-signature-type tsd-kind-type-alias">ToolbarItemType</a><span class="tsd-signature-symbol">[]</span></div><div class="tsd-comment tsd-typography"><p>Returns the layout for the effects tools toolbar.
If the value is <code>true</code>, <code>undefined</code>, or <code>null</code>, a default layout is returned.
If the value is <code>false</code>, an empty layout is returned.
Otherwise, the provided custom layout is used.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-see"><h4 class="tsd-anchor-link" id="see-2">See<a href="#see-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></div></div><aside class="tsd-sources"><p>Implementation of PaintToolsPluginAPI.textToolbarLayout</p></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="objectstoolbarlayout"><span>objects<wbr/>Toolbar<wbr/>Layout</span><a href="#objectstoolbarlayout" 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><div class="tsd-signature"><span class="tsd-kind-property">objectsToolbarLayout</span><span class="tsd-signature-symbol">:</span> <a href="../types/ToolbarItemType.html" class="tsd-signature-type tsd-kind-type-alias">ToolbarItemType</a><span class="tsd-signature-symbol">[]</span></div><div class="tsd-comment tsd-typography"><p>Returns the layout for the effects tools toolbar.
If the value is <code>true</code>, <code>undefined</code>, or <code>null</code>, a default layout is returned.
If the value is <code>false</code>, an empty layout is returned.
Otherwise, the provided custom layout is used.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-see"><h4 class="tsd-anchor-link" id="see-3">See<a href="#see-3" 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></div></div><aside class="tsd-sources"><p>Implementation of PaintToolsPluginAPI.objectsToolbarLayout</p></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="paintlayer"><span>paint<wbr/>Layer</span><a href="#paintlayer" 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><div class="tsd-signature"><span class="tsd-kind-property">paintLayer</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/ImageLayer.html" class="tsd-signature-type tsd-kind-interface">ImageLayer</a></div><div class="tsd-comment tsd-typography"><p>Gets the paint layer containing the HTML canvas for drawing the image.</p>
</div><aside class="tsd-sources"><p>Implementation of PaintToolsPluginAPI.paintLayer</p></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="isready"><span>is<wbr/>Ready</span><a href="#isready" 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><div class="tsd-signature"><span class="tsd-kind-property">isReady</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><div class="tsd-comment tsd-typography"><p>Returns true if the image is loaded into the viewer and the image format is supported by the Image Filters plugin.</p>
</div><aside class="tsd-sources"><p>Implementation of PaintToolsPluginAPI.isReady</p></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="naturalsize"><span>natural<wbr/>Size</span><a href="#naturalsize" 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><div class="tsd-signature"><span class="tsd-kind-property">naturalSize</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/Size.html" class="tsd-signature-type tsd-kind-interface">Size</a></div><div class="tsd-comment tsd-typography"><p>Natural image size.</p>
</div><aside class="tsd-sources"><p>Implementation of PaintToolsPluginAPI.naturalSize</p></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="id"><span>id</span><a href="#id" 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><div class="tsd-signature"><span class="tsd-kind-property">id</span><span class="tsd-signature-symbol">:</span> <a href="../types/PluginType.html" class="tsd-signature-type tsd-kind-type-alias">PluginType</a></div><div class="tsd-comment tsd-typography"><p>Unique plug-in identifier.</p>
</div><aside class="tsd-sources"><p>Implementation of PaintToolsPluginAPI.id</p></aside></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-page-navigation"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary><div><a href="#constructor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><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>Methods</summary><div><a href="#isimageformatsupported"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>is<wbr/>Image<wbr/>Format<wbr/>Supported</span></a><a href="#dispose"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>dispose</span></a><a href="#removepaintlayer"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>remove<wbr/>Paint<wbr/>Layer</span></a><a href="#initialize"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>initialize</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#viewer"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>viewer</span></a><a href="#options"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>options</span></a><a href="#toolsoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>tools<wbr/>Options</span></a><a href="#effectstoolbarlayout"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>effects<wbr/>Toolbar<wbr/>Layout</span></a><a href="#painttoolbarlayout"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>paint<wbr/>Toolbar<wbr/>Layout</span></a><a href="#texttoolbarlayout"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>text<wbr/>Toolbar<wbr/>Layout</span></a><a href="#objectstoolbarlayout"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>objects<wbr/>Toolbar<wbr/>Layout</span></a><a href="#paintlayer"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>paint<wbr/>Layer</span></a><a href="#isready"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>is<wbr/>Ready</span></a><a href="#naturalsize"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>natural<wbr/>Size</span></a><a href="#id"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>id</span></a></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">Document Solutions Image Viewer - v9.1.3</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><div class="overlay"></div></body></html>