blob: 02dbc03123cf24905d637215d36adaee2227350b (
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
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;
}
|