diff --git a/include/ImNodeFlow.h b/include/ImNodeFlow.h
index 81471c0..f6b1640 100644
--- a/include/ImNodeFlow.h
+++ b/include/ImNodeFlow.h
@@ -809,6 +809,12 @@ namespace ImFlow
*/
const ImVec2& getSize() { return m_size; }
+ /**
+ * @brief
Get node size
+ * @return Const reference to the node's size
+ */
+ const ImVec2& getFullSize() { return m_fullSize; }
+
/**
* @brief
Get node position
* @return Const reference to the node's position
@@ -886,6 +892,7 @@ namespace ImFlow
std::string m_title;
ImVec2 m_pos, m_posTarget;
ImVec2 m_size;
+ ImVec2 m_fullSize;
ImNodeFlow* m_inf = nullptr;
std::shared_ptr m_style;
bool m_selected = false, m_selectedNext = false;
diff --git a/src/ImNodeFlow.cpp b/src/ImNodeFlow.cpp
index fbe2976..d77d496 100644
--- a/src/ImNodeFlow.cpp
+++ b/src/ImNodeFlow.cpp
@@ -67,7 +67,7 @@ namespace ImFlow {
float titleW = ImGui::GetItemRectSize().x;
// Inputs
- if (!m_ins.empty()) {
+ if (!m_ins.empty() || !m_dynamicIns.empty()) {
ImGui::BeginGroup();
for (auto &p: m_ins) {
p->setPos(ImGui::GetCursorPos());
@@ -140,7 +140,7 @@ namespace ImFlow {
m_style->radius);
draw_list->AddRectFilled(offset + m_pos - paddingTL, offset + m_pos + headerSize, m_style->header_bg,
m_style->radius, ImDrawFlags_RoundCornersTop);
-
+ m_fullSize = m_size + paddingTL + paddingBR;
ImU32 col = m_style->border_color;
float thickness = m_style->border_thickness;
ImVec2 ptl = paddingTL;