fix: rotation
This commit is contained in:
@@ -45,16 +45,6 @@ export function useLayerInteraction(store: DeckStore): LayerInteractionHandlers
|
||||
};
|
||||
|
||||
const isPointInLayer = (gridX: number, gridY: number, layer: LayerConfig): boolean => {
|
||||
const orientation = layer.orientation || 'n';
|
||||
|
||||
if (orientation === 'e' || orientation === 'w') {
|
||||
const visualX1 = layer.y1;
|
||||
const visualX2 = layer.y2;
|
||||
const visualY1 = layer.x1;
|
||||
const visualY2 = layer.x2;
|
||||
return gridX >= visualX1 && gridX <= visualX2 && gridY >= visualY1 && gridY <= visualY2;
|
||||
}
|
||||
|
||||
return gridX >= layer.x1 && gridX <= layer.x2 && gridY >= layer.y1 && gridY <= layer.y2;
|
||||
};
|
||||
|
||||
@@ -157,22 +147,14 @@ export function useLayerInteraction(store: DeckStore): LayerInteractionHandlers
|
||||
const deltaGridX = deltaMmX / dims.cellWidth;
|
||||
const deltaGridY = deltaMmY / dims.cellHeight;
|
||||
|
||||
const layer = currentLayerConfigs().find(l => l.prop === dragging.layer);
|
||||
if (!layer) return;
|
||||
|
||||
const orientation = layer.orientation || 'n';
|
||||
const startGrid = dragging.startGrid;
|
||||
|
||||
if (dragging.action === 'drag') {
|
||||
const moveDx = Math.round(deltaGridX);
|
||||
const moveDy = Math.round(deltaGridY);
|
||||
store.actions.moveLayer(dragging.layer, moveDx, moveDy, startGrid);
|
||||
store.actions.moveLayer(dragging.layer, Math.round(deltaGridX), Math.round(deltaGridY), startGrid);
|
||||
} else if (dragging.action === 'resize-corner' && dragging.anchor) {
|
||||
store.actions.resizeLayerCorner(dragging.layer, dragging.anchor, Math.round(deltaGridX), Math.round(deltaGridY), startGrid);
|
||||
} else if (dragging.action === 'resize-edge' && dragging.edge) {
|
||||
const delta = orientation === 'e' || orientation === 'w'
|
||||
? (dragging.edge === 'n' || dragging.edge === 's' ? Math.round(deltaGridX) : Math.round(deltaGridY))
|
||||
: (dragging.edge === 'n' || dragging.edge === 's' ? Math.round(deltaGridY) : Math.round(deltaGridX));
|
||||
const delta = dragging.edge === 'n' || dragging.edge === 's' ? Math.round(deltaGridY) : Math.round(deltaGridX);
|
||||
store.actions.resizeLayerEdge(dragging.layer, dragging.edge, delta, startGrid);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user