liusuyi
2023-04-24 4737f1e038743ced243c9e52423404d9034d6107
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
// TODO Should GradientObject been LinearGradientObject | RadialGradientObject
export interface GradientObject {
 
    id?: number
 
    type: string
 
    colorStops: GradientColorStop[]
 
    global?: boolean
}
 
export interface InnerGradientObject extends GradientObject {
    __canvasGradient: CanvasGradient
}
 
export interface GradientColorStop {
    offset: number
    color: string
}
 
export default class Gradient {
 
    id?: number
 
    type: string
 
    colorStops: GradientColorStop[]
 
    global: boolean
 
    constructor(colorStops: GradientColorStop[]) {
        this.colorStops = colorStops || [];
    }
 
    addColorStop(offset: number, color: string) {
        this.colorStops.push({
            offset,
            color
        });
    }
}