UNPKG

@teachinglab/omd

Version:

omd

75 lines (44 loc) 2.12 kB
# SelectTool The `SelectTool` is a tool for selecting, moving, and deleting stroke segments on the canvas. It extends the `Tool` class. ## Class Definition ```javascript export class SelectTool extends Tool { // ... } ``` ## Constructor ### `new SelectTool(canvas, [options])` Creates a new `SelectTool` instance. * **canvas** (`OMDCanvas`): The canvas instance. * **[options]** (`object`, optional): Configuration options for the tool. * **selectionColor** (`string`, optional): The color of the selection box. Defaults to `'#007bff'`. * **selectionOpacity** (`number`, optional): The opacity of the selection box. Defaults to `0.3`. ## Public Methods ### `onPointerDown(event)` Handles the pointer down event to start a selection. * **event** (`PointerEvent`): The pointer event. ### `onPointerMove(event)` Handles the pointer move event to update the selection box. * **event** (`PointerEvent`): The pointer event. ### `onPointerUp(event)` Handles the pointer up event to complete the selection. * **event** (`PointerEvent`): The pointer event. ### `onCancel()` Cancels the current selection operation. ### `onKeyboardShortcut(key, event)` Handles keyboard shortcuts for selection-related actions. * **key** (`string`): The key that was pressed. * **event** (`KeyboardEvent`): The keyboard event. * **Returns**: `boolean` - True if the shortcut was handled, false otherwise. ### `getCursor()` Gets the cursor for the tool. * **Returns**: `string` - The CSS cursor name. ### `clearSelection()` Clears the current selection. ## Properties * **displayName** (`string`): The display name of the tool. * **description** (`string`): A description of the tool. * **icon** (`string`): The icon for the tool. * **shortcut** (`string`): The keyboard shortcut for the tool. * **category** (`string`): The category of the tool. * **selectedSegments** (`Map<string, Set<number>>`): A map of selected segments, where the key is the stroke ID and the value is a set of segment indices.