pikaso
Version:
Seamless, Fully-typed and Fully-tested HTML5 Canvas Library
43 lines (42 loc) • 1.56 kB
TypeScript
import Konva from 'konva';
import { Board } from '../Board';
import { ShapeModel } from '../shape/ShapeModel';
import type { Filters, FilterFunctions } from '../types';
export declare class Selection {
list: Array<ShapeModel>;
transformer: Konva.Transformer;
private board;
private readonly filter;
private zone;
private dimensionsTag;
private startPointerPosition;
constructor(board: Board);
get shapes(): ShapeModel<import("konva/lib/Shape").Shape<import("konva/lib/Shape").ShapeConfig> | import("konva/lib/Group").Group, import("konva/lib/Shape").ShapeConfig>[];
get isVisible(): boolean;
get isDisabled(): boolean;
getTransformer(): import("konva/lib/shapes/Transformer").Transformer;
find(selector: (shape: ShapeModel) => boolean): void;
selectAll(): void;
deselectAll(): void;
reselect(): void;
multi(shapes: ShapeModel[]): void;
add(shape: ShapeModel): void;
toggle(shape: ShapeModel): void;
deselect(shape: ShapeModel): void;
delete(): void;
moveX(value: number): Promise<unknown>;
moveY(value: number): Promise<unknown>;
addFilter(filters: Filters | Filters[]): void;
removeFilter(filters: FilterFunctions | FilterFunctions[]): void;
group(groupName: string): void;
private createZone;
private createTransformer;
private onDragZoneStart;
private onDragZoneMove;
private onDragZoneEnd;
private onWindowMouseUp;
private onKeyDown;
private getParentNode;
private isBackgroundNode;
private getTransformerRect;
}