import { ConfigEntity, Entity, PositionSchema } from '../../../common'; import { Rectangle } from '@gedit/math'; import { Emitter } from '@gedit/utils'; export interface PlaygroundConfigEntityData { scrollX: number; scrollY: number; originX: number; originY: number; width: number; height: number; clientX: number; clientY: number; resolution: number; reverseScroll: boolean; overflowX: 'hidden' | 'scroll'; overflowY: 'hidden' | 'scroll'; minZoom: number; maxZoom: number; zoom: number; scrollLimitX?: number; scrollLimitY?: number; pageBounds?: { x: number; y: number; width: number; height: number; }; loadingHTML: string; } export interface PlaygroundConfigRevealOpts { entities?: Entity[]; position?: PositionSchema; bounds?: Rectangle; selection?: boolean; scrollDelta?: PositionSchema; zoom?: number; easing?: boolean; easingDuration?: number; scrollToCenter?: boolean; } /** * 全局画布的配置信息 */ export declare class PlaygroundConfigEntity extends ConfigEntity { static type: string; private _loading; private _zoomEnable; protected onLoadingChangedEmitter: Emitter; readonly onLoadingChanged: import("@gedit/utils").Event; cursor: string; getDefaultConfig(): PlaygroundConfigEntityData; /** * 更新实体配置 * @param props */ updateConfig(props: Partial): void; /** * 最终缩放比 */ get finalScale(): number; get scrollData(): { scrollX: number; scrollY: number; }; protected normalizeZoom(zoom: number): number; /** * 修改画布光标 * @param cursor */ updateCursor(cursor: string): void; /** * 获取相对画布的位置 * @param event * @param widthScale 是否要计算缩放 */ getPosFromMouseEvent(event: { clientX: number; clientY: number; }, withScale?: boolean): PositionSchema; /** * 将画布中的位置转成相对window的位置 * @param pos */ toFixedPos(pos: PositionSchema): PositionSchema; /** * 获取可视区域 */ getBoundsVisible(withScale?: boolean): Rectangle; /** * 判断矩形是否在可视区域 * @param bounds * @param rotation * @param includeAll - 是否包含在里边, 默认false, TODO allVisible判断 暂时不支持旋转后的情况 */ isBoundsVisible(bounds: Rectangle, rotation?: number, includeAll?: boolean): boolean; /** * 按下边顺序执行 * 1. 指定的entity位置或pos位置 * 2. selection位置 * 3. 初始化位置 */ scrollToView(opts?: PlaygroundConfigRevealOpts): Promise; /** * 这只画布边框,元素编辑的时候回吸附画布边框 * @param bounds */ setPageBounds(bounds: Rectangle): void; getPageBounds(): Rectangle | undefined; /** * 滚动到画布中央 * @param zoomToFit 是否缩放并适配外围大小 * @param fitPadding 适配外围的留白 * @param easing 是否缓动 */ scrollPageBoundsToCenter(zoomToFit?: boolean, fitPadding?: number, easing?: boolean): Promise; private cancelScrollTeeen?; /** * 滚动 * @param scroll * @param easing - 是否开启缓动, 默认开启 * @param easingDuration - 滚动持续时间, 默认300ms */ scroll(scroll: Partial<{ scrollX: number; scrollY: number; zoom: number; }>, easing?: boolean, easingDuration?: number): Promise; /** * 让layer的node节点不随着画布滚动条滚动 * @param layerNode */ fixLayerPosition(layerNode: HTMLElement): void; get loading(): boolean; set loading(loading: boolean); get zoomEnable(): boolean; /** * 开启缩放 * @param zoomEnable */ set zoomEnable(zoomEnable: boolean); /** * 放大 */ zoomin(easing?: boolean, easingDuration?: number): void; /** * 缩小 */ zoomout(easing?: boolean, easingDuration?: number): void; updateZoom(newZoom: number, easing?: boolean, easingDuration?: number): void; } //# sourceMappingURL=playground-config-entity.d.ts.map