// 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
|
});
|
}
|
}
|