Blame view

node_modules/zrender/lib/graphic/Path.d.ts 4.88 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
  import Displayable, { DisplayableProps, CommonStyleProps, DisplayableStatePropNames } from './Displayable';
  import Element, { ElementAnimateConfig } from '../Element';
  import PathProxy from '../core/PathProxy';
  import { PatternObject } from './Pattern';
  import { Dictionary, PropType, MapToType } from '../core/types';
  import BoundingRect from '../core/BoundingRect';
  import { LinearGradientObject } from './LinearGradient';
  import { RadialGradientObject } from './RadialGradient';
  import Animator from '../animation/Animator';
  export interface PathStyleProps extends CommonStyleProps {
      fill?: string | PatternObject | LinearGradientObject | RadialGradientObject;
      stroke?: string | PatternObject | LinearGradientObject | RadialGradientObject;
      decal?: PatternObject;
      strokePercent?: number;
      strokeNoScale?: boolean;
      fillOpacity?: number;
      strokeOpacity?: number;
      lineDash?: false | number[] | 'solid' | 'dashed' | 'dotted';
      lineDashOffset?: number;
      lineWidth?: number;
      lineCap?: CanvasLineCap;
      lineJoin?: CanvasLineJoin;
      miterLimit?: number;
      strokeFirst?: boolean;
  }
  export declare const DEFAULT_PATH_STYLE: PathStyleProps;
  export declare const DEFAULT_PATH_ANIMATION_PROPS: MapToType<PathProps, boolean>;
  export interface PathProps extends DisplayableProps {
      strokeContainThreshold?: number;
      segmentIgnoreThreshold?: number;
      subPixelOptimize?: boolean;
      style?: PathStyleProps;
      shape?: Dictionary<any>;
      autoBatch?: boolean;
      __value?: (string | number)[] | (string | number);
      buildPath?: (ctx: PathProxy | CanvasRenderingContext2D, shapeCfg: Dictionary<any>, inBatch?: boolean) => void;
  }
  declare type PathKey = keyof PathProps;
  declare type PathPropertyType = PropType<PathProps, PathKey>;
  interface Path<Props extends PathProps = PathProps> {
      animate(key?: '', loop?: boolean): Animator<this>;
      animate(key: 'style', loop?: boolean): Animator<this['style']>;
      animate(key: 'shape', loop?: boolean): Animator<this['shape']>;
      getState(stateName: string): PathState;
      ensureState(stateName: string): PathState;
      states: Dictionary<PathState>;
      stateProxy: (stateName: string) => PathState;
  }
  export declare type PathStatePropNames = DisplayableStatePropNames | 'shape';
  export declare type PathState = Pick<PathProps, PathStatePropNames> & {
      hoverLayer?: boolean;
  };
  declare class Path<Props extends PathProps = PathProps> extends Displayable<Props> {
      path: PathProxy;
      strokeContainThreshold: number;
      segmentIgnoreThreshold: number;
      subPixelOptimize: boolean;
      style: PathStyleProps;
      autoBatch: boolean;
      private _rectStroke;
      protected _normalState: PathState;
      protected _decalEl: Path;
      shape: Dictionary<any>;
      constructor(opts?: Props);
      update(): void;
      getDecalElement(): Path<PathProps>;
      protected _init(props?: Props): void;
      protected getDefaultStyle(): Props['style'];
      protected getDefaultShape(): {};
      protected canBeInsideText(): boolean;
      protected getInsideTextFill(): "#333" | "#ccc" | "#eee";
      protected getInsideTextStroke(textFill?: string): string;
      buildPath(ctx: PathProxy | CanvasRenderingContext2D, shapeCfg: Dictionary<any>, inBatch?: boolean): void;
      pathUpdated(): void;
      getUpdatedPathProxy(inBatch?: boolean): PathProxy;
      createPathProxy(): void;
      hasStroke(): boolean;
      hasFill(): boolean;
      getBoundingRect(): BoundingRect;
      contain(x: number, y: number): boolean;
      dirtyShape(): void;
      dirty(): void;
      animateShape(loop: boolean): Animator<this["shape"]>;
      updateDuringAnimation(targetKey: string): void;
      attrKV(key: PathKey, value: PathPropertyType): void;
      setShape(obj: Props['shape']): this;
      setShape<T extends keyof Props['shape']>(obj: T, value: Props['shape'][T]): this;
      shapeChanged(): boolean;
      createStyle(obj?: Props['style']): Props["style"];
      protected _innerSaveToNormal(toState: PathState): void;
      protected _applyStateObj(stateName: string, state: PathState, normalState: PathState, keepCurrentStates: boolean, transition: boolean, animationCfg: ElementAnimateConfig): void;
      protected _mergeStates(states: PathState[]): PathState;
      getAnimationStyleProps(): MapToType<PathProps, boolean>;
      isZeroArea(): boolean;
      static extend<Shape extends Dictionary<any>>(defaultProps: {
          type?: string;
          shape?: Shape;
          style?: PathStyleProps;
          beforeBrush?: Displayable['beforeBrush'];
          afterBrush?: Displayable['afterBrush'];
          getBoundingRect?: Displayable['getBoundingRect'];
          calculateTextPosition?: Element['calculateTextPosition'];
          buildPath(this: Path, ctx: CanvasRenderingContext2D | PathProxy, shape: Shape, inBatch?: boolean): void;
          init?(this: Path, opts: PathProps): void;
      }): {
          new (opts?: PathProps & {
              shape: Shape;
          }): Path;
      };
      protected static initDefaultProps: void;
  }
  export default Path;