12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import Gradient, {GradientObject, GradientColorStop} from './Gradient';
- export interface LinearGradientObject extends GradientObject {
- type: 'linear'
- x: number
- y: number
- x2: number
- y2: number
- }
- /**
- * x, y, x2, y2 are all percent from 0 to 1 when globalCoord is false
- */
- export default class LinearGradient extends Gradient {
- type: 'linear'
- x: number
- y: number
- x2: number
- y2: number
- constructor(
- x: number, y: number, x2: number, y2: number,
- colorStops?: GradientColorStop[], globalCoord?: boolean
- ) {
- super(colorStops);
- // Should do nothing more in this constructor. Because gradient can be
- // declard by `color: {type: 'linear', colorStops: ...}`, where
- // this constructor will not be called.
- this.x = x == null ? 0 : x;
- this.y = y == null ? 0 : y;
- this.x2 = x2 == null ? 1 : x2;
- this.y2 = y2 == null ? 0 : y2;
- // Can be cloned
- this.type = 'linear';
- // If use global coord
- this.global = globalCoord || false;
- }
- };
|