diff options
Diffstat (limited to 'src/client/views/nodes/imageEditor/imageEditorUtils/imageEditorInterfaces.ts')
| -rw-r--r-- | src/client/views/nodes/imageEditor/imageEditorUtils/imageEditorInterfaces.ts | 42 |
1 files changed, 42 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..02dbc0312 --- /dev/null +++ b/src/client/views/nodes/imageEditor/imageEditorUtils/imageEditorInterfaces.ts @@ -0,0 +1,42 @@ +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 = 'Generative Fill', + Cut = 'Cut', +} + +export enum CutMode { + IN, + OUT, + DRAW_IN, + ERASE, +} + +export interface ImageEditTool { + type: ImageToolType; + 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; +} |
