@visactor/vrender-core
Version:
```typescript import { xxx } from '@visactor/vrender-core'; ```
31 lines (30 loc) • 2.1 kB
TypeScript
import { type IMatrix, type IPoint, type IPointLike } from '@visactor/vutils';
import type { IContext2d, IGraphic, IGroup, EnvType, IGlobal, IPickerService, IGraphicPicker, IPickParams, PickResult, IPickItemInterceptorContribution, IContributionProvider, IPickServiceInterceptorContribution } from '../interface';
import type { IPickerRegistry } from '../registry';
interface IPickerServiceDeps {
pickerRegistry?: IPickerRegistry;
pickItemInterceptorContributions?: IContributionProvider<IPickItemInterceptorContribution>;
pickServiceInterceptorContributions?: IContributionProvider<IPickServiceInterceptorContribution>;
global?: IGlobal;
}
export declare abstract class DefaultPickService implements IPickerService {
protected pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>;
protected pickServiceInterceptorContributions: IContributionProvider<IPickServiceInterceptorContribution>;
type: string;
pickerMap: Map<number, IGraphicPicker>;
pickContext?: IContext2d;
InterceptorContributions: IPickItemInterceptorContribution[];
pickerServiceInterceptorContributions: IPickServiceInterceptorContribution[];
global: IGlobal;
protected readonly pickerRegistry?: IPickerRegistry;
constructor(pickItemInterceptorContributions?: IContributionProvider<IPickItemInterceptorContribution>, pickServiceInterceptorContributions?: IContributionProvider<IPickServiceInterceptorContribution>, deps?: IPickerServiceDeps);
reInit(): void;
protected _init(): void;
abstract configure(global: IGlobal, env: EnvType): void;
pick(graphics: IGraphic[], point: IPoint, params: IPickParams): PickResult;
containsPoint(graphic: IGraphic, point: IPointLike, params: IPickParams): boolean;
pickGroup(group: IGroup, point: IPointLike, parentMatrix: IMatrix, params: IPickParams): PickResult;
abstract pickItem(graphic: IGraphic, point: IPointLike, parentMatrix: IMatrix | null, params: IPickParams): PickResult | null;
protected selectPicker(graphic: IGraphic): IGraphicPicker | null;
}
export {};