aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/nodes/imageEditor/imageEditorUtils/imageEditorInterfaces.ts
blob: 75659fc53c2f8db4e5ac703a584f98465817bb54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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 interface ImageEditTool {
    type: ImageToolType;
    name: string;
    btnText: string;
    icon: IconProp;
    applyFunc: (currCutType: BrushMode, brushWidth: number, prevEdits: { url: string; saveRes: Doc | undefined }[], isFirstDoc: boolean) => Promise<void>;
    sliderMin?: number;
    sliderMax?: number;
    sliderDefault?: number;
}

export enum BrushMode {
    IN,
    OUT,
    LINE_IN,
    LINE_OUT,
}

export interface ImageDimensions {
    width: number;
    height: number;
}