From d3e54847ef9ecb3901e39e022aaa727bd5019be9 Mon Sep 17 00:00:00 2001 From: Mikko Sivulainen Date: Mon, 4 Apr 2022 16:08:05 +0300 Subject: [PATCH] added GetOrCreateNodeEditorSpacePos --- imnodes.cpp | 7 +++++++ imnodes.h | 1 + 2 files changed, 8 insertions(+) diff --git a/imnodes.cpp b/imnodes.cpp index c22bfac..f3a4e11 100644 --- a/imnodes.cpp +++ b/imnodes.cpp @@ -2759,6 +2759,13 @@ ImVec2 GetNodeScreenSpacePos(const int node_id) return GridSpaceToScreenSpace(editor, node.Origin); } +ImVec2 GetOrCreateNodeEditorSpacePos(const int node_id) +{ + ImNodesEditorContext& editor = EditorContextGet(); + ImNodeData& node = ObjectPoolFindOrCreateObject(editor.Nodes, node_id); + return GridSpaceToEditorSpace(editor, node.Origin); +} + ImVec2 GetNodeEditorSpacePos(const int node_id) { ImNodesEditorContext& editor = EditorContextGet(); diff --git a/imnodes.h b/imnodes.h index 6368893..32675c0 100644 --- a/imnodes.h +++ b/imnodes.h @@ -342,6 +342,7 @@ void SetNodeScreenSpacePos(int node_id, const ImVec2& screen_space_pos); void SetNodeEditorSpacePos(int node_id, const ImVec2& editor_space_pos); void SetNodeGridSpacePos(int node_id, const ImVec2& grid_pos); +ImVec2 GetOrCreateNodeEditorSpacePos(const int node_id); ImVec2 GetNodeScreenSpacePos(const int node_id); ImVec2 GetNodeEditorSpacePos(const int node_id); ImVec2 GetNodeGridSpacePos(const int node_id);