Merge pull request #379 from huchenlei/fix_snap

Fix snap guide enable condition
This commit is contained in:
pythongosssss
2024-10-24 19:41:17 +01:00
committed by GitHub
+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);