File tree Expand file tree Collapse file tree 2 files changed +14
-14
lines changed
invokeai/frontend/web/src/features/controlLayers/konva Expand file tree Collapse file tree 2 files changed +14
-14
lines changed Original file line number Diff line number Diff line change @@ -548,14 +548,18 @@ export class CanvasEntityTransformer extends CanvasModuleBase {
548548 }
549549
550550 const pixelRect = this . $pixelRect . get ( ) ;
551+ this . nudgePosition ( - pixelRect . x , - pixelRect . y ) ;
552+ } ;
551553
554+ nudgePosition = ( x : number , y : number ) => {
555+ // Nudge the position by (x, y) pixels
552556 const position = {
553- x : this . konva . proxyRect . x ( ) - pixelRect . x ,
554- y : this . konva . proxyRect . y ( ) - pixelRect . y ,
557+ x : this . konva . proxyRect . x ( ) + x ,
558+ y : this . konva . proxyRect . y ( ) + y ,
555559 } ;
556-
557- this . log . trace ( { position } , 'Position changed' ) ;
560+ // Push state to redux
558561 this . manager . stateApi . setEntityPosition ( { entityIdentifier : this . parent . entityIdentifier , position } ) ;
562+ this . log . trace ( { position } , 'Position changed' ) ;
559563 } ;
560564
561565 syncObjectGroupWithProxyRect = ( ) => {
Original file line number Diff line number Diff line change @@ -20,7 +20,6 @@ export class CanvasMoveToolModule extends CanvasModuleBase {
2020 this . manager = this . parent . manager ;
2121 this . path = this . manager . buildPath ( this ) ;
2222 this . log = this . manager . buildLogger ( this ) ;
23-
2423 this . log . debug ( 'Creating module' ) ;
2524 }
2625
@@ -45,18 +44,15 @@ export class CanvasMoveToolModule extends CanvasModuleBase {
4544 } ;
4645 const { key } = e ;
4746 const selectedEntity = this . manager . stateApi . getSelectedEntityAdapter ( ) ;
47+ const { x : offsetX = 0 , y : offsetY = 0 } = offsets [ key ] || { } ;
4848
49- if ( ! ( selectedEntity && selectedEntity . $isInteractable . get ( ) && $focusedRegion . get ( ) === 'canvas' ) ) {
49+ if (
50+ ! ( selectedEntity && selectedEntity . $isInteractable . get ( ) && $focusedRegion . get ( ) === 'canvas' ) ||
51+ ( offsetX === 0 && offsetY === 0 )
52+ ) {
5053 return ; // Early return if no entity is selected or it is disabled or canvas is not focused
5154 }
5255
53- const { x : offsetX = 0 , y : offsetY = 0 } = offsets [ key ] || { } ;
54-
55- if ( offsetX ) {
56- selectedEntity . konva . layer . x ( selectedEntity . konva . layer . x ( ) + offsetX ) ;
57- }
58- if ( offsetY ) {
59- selectedEntity . konva . layer . y ( selectedEntity . konva . layer . y ( ) + offsetY ) ;
60- }
56+ selectedEntity . transformer . nudgePosition ( offsetX , offsetY ) ;
6157 } ;
6258}
You can’t perform that action at this time.
0 commit comments