mirror of
https://github.com/invoke-ai/InvokeAI.git
synced 2026-04-23 03:00:31 -04:00
tidy(ui): organise canvas object classes
This commit is contained in:
@@ -4,7 +4,7 @@ import { SyncableMap } from 'common/util/SyncableMap/SyncableMap';
|
||||
import { useCanvasManager } from 'features/controlLayers/contexts/CanvasManagerProviderGate';
|
||||
import { useCanvasIsBusy } from 'features/controlLayers/hooks/useCanvasIsBusy';
|
||||
import { useEntityAdapterSafe } from 'features/controlLayers/hooks/useEntityAdapter';
|
||||
import type { AnyObjectRenderer } from 'features/controlLayers/konva/CanvasEntityObjectRenderer';
|
||||
import type { AnyObjectRenderer } from '../konva/CanvasObject/types';
|
||||
import { getEmptyRect } from 'features/controlLayers/konva/util';
|
||||
import { selectIsStaging } from 'features/controlLayers/store/canvasStagingAreaSlice';
|
||||
import type { CanvasEntityIdentifier, Rect } from 'features/controlLayers/store/types';
|
||||
|
||||
@@ -4,7 +4,7 @@ import { SyncableMap } from 'common/util/SyncableMap/SyncableMap';
|
||||
import { useCanvasManager } from 'features/controlLayers/contexts/CanvasManagerProviderGate';
|
||||
import { useCanvasIsBusy } from 'features/controlLayers/hooks/useCanvasIsBusy';
|
||||
import { useEntityAdapterSafe } from 'features/controlLayers/hooks/useEntityAdapter';
|
||||
import type { AnyObjectRenderer } from 'features/controlLayers/konva/CanvasEntityObjectRenderer';
|
||||
import type { AnyObjectRenderer } from '../konva/CanvasObject/types';
|
||||
import { getEmptyRect } from 'features/controlLayers/konva/util';
|
||||
import { selectIsStaging } from 'features/controlLayers/store/canvasStagingAreaSlice';
|
||||
import type { CanvasEntityIdentifier, Rect } from 'features/controlLayers/store/types';
|
||||
|
||||
@@ -2,30 +2,16 @@ import { deepClone } from 'common/util/deepClone';
|
||||
import type { CanvasEntityAdapter } from 'features/controlLayers/konva/CanvasEntityAdapter/types';
|
||||
import type { CanvasManager } from 'features/controlLayers/konva/CanvasManager';
|
||||
import { CanvasModuleBase } from 'features/controlLayers/konva/CanvasModuleBase';
|
||||
import { CanvasObjectBrushLine } from 'features/controlLayers/konva/CanvasObjectBrushLine';
|
||||
import { CanvasObjectEraserLine } from 'features/controlLayers/konva/CanvasObjectEraserLine';
|
||||
import { CanvasObjectImage } from 'features/controlLayers/konva/CanvasObjectImage';
|
||||
import { CanvasObjectRect } from 'features/controlLayers/konva/CanvasObjectRect';
|
||||
import { CanvasObjectBrushLine } from 'features/controlLayers/konva/CanvasObject/CanvasObjectBrushLine';
|
||||
import { CanvasObjectEraserLine } from 'features/controlLayers/konva/CanvasObject/CanvasObjectEraserLine';
|
||||
import { CanvasObjectImage } from 'features/controlLayers/konva/CanvasObject/CanvasObjectImage';
|
||||
import { CanvasObjectRect } from 'features/controlLayers/konva/CanvasObject/CanvasObjectRect';
|
||||
import type { AnyObjectRenderer, AnyObjectState } from 'features/controlLayers/konva/CanvasObject/types';
|
||||
import { getPrefixedId } from 'features/controlLayers/konva/util';
|
||||
import type {
|
||||
CanvasBrushLineState,
|
||||
CanvasEraserLineState,
|
||||
CanvasImageState,
|
||||
CanvasRectState,
|
||||
} from 'features/controlLayers/store/types';
|
||||
import Konva from 'konva';
|
||||
import type { Logger } from 'roarr';
|
||||
import { assert } from 'tsafe';
|
||||
|
||||
/**
|
||||
* Union of all object renderers.
|
||||
*/
|
||||
type AnyObjectRenderer = CanvasObjectBrushLine | CanvasObjectEraserLine | CanvasObjectRect | CanvasObjectImage;
|
||||
/**
|
||||
* Union of all object states.
|
||||
*/
|
||||
type AnyObjectState = CanvasBrushLineState | CanvasEraserLineState | CanvasImageState | CanvasRectState;
|
||||
|
||||
/**
|
||||
* Handles rendering of objects for a canvas entity.
|
||||
*/
|
||||
|
||||
@@ -3,10 +3,10 @@ import { SyncableMap } from 'common/util/SyncableMap/SyncableMap';
|
||||
import type { CanvasEntityAdapter } from 'features/controlLayers/konva/CanvasEntityAdapter/types';
|
||||
import type { CanvasManager } from 'features/controlLayers/konva/CanvasManager';
|
||||
import { CanvasModuleBase } from 'features/controlLayers/konva/CanvasModuleBase';
|
||||
import { CanvasObjectBrushLine } from 'features/controlLayers/konva/CanvasObjectBrushLine';
|
||||
import { CanvasObjectEraserLine } from 'features/controlLayers/konva/CanvasObjectEraserLine';
|
||||
import { CanvasObjectImage } from 'features/controlLayers/konva/CanvasObjectImage';
|
||||
import { CanvasObjectRect } from 'features/controlLayers/konva/CanvasObjectRect';
|
||||
import { CanvasObjectBrushLine } from 'features/controlLayers/konva/CanvasObject/CanvasObjectBrushLine';
|
||||
import { CanvasObjectEraserLine } from 'features/controlLayers/konva/CanvasObject/CanvasObjectEraserLine';
|
||||
import { CanvasObjectImage } from 'features/controlLayers/konva/CanvasObject/CanvasObjectImage';
|
||||
import { CanvasObjectRect } from 'features/controlLayers/konva/CanvasObject/CanvasObjectRect';
|
||||
import { LightnessToAlphaFilter } from 'features/controlLayers/konva/filters';
|
||||
import { getPatternSVG } from 'features/controlLayers/konva/patterns/getPatternSVG';
|
||||
import {
|
||||
@@ -16,13 +16,7 @@ import {
|
||||
konvaNodeToImageData,
|
||||
previewBlob,
|
||||
} from 'features/controlLayers/konva/util';
|
||||
import type {
|
||||
CanvasBrushLineState,
|
||||
CanvasEraserLineState,
|
||||
CanvasImageState,
|
||||
CanvasRectState,
|
||||
Rect,
|
||||
} from 'features/controlLayers/store/types';
|
||||
import type { Rect } from 'features/controlLayers/store/types';
|
||||
import { imageDTOToImageObject } from 'features/controlLayers/store/types';
|
||||
import Konva from 'konva';
|
||||
import type { GroupConfig } from 'konva/lib/Group';
|
||||
@@ -34,6 +28,8 @@ import { getImageDTO, uploadImage } from 'services/api/endpoints/images';
|
||||
import type { ImageDTO } from 'services/api/types';
|
||||
import { assert } from 'tsafe';
|
||||
|
||||
import type { AnyObjectRenderer, AnyObjectState } from './CanvasObject/types';
|
||||
|
||||
function setFillPatternImage(shape: Konva.Shape, ...args: Parameters<typeof getPatternSVG>): HTMLImageElement {
|
||||
const imageElement = new Image();
|
||||
imageElement.onload = () => {
|
||||
@@ -43,15 +39,6 @@ function setFillPatternImage(shape: Konva.Shape, ...args: Parameters<typeof getP
|
||||
return imageElement;
|
||||
}
|
||||
|
||||
/**
|
||||
* Union of all object renderers.
|
||||
*/
|
||||
export type AnyObjectRenderer = CanvasObjectBrushLine | CanvasObjectEraserLine | CanvasObjectRect | CanvasObjectImage;
|
||||
/**
|
||||
* Union of all object states.
|
||||
*/
|
||||
type AnyObjectState = CanvasBrushLineState | CanvasEraserLineState | CanvasImageState | CanvasRectState;
|
||||
|
||||
/**
|
||||
* Handles rendering of objects for a canvas entity.
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
import type { CanvasObjectBrushLine } from "features/controlLayers/konva/CanvasObject/CanvasObjectBrushLine";
|
||||
import type { CanvasObjectEraserLine } from "features/controlLayers/konva/CanvasObject/CanvasObjectEraserLine";
|
||||
import type { CanvasObjectImage } from "features/controlLayers/konva/CanvasObject/CanvasObjectImage";
|
||||
import type { CanvasObjectRect } from "features/controlLayers/konva/CanvasObject/CanvasObjectRect";
|
||||
import type { CanvasBrushLineState, CanvasEraserLineState, CanvasImageState, CanvasRectState } from "features/controlLayers/store/types";
|
||||
|
||||
|
||||
/**
|
||||
* Union of all object renderers.
|
||||
*/
|
||||
|
||||
export type AnyObjectRenderer = CanvasObjectBrushLine | CanvasObjectEraserLine | CanvasObjectRect | CanvasObjectImage;/**
|
||||
* Union of all object states.
|
||||
*/
|
||||
export type AnyObjectState = CanvasBrushLineState | CanvasEraserLineState | CanvasImageState | CanvasRectState;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { addAppListener } from 'app/store/middleware/listenerMiddleware';
|
||||
import type { CanvasManager } from 'features/controlLayers/konva/CanvasManager';
|
||||
import { CanvasModuleBase } from 'features/controlLayers/konva/CanvasModuleBase';
|
||||
import { CanvasObjectImage } from 'features/controlLayers/konva/CanvasObjectImage';
|
||||
import { CanvasObjectImage } from 'features/controlLayers/konva/CanvasObject/CanvasObjectImage';
|
||||
import { getPrefixedId } from 'features/controlLayers/konva/util';
|
||||
import {
|
||||
selectCanvasStagingAreaSlice,
|
||||
|
||||
Reference in New Issue
Block a user