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;