import * as React from 'react'; import { Layer } from './layer'; import { EditorStateConfigEntity, PathPointSelectionEntity, PlaygroundConfigEntity, RulerConfigEntity, SelectorConfigEntity, SnaplineConfigEntity } from './config'; import { Entity } from '../../common'; import { Rectangle } from '@gedit/math'; import { ResizeType } from '../able'; import { PlaygroundDrag } from '../utils/playground-drag'; import { SelectorEntityRendererProps } from './selector/selector-entity-renderer'; import { Adsorber } from '../utils/adsorber'; export declare class SelectorLayer extends Layer { protected playgroundConfigEntity: PlaygroundConfigEntity; protected selectorConfigEntity: SelectorConfigEntity; protected rulerConfigEntity: RulerConfigEntity; protected snaplineEntity: SnaplineConfigEntity; protected editorStateConfig: EditorStateConfigEntity; protected pathPointSelection: PathPointSelectionEntity; protected selectableNodes: Entity[]; protected dragableNodes: Entity[]; readonly node: HTMLDivElement; protected selectorBounds?: Rectangle; protected adsorbRefs?: Rectangle[]; protected adsorbLines?: Adsorber.Line[]; constructor(); /** * 选择器旋转 */ protected selectorRotate: PlaygroundDrag; protected selectorResize: PlaygroundDrag; /** * 数据准备后状态 */ onReady(): void; protected onDoubleClick(e: MouseEvent): boolean | undefined; /** * 点击控制器 */ protected onControlClick(key: string, e: React.MouseEvent): void; protected isMoving: boolean; protected isInOperation(): boolean; protected startMoving(e: MouseEvent): void; protected tryToSelectHoverred(): undefined | boolean; protected onMouseDown(e: MouseEvent): undefined | boolean; onBlur(): void; onFocus(): void; /** * hover状态 * @param e * @protected */ protected onHover(e: MouseEvent): undefined | boolean; /** * 通过鼠标获取节点 * @param e * @param ignoreSelected */ getNodeByMouseEvent(e: MouseEvent, ignoreSelected?: boolean): Entity | undefined; /** * 判断节点是否选中 * @param node */ isSelected(node: Entity): boolean; get selectedEntities(): Entity[]; get hoveredEntity(): Entity | undefined; get isDisabled(): boolean; get isVisible(): boolean; /** * 判断选择框是否包含鼠标点 * @param e * @protected */ protected isSelectorBoundsContains(e: MouseEvent): boolean; clearSelectedNodes(): void; clearHoveredNode(): void; /** * 渲染实体数据 */ drawEntities(selectedEntities: Entity[]): React.ReactNode[]; getEntityRendererProps(selectableEntity: Entity, selectedEntities: Entity[], isDisabled: boolean): (SelectorEntityRendererProps & { key: string; }) | undefined; draw(): React.JSX.Element; } //# sourceMappingURL=selector-layer.d.ts.map