diff options
Diffstat (limited to 'src/client/views/nodes/imageEditor/imageEditorUtils/imageEditorInterfaces.ts')
-rw-r--r-- | src/client/views/nodes/imageEditor/imageEditorUtils/imageEditorInterfaces.ts | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/client/views/nodes/imageEditor/imageEditorUtils/imageEditorInterfaces.ts b/src/client/views/nodes/imageEditor/imageEditorUtils/imageEditorInterfaces.ts new file mode 100644 index 000000000..a14b55439 --- /dev/null +++ b/src/client/views/nodes/imageEditor/imageEditorUtils/imageEditorInterfaces.ts @@ -0,0 +1,43 @@ +import { IconProp } from '@fortawesome/fontawesome-svg-core'; +import { Doc } from '../../../../../fields/Doc'; + +export interface CursorData { + x: number; + y: number; + width: number; +} + +export interface Point { + x: number; + y: number; +} + +export enum ImageToolType { + GenerativeFill = 'genFill', + Cut = 'cut', +} + +export enum CutMode { + IN, + OUT, + DRAW_IN, + ERASE, +} + +export interface ImageEditTool { + type: ImageToolType; + name: string; + btnText: string; + icon: IconProp; + // this is the function that the image tool applies, so it can be defined depending on the tool + applyFunc: (currCutType: CutMode, brushWidth: number, prevEdits: { url: string; saveRes: Doc | undefined }[], isFirstDoc: boolean) => Promise<void>; + // these optional parameters are here because different tools require different brush sizes and defaults + sliderMin?: number; + sliderMax?: number; + sliderDefault?: number; +} + +export interface ImageDimensions { + width: number; + height: number; +} |