mirror of
https://github.com/invoke-ai/InvokeAI.git
synced 2026-04-23 03:00:31 -04:00
feat(ui): add CanvasToolView
It's nearly a noop but I think it makes sense to have a module for each tool...
This commit is contained in:
@@ -6,6 +6,7 @@ import { CanvasToolColorPicker } from 'features/controlLayers/konva/CanvasTool/C
|
||||
import { CanvasToolEraser } from 'features/controlLayers/konva/CanvasTool/CanvasToolEraser';
|
||||
import { CanvasToolMove } from 'features/controlLayers/konva/CanvasTool/CanvasToolMove';
|
||||
import { CanvasToolRect } from 'features/controlLayers/konva/CanvasTool/CanvasToolRect';
|
||||
import { CanvasToolView } from 'features/controlLayers/konva/CanvasTool/CanvasToolView';
|
||||
import {
|
||||
calculateNewBrushSizeFromWheelDelta,
|
||||
getIsPrimaryMouseDown,
|
||||
@@ -61,6 +62,7 @@ export class CanvasToolModule extends CanvasModuleBase {
|
||||
rect: CanvasToolRect;
|
||||
colorPicker: CanvasToolColorPicker;
|
||||
bbox: CanvasBboxModule;
|
||||
view: CanvasToolView;
|
||||
move: CanvasToolMove;
|
||||
};
|
||||
|
||||
@@ -116,6 +118,7 @@ export class CanvasToolModule extends CanvasModuleBase {
|
||||
rect: new CanvasToolRect(this),
|
||||
colorPicker: new CanvasToolColorPicker(this),
|
||||
bbox: new CanvasBboxModule(this),
|
||||
view: new CanvasToolView(this),
|
||||
move: new CanvasToolMove(this),
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
import type { CanvasManager } from 'features/controlLayers/konva/CanvasManager';
|
||||
import { CanvasModuleBase } from 'features/controlLayers/konva/CanvasModuleBase';
|
||||
import type { CanvasToolModule } from 'features/controlLayers/konva/CanvasTool/CanvasToolModule';
|
||||
import { getPrefixedId } from 'features/controlLayers/konva/util';
|
||||
import type { Logger } from 'roarr';
|
||||
|
||||
export class CanvasToolView extends CanvasModuleBase {
|
||||
readonly type = 'view_tool';
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasToolModule;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
constructor(parent: CanvasToolModule) {
|
||||
super();
|
||||
this.id = getPrefixedId(this.type);
|
||||
this.parent = parent;
|
||||
this.manager = this.parent.manager;
|
||||
this.path = this.manager.buildPath(this);
|
||||
this.log = this.manager.buildLogger(this);
|
||||
|
||||
this.log.debug('Creating module');
|
||||
}
|
||||
|
||||
syncCursorStyle = () => {
|
||||
this.manager.stage.setCursor(this.manager.stage.konva.stage.isDragging() ? 'grabbing' : 'grab');
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user