mh-two-thousand-and-two
2024-03-25 b8c93990f3fa5e50a8aca16bdc9c2758168aa0fd
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
43
44
// TODO Should GradientObject been LinearGradientObject | RadialGradientObject
export interface GradientObject {
 
    id?: number
 
    type: string
 
    colorStops: GradientColorStop[]
 
    global?: boolean
}
 
export interface InnerGradientObject extends GradientObject {
    __canvasGradient: CanvasGradient
    __width: number
    __height: number
}
 
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
        });
    }
}