Fix snap guide enable condition

This commit is contained in:
huchenlei
2024-10-24 07:56:56 -04:00
parent 1ca249fcb8
commit 24770ab7cc
+7 -2
View File
@@ -97,11 +97,16 @@ const ext = {
}
});
const alwaysSnapToGrid = () =>
app.ui.settings.getSettingValue("pysssss.SnapToGrid", /* default=*/ false);
const snapToGridEnabled = () =>
app.shiftDown || alwaysSnapToGrid();
// Override drag-and-drop behavior to show orthogonal guide lines around selected node(s) and preview of where the node(s) will be placed
const origDrawNode = LGraphCanvas.prototype.drawNode
const origDrawNode = LGraphCanvas.prototype.drawNode;
LGraphCanvas.prototype.drawNode = function (node, ctx) {
const enabled = guide_config.lines.enabled || guide_config.block.enabled;
if (enabled && app.shiftDown && this.node_dragged && node.id in this.selected_nodes) {
if (enabled && this.node_dragged && node.id in this.selected_nodes && snapToGridEnabled()) {
// discretize the canvas into grid
let x = LiteGraph.CANVAS_GRID_SIZE * Math.round(node.pos[0] / LiteGraph.CANVAS_GRID_SIZE);
let y = LiteGraph.CANVAS_GRID_SIZE * Math.round(node.pos[1] / LiteGraph.CANVAS_GRID_SIZE);