| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import Eventful from 'zrender/lib/core/Eventful.js';
- import { ZRenderType } from 'zrender/lib/zrender.js';
- import { ZRElementEvent, RoamOptionMixin } from '../../util/types.js';
- import { Bind3 } from 'zrender/lib/core/util.js';
- import Group from 'zrender/lib/graphic/Group.js';
- export declare type RoamType = RoamOptionMixin['roam'];
- interface RoamOption {
- zoomOnMouseWheel?: boolean | 'ctrl' | 'shift' | 'alt';
- moveOnMouseMove?: boolean | 'ctrl' | 'shift' | 'alt';
- moveOnMouseWheel?: boolean | 'ctrl' | 'shift' | 'alt';
- /**
- * If fixed the page when pan
- */
- preventDefaultMouseMove?: boolean;
- }
- declare type RoamBehavior = 'zoomOnMouseWheel' | 'moveOnMouseMove' | 'moveOnMouseWheel';
- export interface RoamEventParams {
- 'zoom': {
- scale: number;
- originX: number;
- originY: number;
- isAvailableBehavior: Bind3<typeof isAvailableBehavior, null, RoamBehavior, ZRElementEvent>;
- };
- 'scrollMove': {
- scrollDelta: number;
- originX: number;
- originY: number;
- isAvailableBehavior: Bind3<typeof isAvailableBehavior, null, RoamBehavior, ZRElementEvent>;
- };
- 'pan': {
- dx: number;
- dy: number;
- oldX: number;
- oldY: number;
- newX: number;
- newY: number;
- isAvailableBehavior: Bind3<typeof isAvailableBehavior, null, RoamBehavior, ZRElementEvent>;
- };
- }
- export interface RoamControllerHost {
- target: Group;
- zoom: number;
- zoomLimit: {
- min?: number;
- max?: number;
- };
- }
- declare class RoamController extends Eventful<{
- [key in keyof RoamEventParams]: (params: RoamEventParams[key]) => void | undefined;
- }> {
- pointerChecker: (e: ZRElementEvent, x: number, y: number) => boolean;
- private _zr;
- private _opt;
- private _dragging;
- private _pinching;
- private _x;
- private _y;
- readonly enable: (this: this, controlType?: RoamType, opt?: RoamOption) => void;
- readonly disable: () => void;
- constructor(zr: ZRenderType);
- isDragging(): boolean;
- isPinching(): boolean;
- setPointerChecker(pointerChecker: RoamController['pointerChecker']): void;
- dispose(): void;
- private _mousedownHandler;
- private _mousemoveHandler;
- private _mouseupHandler;
- private _mousewheelHandler;
- private _pinchHandler;
- }
- declare function isAvailableBehavior(behaviorToCheck: RoamBehavior, e: ZRElementEvent, settings: Pick<RoamOption, RoamBehavior>): boolean;
- export default RoamController;
|