Blame view

node_modules/zrender/src/graphic/LinearGradient.ts 1.07 KB
bd028579   易尊强   2/28
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
45
46
47
48
49
  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;
      }
  };