UNPKG

@mescius/dsimageviewer

Version:

Document Solutions Image Viewer

335 lines (334 loc) 14.5 kB
import { ImageFormatCode, ImageFormatName, LogLevel, OpenParameters, SaveOptions } from './Models/Types'; //@ts-ignore import { EventFan, PluginModel, ReportViewer, Toolbar, ToolbarLayout, ViewerStatus, ZoomMode } from '@grapecity/viewer-core'; import { ViewerOptions } from './ViewerOptions'; import { GcMeasurement } from './Utils/GcMeasurement'; //@ts-ignore import { PanelHandle } from '@grapecity/viewer-core/types/api/PluginModel'; import ImageReportPlugin from './plugin'; /// <reference path="../vendor/react/react-dom.d.ts" /> //@ts-ignore import ReactDOM from 'react-dom'; /// <reference path="../vendor/react/react.d.ts" /> //@ts-ignore import React, { Component, LegacyRef } from 'react'; import { LeftSidebar } from './LeftSidebar'; import { DataStorage } from './DataStorage/DataStorage'; import { ImageToolbarLayout } from './Toolbar/ImageToolbarLayout'; import { SecondToolbar } from './Toolbar/SecondToolbar/SecondToolbar'; import { AfterOpenEventArgs, BeforeOpenEventArgs, ErrorEventArgs, EventArgs, EventName, ImagePaintEventArgs } from './Models/EventArgs'; import { ImagePaneView } from './ImageDocumentViewer/ImagePaneView'; import { IViewerPlugin } from './Models/IViewerPlugin'; import { IGcSelectionBox, PointLocation } from './Models/SelectionBoxTypes'; import { SvgIconKey } from './Styles/svgIcons'; import { imageDataToCanvas } from './Utils/ImageUtils'; import { DomActivityIndicator } from './Utils/DomActivityIndicator'; import { UndoStorage } from './Undo/UndoStorage'; import { UndoCommandSupport } from './Undo/Commands'; import { GcPanSupport } from './Utils/GcPanSupport'; import { ShortcutsConfig } from './Keyboard/ShortcutsConfig'; import { IViewerTransactionSupport } from './Models/IViewerTransactionSupport'; import { IEventBus, IImageViewer, SecondToolbarType, WindowKeyboardListener } from './Models/IImageViewer'; import { ConfirmButton } from './Dialogs/Types'; import { IImageLayer } from './Layers/types'; //@ts-ignore import { Color, Dropdown } from '@grapecity/core-ui'; import { ColorEditorLocalization } from './Tools/ColorEditor/types'; /// <reference path="../vendor/i18next.d.ts" /> //@ts-ignore import { i18n } from 'i18next'; export declare class GcImageViewer extends ReportViewer implements IImageViewer { private static _i18n; static _instanceCounter: number; static instances: any; static focusedInstance?: GcImageViewer | null; private _plugin; private _isUpdating; private _viewerInstanceId; readonly in17n: i18n; private _disposed; private _eventsDef; private _fileStorage; private _plugins; private _secondToolbarLayout; private _secondToolbar; private _toolbarLayout; private _eventBus; private _selectionBox; private _layers; private _activeLayerIndex; constructor(element: HTMLElement | string, options?: Partial<ViewerOptions>); pluginPanels: { [key: string]: { handle: PluginModel.PanelHandle; panel: Component<any> | null; }; }; get actualZoomFactor(): number; get instanceId(): string; set instanceId(id: string); get imagePaneView(): ImagePaneView; get imageFormat(): ImageFormatCode; set imageFormat(imageFormat: ImageFormatCode); get hasImage(): boolean; get adaptiveNaturalSize(): { width: number; height: number; }; get actualSize(): { width: number; height: number; }; get isReady(): boolean; get language(): string; set language(lng: string); ensurePaintLayer(): IImageLayer; removeLayer(layerOrIndex: IImageLayer | number | string): void; removeLayers(): void; get layers(): IImageLayer[]; get activeLayerIndex(): number; set activeLayerIndex(ind: number); get activeLayer(): IImageLayer | undefined; get maxImageSize(): { width: number; height: number; }; get naturalSize(): { width: number; height: number; }; get openParameters(): OpenParameters | undefined; get options(): Partial<ViewerOptions>; set options(options: Partial<ViewerOptions>); get panSupport(): GcPanSupport | undefined; get selectionBox(): IGcSelectionBox; get toolbarLayout(): ImageToolbarLayout; set toolbarLayout(toolbarLayout: ImageToolbarLayout); get undoStorage(): UndoStorage; get hasUndo(): boolean; get hasRedo(): boolean; get undoIndex(): number; get undoCount(): number; get version(): string; static get i18n(): i18n; get frameIndex(): number; set frameIndex(val: number); get framesCount(): number; set zoomValue(val: number); get zoomValue(): number; set zoomMode(val: ZoomMode); get zoomMode(): ZoomMode; get eventBus(): IEventBus; get onAfterOpen(): EventFan<AfterOpenEventArgs>; get onBeforeOpen(): EventFan<BeforeOpenEventArgs>; get onError(): EventFan<ErrorEventArgs>; get onImagePaint(): EventFan<ImagePaintEventArgs>; static updateSvgIcon(iconKey: SvgIconKey, svgIcon: Element | string): void; static getSvgIcon(iconKey: SvgIconKey): Element; applyOptions(): void; applyToolbarLayout(): void; addPlugin(plugin: IViewerPlugin): boolean; private _keyboardListeners; private _onWindowKeydownHandler?; private _onWindowKeyupHandler?; altPressed: boolean; ctrlPressed: boolean; shiftPressed: boolean; spacePressed: boolean; addKeyboardListener(uniqueKey: string, handler: WindowKeyboardListener): void; private onWindowKeyDown; private onWindowKeyUp; removeKeyboardListener(uniqueKey: string): void; raiseKeyDown(event: KeyboardEvent): void; raiseKeyUp(event: KeyboardEvent): void; configurePluginMainToolbar(pos: number | boolean | undefined, buttonsToInsert: string[]): void; getEventCanvasPoint(event: PointerEvent | MouseEvent): PointLocation; renderColorDropdown(colorValue: Color | null | undefined, onSelect: (color: Color) => void, localization: ColorEditorLocalization, refCallback: LegacyRef<Dropdown>, settings?: { size?: 'small' | 'default' | 'large'; includeOpacity?: boolean; disabled?: boolean; }): JSX.Element; dataUrlToImageData(dataUrl: string, destinationSize?: { width: number; height: number; }): Promise<ImageData>; confirm(confirmationText?: string | JSX.Element, level?: "info" | "warning" | "error", title?: string, buttons?: ConfirmButton[]): Promise<boolean | ConfirmButton>; onFocus(): void; onBlur(): void; removePlugin(pluginId: string | IViewerPlugin): void; showAbout(): void; findPlugin(pluginId: string): IViewerPlugin | null; removePlugins(): void; clearUndo(): void; executeCommand(command: UndoCommandSupport): Promise<void>; newImage(options?: { width?: number; height?: number; } & OpenParameters): Promise<any>; canvasToDataURL(canvas: HTMLCanvasElement): string; get imageFormatSupportsTransparency(): boolean; performTransparencyConversionCheck(message: string): Promise<boolean>; open(file?: any | string | URL | Uint8Array | Array<number>, openParameters?: OpenParameters | ImageFormatName | ImageFormatCode): Promise<any>; dispose(): void; playAnimation(): void; showActivitySpinner(container?: HTMLElement): void; hideActivitySpinner(): void; startAnimation(): void; stopAnimation(): void; toggleAnimation(): void; undo(): Promise<void>; redo(): Promise<void>; getEvent(eventName: EventName): EventFan<any>; triggerEvent(eventName: EventName, args?: EventArgs | BeforeOpenEventArgs | AfterOpenEventArgs | ImagePaintEventArgs | any): void; transaction?: IViewerTransactionSupport; setTransaction(transaction: IViewerTransactionSupport): void; confirmChanges(): Promise<void>; cancelChanges(): Promise<void | boolean>; clearTransaction(transaction: IViewerTransactionSupport): void; static findControl(selector: string | HTMLElement): GcImageViewer | undefined; getOriginalImageDataUrl(): string; getImageDataUrl(): string; setImageDataUrl(dataUrl: any): Promise<void>; get secondToolbar(): SecondToolbar; get secondToolbarMode(): SecondToolbarType; invalidate(): void; showSecondToolbar(toolbarKey: SecondToolbarType): Promise<void>; hideSecondToolbar(toolbarKey?: SecondToolbarType): Promise<void>; activateEditorMode(caller: "SecondBar" | "FormEditor" | "AnnotationEdtor"): void; deactivateEditorMode(caller: "SecondBar" | "ViewerLayout"): void; logError(method: string, message: string): void; logDebug(method: string, message: string): void; close(): Promise<void>; openLocalFile(): any; print(): void; download(fileName?: string, original?: boolean): void; save(options?: string | SaveOptions, original?: boolean): void; raiseStateChanged(): void; get scrollViewElement(): HTMLElement; setTheme(theme?: string): void; beginUpdate(): void; endUpdate(): void; get isUpdating(): boolean; get isAnimationStarted(): boolean; static LicenseKey: string; get currentUserName(): string; set currentUserName(userName: string); get fileData(): Uint8Array | null; get fileName(): string; get fileUrl(): string; get leftSidebar(): LeftSidebar; get storage(): DataStorage; get hasDocument(): boolean; get logLevel(): LogLevel; set logLevel(logLvel: LogLevel); getType(typeName: string): typeof GcImageViewer | typeof React | typeof ImageReportPlugin | typeof ZoomMode | typeof ViewerStatus | typeof ReactDOM | typeof ViewerOptions | typeof Toolbar | typeof GcMeasurement | { cropImage: typeof import("./Utils/ImageUtils").cropImage; resizeImage: typeof import("./Utils/ImageUtils").resizeImage; resizeImageDataUrl: typeof import("./Utils/ImageUtils").resizeImageDataUrl; currentDisplayPxPerInch: typeof import("./Utils/ImageUtils").currentDisplayPxPerInch; getImageNaturalSize: typeof import("./Utils/ImageUtils").getImageNaturalSize; imageDataToCanvas: typeof imageDataToCanvas; setDpiAdaptiveSize: typeof import("./Utils/ImageUtils").setDpiAdaptiveSize; getDpiAdaptiveSize: typeof import("./Utils/ImageUtils").getDpiAdaptiveSize; copyImageCanvasToClipboard: typeof import("./Utils/ImageUtils").copyImageCanvasToClipboard; getImageCanvasFromClipboard: typeof import("./Utils/ImageUtils").getImageCanvasFromClipboard; } | { about: JSX.Element; 'severity-info': JSX.Element; 'severity-warning': JSX.Element; 'severity-error': JSX.Element; save: JSX.Element; rotate: JSX.Element; 'flip-horizontal': JSX.Element; 'flip-vertical': JSX.Element; 'crop-image': JSX.Element; 'resize-image': JSX.Element; 'magnify-minus-outline': JSX.Element; 'magnify-plus-outline': JSX.Element; magnify: JSX.Element; open: JSX.Element; 'page-tools': JSX.Element; 'paint-tools': JSX.Element; 'text-tools': JSX.Element; effects: JSX.Element; 'paint-undo': JSX.Element; 'paint-redo': JSX.Element; 'select-region': JSX.Element; QuickSelection: JSX.Element; FreeSelection: JSX.Element; RectangularSelection: JSX.Element; EllipticalSelection: JSX.Element; PolygonalSelection: JSX.Element; ColorSelection: JSX.Element; SubjectSelection: JSX.Element; pencil: JSX.Element; brush: JSX.Element; eraser: JSX.Element; text: JSX.Element; 'font-bold': JSX.Element; 'font-italic': JSX.Element; 'clone-stamp': JSX.Element; 'foreground-color': JSX.Element; 'image-filter-tools': JSX.Element; 'filter-blur': JSX.Element; 'filter-pixelate': JSX.Element; 'filter-brightness': JSX.Element; 'filter-contrast': JSX.Element; 'filter-vibrance': JSX.Element; 'filter-brightness-contrast': JSX.Element; print: JSX.Element; 'edit-undo': JSX.Element; 'edit-redo': JSX.Element; 'aspect-ratio': JSX.Element; chevron: JSX.Element; 'chevron-accent': JSX.Element; 'animated-spinner': JSX.Element; 'drag-handle': JSX.Element; keyboard: JSX.Element; image: JSX.Element; 'theme-change': JSX.Element; 'new-document': JSX.Element; 'new-page': JSX.Element; 'delete-page': JSX.Element; pan: JSX.Element; 'doc-properties': JSX.Element; 'context-copy': JSX.Element; 'context-paste': JSX.Element; 'context-cut': JSX.Element; 'context-delete': JSX.Element; 'arrow-expand-horizontal': JSX.Element; 'arrow-expand-all': JSX.Element; 'resize-handle-h': JSX.Element; close: JSX.Element; 'reset-values': JSX.Element; done: JSX.Element; 'file-png': JSX.Element; 'file-jpeg': JSX.Element; 'file-tiff': JSX.Element; 'file-gif': JSX.Element; 'file-bmp': JSX.Element; 'file-webp': JSX.Element; } | null; get plugin(): ImageReportPlugin; get secondToolbarLayout(): { [toolbarKey: string]: string[]; }; set secondToolbarLayout(layout: { [toolbarKey: string]: string[]; }); get shortcutsConfig(): ShortcutsConfig; get onThemeChanged(): EventFan<AfterOpenEventArgs>; openPanel(panelHandleOrId: PanelHandle | string): void; closePanel(panelHandleOrId?: PanelHandle | string): void; get beforeUnloadConfirmation(): boolean; set beforeUnloadConfirmation(enable: boolean); updateLayout(layout: ToolbarLayout): void; showMessage(message: string, details?: string, severity?: "error" | "warn" | "info" | "debug"): void; raiseError(message: string): void; clearMessages(): void; _domActivityIndicator: DomActivityIndicator; onLoadProgress(percent?: number): void; get domActivityIndicator(): DomActivityIndicator; private _getEventFan; private static _init_i18n; }