d1b710040d8cb1bf5c6a7ffe609601a99452c5c0612f1e5676fcd6e55228305c477bdc2eff1a891fd46410771b226008b5618648736289537d992827efd937 755 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // TODO Should GradientObject been LinearGradientObject | RadialGradientObject
  2. export interface GradientObject {
  3. id?: number
  4. type: string
  5. colorStops: GradientColorStop[]
  6. global?: boolean
  7. }
  8. export interface InnerGradientObject extends GradientObject {
  9. __canvasGradient: CanvasGradient
  10. }
  11. export interface GradientColorStop {
  12. offset: number
  13. color: string
  14. }
  15. export default class Gradient {
  16. id?: number
  17. type: string
  18. colorStops: GradientColorStop[]
  19. global: boolean
  20. constructor(colorStops: GradientColorStop[]) {
  21. this.colorStops = colorStops || [];
  22. }
  23. addColorStop(offset: number, color: string) {
  24. this.colorStops.push({
  25. offset,
  26. color
  27. });
  28. }
  29. }