project/node_modules/zrender/lib/graphic/Displayable.d.ts

99 lines
4.2 KiB
TypeScript

import Element, { ElementProps, ElementStatePropNames, ElementAnimateConfig, ElementCommonState } from '../Element';
import BoundingRect from '../core/BoundingRect';
import { PropType, Dictionary, MapToType } from '../core/types';
import Path from './Path';
import Animator from '../animation/Animator';
export interface CommonStyleProps {
shadowBlur?: number;
shadowOffsetX?: number;
shadowOffsetY?: number;
shadowColor?: string;
opacity?: number;
blend?: string;
}
export declare const DEFAULT_COMMON_STYLE: CommonStyleProps;
export declare const DEFAULT_COMMON_ANIMATION_PROPS: MapToType<DisplayableProps, boolean>;
export interface DisplayableProps extends ElementProps {
style?: Dictionary<any>;
zlevel?: number;
z?: number;
z2?: number;
culling?: boolean;
cursor?: string;
rectHover?: boolean;
progressive?: boolean;
incremental?: boolean;
ignoreCoarsePointer?: boolean;
batch?: boolean;
invisible?: boolean;
}
declare type DisplayableKey = keyof DisplayableProps;
declare type DisplayablePropertyType = PropType<DisplayableProps, DisplayableKey>;
export declare type DisplayableStatePropNames = ElementStatePropNames | 'style' | 'z' | 'z2' | 'invisible';
export declare type DisplayableState = Pick<DisplayableProps, DisplayableStatePropNames> & ElementCommonState;
interface Displayable<Props extends DisplayableProps = DisplayableProps> {
animate(key?: '', loop?: boolean): Animator<this>;
animate(key: 'style', loop?: boolean): Animator<this['style']>;
getState(stateName: string): DisplayableState;
ensureState(stateName: string): DisplayableState;
states: Dictionary<DisplayableState>;
stateProxy: (stateName: string) => DisplayableState;
}
declare class Displayable<Props extends DisplayableProps = DisplayableProps> extends Element<Props> {
invisible: boolean;
z: number;
z2: number;
zlevel: number;
culling: boolean;
cursor: string;
rectHover: boolean;
incremental: boolean;
ignoreCoarsePointer?: boolean;
style: Dictionary<any>;
protected _normalState: DisplayableState;
protected _rect: BoundingRect;
protected _paintRect: BoundingRect;
protected _prevPaintRect: BoundingRect;
dirtyRectTolerance: number;
useHoverLayer?: boolean;
__hoverStyle?: CommonStyleProps;
__clipPaths?: Path[];
__canvasFillGradient: CanvasGradient;
__canvasStrokeGradient: CanvasGradient;
__canvasFillPattern: CanvasPattern;
__canvasStrokePattern: CanvasPattern;
__svgEl: SVGElement;
constructor(props?: Props);
protected _init(props?: Props): void;
beforeBrush(): void;
afterBrush(): void;
innerBeforeBrush(): void;
innerAfterBrush(): void;
shouldBePainted(viewWidth: number, viewHeight: number, considerClipPath: boolean, considerAncestors: boolean): boolean;
contain(x: number, y: number): boolean;
traverse<Context>(cb: (this: Context, el: this) => void, context?: Context): void;
rectContain(x: number, y: number): boolean;
getPaintRect(): BoundingRect;
setPrevPaintRect(paintRect: BoundingRect): void;
getPrevPaintRect(): BoundingRect;
animateStyle(loop: boolean): Animator<this["style"]>;
updateDuringAnimation(targetKey: string): void;
attrKV(key: DisplayableKey, value: DisplayablePropertyType): void;
setStyle(obj: Props['style']): this;
setStyle<T extends keyof Props['style']>(obj: T, value: Props['style'][T]): this;
dirtyStyle(notRedraw?: boolean): void;
dirty(): void;
styleChanged(): boolean;
styleUpdated(): void;
createStyle(obj?: Props['style']): Props["style"];
useStyle(obj: Props['style']): void;
isStyleObject(obj: Props['style']): any;
protected _innerSaveToNormal(toState: DisplayableState): void;
protected _applyStateObj(stateName: string, state: DisplayableState, normalState: DisplayableState, keepCurrentStates: boolean, transition: boolean, animationCfg: ElementAnimateConfig): void;
protected _mergeStates(states: DisplayableState[]): DisplayableState;
protected _mergeStyle(targetStyle: CommonStyleProps, sourceStyle: CommonStyleProps): CommonStyleProps;
getAnimationStyleProps(): MapToType<DisplayableProps, boolean>;
protected static initDefaultProps: void;
}
export default Displayable;