@mescius/dsimageviewer
Version:
Document Solutions Image Viewer
196 lines (195 loc) • 8.96 kB
TypeScript
/// <reference path="../../vendor/react/react.d.ts" />
//@ts-ignore
import { Component, LegacyRef } from 'react';
//@ts-ignore
import { Color, ComboBox, Size } from '@grapecity/core-ui';
/// <reference path="../../vendor/i18next.d.ts" />
//@ts-ignore
import { i18n } from 'i18next';
import { PaintToolsPlugin } from './PaintToolsPlugin';
import { Bounds, IGcSelectionBox, PointLocation, SelectionBoundsChangedParams } from '../../ImageViewer/Models/SelectionBoxTypes';
import { IViewerTransactionSupport } from '../../ImageViewer/Models/IViewerTransactionSupport';
import { IImageViewer, PaintToolType, ToolbarItemType } from '../../ImageViewer/Models/IImageViewer';
import { PaintToolbarProps, PaintToolbarState, PaintToolbarVariant, SharedUndoHeap } from './types';
import { IImageLayer, IPaintCommand, IPaintDesignerContext, IPaintObject, PaintCommandName, PaintObjectPropertyName } from '../../ImageViewer/Layers/types';
import { IPaintObjectDesigner } from './Objects/IPaintObjectDesigner';
import { SelectedRegionsDispatcher } from './Tools/Selection/SelectedRegionsDispatcher';
import { InternalFilterName } from './Tools/InternalFilters';
import { SelectionToolType } from './Tools/Selection/types';
export declare class PaintToolbar extends Component<PaintToolbarProps, PaintToolbarState> implements IViewerTransactionSupport, IPaintDesignerContext {
static instances: {
[id: string]: PaintToolbar | null;
};
private _activatedComboBox?;
private _activatedDropdown?;
private _colorDropdown;
private _selectionToolDropdown;
private _cloneStampSourcePoint?;
private _cloneStampSourceDistance?;
private _isMounted;
private _onZoomChangedEventBusHandler?;
private _objectDesigners;
private _undoCommands;
private _undoIndex;
private _selectedRegionsDispatcher;
constructor(props: any, context: any);
getPaintObjectDesigners(): IPaintObjectDesigner[];
get selectedRegionsDispatcher(): SelectedRegionsDispatcher;
get in17n(): i18n;
get isMounted(): boolean;
get paintLayer(): IImageLayer;
get lastSelectedObjectDesigner(): IPaintObjectDesigner | null;
get selectedObjectDesigners(): IPaintObjectDesigner[];
get selectedToolKey(): PaintToolType;
get foreColor(): Color;
set foreColor(color: Color);
get penSize(): number;
set penSize(val: number);
get brushSize(): number;
set brushSize(val: number);
get eraserSize(): number;
set eraserSize(val: number);
get cloneStampSize(): number;
set cloneStampSize(val: number);
get fontSize(): number;
set fontSize(val: number);
onFontSizeChanged(val: number, dirty: boolean): void;
get pencilOpacity(): number;
set pencilOpacity(val: number);
get brushOpacity(): number;
set brushOpacity(val: number);
get eraserOpacity(): number;
set eraserOpacity(val: number);
get cloneStampOpacity(): number;
set cloneStampOpacity(val: number);
get fontOpacity(): number;
set fontOpacity(val: number);
limitOpacityBounds(opacity: number): number;
get brushHardness(): number;
set brushHardness(val: number);
get eraserHardness(): number;
set eraserHardness(val: number);
get cloneStampHardness(): number;
set cloneStampHardness(val: number);
get fontName(): string;
set fontName(val: string);
get fontItalic(): boolean;
set fontItalic(val: boolean);
get fontBold(): boolean;
set fontBold(val: boolean);
get fontNames(): string[];
get selectionBox(): IGcSelectionBox;
get viewer(): IImageViewer;
get toolbarVariant(): PaintToolbarVariant;
get maxWidth(): number;
get maxHeight(): number;
getX(): number;
setX(x: number, checkBounds?: boolean): void;
getY(): number;
setY(y: number, checkBounds?: boolean): void;
getWidth(): number;
getHeight(): number;
get naturalRatio(): number;
static showDialog(paintToolsPlugin: PaintToolsPlugin): void;
ensurePaintLayerReady(): Promise<IImageLayer>;
getUndoCommands(): IPaintCommand[];
get scrollContainer(): HTMLDivElement;
toggleOriginalImageAppearance(hideOriginalImage: boolean): void;
limitLineSizeBounds(val: number): number;
limitHardnessBounds(val: number): number;
limitFontSizeBounds(val: number): number;
clearSelection(): void;
get useOriginalImage(): boolean;
set useOriginalImage(value: boolean);
repaint(): Promise<void>;
toggleTool(toolKey?: PaintToolType, checked?: boolean): Promise<void>;
onPaintObjectPropertyChanged(propertyName: PaintObjectPropertyName, val: any, dirty?: boolean): void;
onPaintObjectSelection(designer: IPaintObjectDesigner, selected: boolean): void;
show(): void;
hide(): void;
_startSelectionCoords: PointLocation;
executeTempPaintCommand(cmd: IPaintCommand): void;
flushTempPaintCommands(mainCtx: CanvasRenderingContext2D, backCtx: CanvasRenderingContext2D): void;
confirmClose(saveChangesVariant?: boolean): Promise<boolean>;
onSelectionBoundsChanged(penCoords: PointLocation[] | Bounds, params: SelectionBoundsChangedParams): void;
rasterizePaintObject(paintObject: IPaintObject): void;
getSelectedClipPaths(relativeToBounds?: boolean): Path2D[];
selectAll(): void;
copySelectedRegions(): boolean;
get paintCanvasScale(): number;
get leftTopVisiblePosition(): PointLocation;
pasteSelectedRegions(): void;
executePaintCommand(cmd: IPaintCommand | null, mainCtx?: CanvasRenderingContext2D, backCtx?: CanvasRenderingContext2D): void;
storePaintCommand(cmd: IPaintCommand): void;
get hasUndoPaint(): boolean;
get hasRedoPaint(): boolean;
isObjectCommand(cmd?: IPaintCommand): boolean;
shouldBreakUndoSequence(cmd: IPaintCommand | undefined, prevCmdName: PaintCommandName | undefined, sharedHeap?: SharedUndoHeap): boolean;
get undoIndex(): number;
undoPaint(endIndex?: number): Promise<void>;
redoPaint(): Promise<void>;
ensureSelectedObject(): void;
paintCommands(startCommandIndex: number, endCommandIndex: number): Promise<void>;
ensureSelectionBox(): void;
showSelectionBox(toolKey: PaintToolType): void;
updateSelectionBox(): void;
disableSelectionBox(): void;
hideSelectionBox(): void;
componentWillUnmount(): void;
componentDidMount(): void;
saveStateToLocalStorage(): void;
loadStateFromLocalStorage(callback: any): void;
renderToolbarItems(toolbarLayout: ToolbarItemType[]): JSX.Element[];
render(): JSX.Element | null;
apply(): Promise<void>;
confirmChanges(): Promise<void>;
cancelChanges(): Promise<void | boolean>;
undoTransactionStep(): boolean | void;
redoTransactionStep(): boolean | void;
getSizeToolParams(selectedToolKey?: PaintToolType): {
sizeSelectDisabled: boolean;
sizeFromState: string | number | undefined;
hardnessFromState: string | number | undefined;
opacityFromState: string | number | undefined;
disableOpacity: any;
disableHardness: any;
};
renderSizeTool(selectedToolKey?: PaintToolType, lastSelectedBrushToolKey?: PaintToolType): JSX.Element;
private onColorSelect;
onSelectionToolSelect(selectionToolType: SelectionToolType): void;
get selectionToolType(): SelectionToolType;
set selectionToolType(selectionToolType: SelectionToolType);
get toolSize(): number;
getToolSize(paintToolType: PaintToolType, defaultValue?: number): number;
set toolSize(val: number);
getToolHardness(toolType: PaintToolType, defaultValue?: number): number;
get toolHardness(): number;
set toolHardness(val: number);
get toolOpacity(): number;
set toolOpacity(val: number);
private onSizeSelect;
private onFonSizeSelect;
private onFontNameSelect;
private closeActiveComboBox;
private _bindEvents;
onKeyDown(e: KeyboardEvent, params: {
alt: boolean;
space: boolean;
shift: boolean;
}): void;
commitSelectedRegion(): void;
finishSelectedRegion(force?: boolean): boolean;
onKeyUp(e: KeyboardEvent, params: {
alt: boolean;
space: boolean;
shift: boolean;
}): void;
onCut(): Promise<void>;
onSelectAll(): void;
onCopy(): void;
onPaste(): void;
applyRegionFilter(filter: InternalFilterName, intencityValue1?: number, intencityValue2?: number, replaceSameFilter?: boolean): Promise<void>;
onDeleteKeyDown(): Promise<void>;
private _unbindEvents;
}
export declare function renderPenWidthComboBox(controlWidth: number, pencilWidthValue: number | string | undefined, in17n: any, onSelect: (value: any, dirty: boolean) => void, refCallback: LegacyRef<ComboBox>, size?: Size, disabled?: boolean): JSX.Element;