@visactor/vrender-components
Version:
components library for dp visualization
67 lines (66 loc) • 2 kB
TypeScript
import type { FederatedPointerEvent } from '@visactor/vrender-core';
import { AbstractComponent } from '../core/base';
import type { BrushAttributes } from './type';
import type { ComponentOptions } from '../interface';
export declare class Brush extends AbstractComponent<Required<BrushAttributes>> {
name: string;
static defaultAttributes: {
trigger: string;
updateTrigger: string;
endTrigger: string;
resetTrigger: string;
hasMask: boolean;
brushMode: string;
brushType: string;
brushStyle: {
fill: string;
fillOpacity: number;
stroke: string;
strokeWidth: number;
};
brushMoved: boolean;
removeOnClick: boolean;
delayType: string;
delayTime: number;
interactiveRange: {
y1: number;
y2: number;
x1: number;
x2: number;
};
};
private _container;
private _activeDrawState;
private _cacheDrawPoints;
private _isDrawedBeforeEnd;
private _isDownBeforeUpOutside;
private _activeMoveState;
private _operatingMaskMoveDx;
private _operatingMaskMoveDy;
private _operatingMaskMoveRangeX;
private _operatingMaskMoveRangeY;
private _cacheMovePoint;
private _operatingMask;
private _brushMaskAABBBoundsDict;
constructor(attributes: BrushAttributes, options?: ComponentOptions);
private _bindBrushEvents;
private _isPosInBrushMask;
private _onBrushStart;
private _onBrushing;
private _onBrushingWithDelay;
private _onBrushEnd;
private _onBrushClear;
private _initDraw;
private _initMove;
private _drawing;
private _moving;
private _computeMaskPoints;
private _addBrushMask;
private _outOfInteractiveRange;
protected eventPosToStagePos(e: FederatedPointerEvent): {
x: number;
y: number;
};
protected render(): void;
releaseBrushEvents(): void;
}