import type { ILayer, RaContainer } from '@ramap/ra-core'; import type { IControlOption } from './baseControl'; import { Control } from './baseControl'; export interface ISwipeControlOption extends IControlOption { /** * 左侧的图层 */ layers: ILayer[]; /** * 右侧的图层 */ rightLayers: ILayer[]; /** * 设置卷帘的位置,值域为 0 到 1, 默认正中间为 0.5 */ ratio?: number; /** * 卷帘方向设置('vertical' | 'horizontal'),默认 'vertical' */ orientation?: 'vertical' | 'horizontal'; } export { Swipe }; export default class Swipe extends Control { /** * 是否正在拖动卷帘 */ private isMoving; /** * 掩模图层实例 */ private maskLayer; getDefault(): ISwipeControlOption; onAdd(): HTMLElement; addTo(mapletContainer: RaContainer): this; onRemove(): void; show(): void; hide(): void; setOptions(newOptions: Partial): void; private registerEvent; private unRegisterEvent; private setOrientationAndRatio; private setLayers; private addMaskToLayers; private removeMaskFromLayers; private move; private getMaskGeoData; private getMaskLayer; private updateMask; private getContainerDOMRect; private getContainerSize; private getBounds; /** * 添加要剪裁的图层 * @param layer 剪裁的图层 * @param addRight 是否添加图层到右侧, 默认添加到左侧. */ addLayer(layer: ILayer | ILayer[], addRight?: boolean): void; /** * 移除剪裁的图层 */ removeLayer(layer: ILayer | ILayer[]): void; /** * 清除所有图层 */ removeLayers(): void; }