1982a4b57896f1e898fc029a68fd21d24e36f177fa98ff04e9d7dcd08a2247bfae6b31b58d932c10d0fc06cb6e13f50d96a802746cd6874d07747efc3ab799 1020 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import Gradient, {GradientColorStop, GradientObject} from './Gradient';
  2. export interface RadialGradientObject extends GradientObject {
  3. type: 'radial'
  4. x: number
  5. y: number
  6. r: number
  7. }
  8. /**
  9. * x, y, r are all percent from 0 to 1 when globalCoord is false
  10. */
  11. class RadialGradient extends Gradient {
  12. type: 'radial'
  13. x: number
  14. y: number
  15. r: number
  16. constructor(
  17. x: number, y: number, r: number,
  18. colorStops?: GradientColorStop[], globalCoord?: boolean
  19. ) {
  20. super(colorStops);
  21. // Should do nothing more in this constructor. Because gradient can be
  22. // declard by `color: {type: 'radial', colorStops: ...}`, where
  23. // this constructor will not be called.
  24. this.x = x == null ? 0.5 : x;
  25. this.y = y == null ? 0.5 : y;
  26. this.r = r == null ? 0.5 : r;
  27. // Can be cloned
  28. this.type = 'radial';
  29. // If use global coord
  30. this.global = globalCoord || false;
  31. }
  32. }
  33. export default RadialGradient;