@ -921,7 +921,6 @@ static const float DOCKING_TRANSPARENT_PAYLOAD_ALPHA = 0.50f; // For u
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
static void SetCurrentWindow ( ImGuiWindow * window ) ;
static void SetCurrentWindow ( ImGuiWindow * window ) ;
static void SetWindowHitTestHole ( ImGuiWindow * window , const ImVec2 & pos , const ImVec2 & size ) ;
static void FindHoveredWindow ( ) ;
static void FindHoveredWindow ( ) ;
static ImGuiWindow * CreateNewWindow ( const char * name , ImGuiWindowFlags flags ) ;
static ImGuiWindow * CreateNewWindow ( const char * name , ImGuiWindowFlags flags ) ;
static ImVec2 CalcNextScrollFromScrollTargetAndClamp ( ImGuiWindow * window , bool snap_on_edges ) ;
static ImVec2 CalcNextScrollFromScrollTargetAndClamp ( ImGuiWindow * window , bool snap_on_edges ) ;
@ -7137,7 +7136,7 @@ void ImGui::SetWindowCollapsed(ImGuiWindow* window, bool collapsed, ImGuiCond co
window - > Collapsed = collapsed ;
window - > Collapsed = collapsed ;
}
}
static void SetWindowHitTestHole ( ImGuiWindow * window , const ImVec2 & pos , const ImVec2 & size )
void ImGui : : SetWindowHitTestHole ( ImGuiWindow * window , const ImVec2 & pos , const ImVec2 & size )
{
{
IM_ASSERT ( window - > HitTestHoleSize . x = = 0 ) ; // We don't support multiple holes/hit test filters
IM_ASSERT ( window - > HitTestHoleSize . x = = 0 ) ; // We don't support multiple holes/hit test filters
window - > HitTestHoleSize = ImVec2ih ( size ) ;
window - > HitTestHoleSize = ImVec2ih ( size ) ;
@ -11679,7 +11678,6 @@ namespace ImGui
static void DockContextPruneUnusedSettingsNodes ( ImGuiContext * ctx ) ;
static void DockContextPruneUnusedSettingsNodes ( ImGuiContext * ctx ) ;
static ImGuiDockNode * DockContextFindNodeByID ( ImGuiContext * ctx , ImGuiID id ) ;
static ImGuiDockNode * DockContextFindNodeByID ( ImGuiContext * ctx , ImGuiID id ) ;
static ImGuiDockNode * DockContextBindNodeToWindow ( ImGuiContext * ctx , ImGuiWindow * window ) ;
static ImGuiDockNode * DockContextBindNodeToWindow ( ImGuiContext * ctx , ImGuiWindow * window ) ;
static void DockContextClearNodes ( ImGuiContext * ctx , ImGuiID root_id , bool clear_persistent_docking_refs ) ; // Use root_id==0 to clear all
static void DockContextBuildNodesFromSettings ( ImGuiContext * ctx , ImGuiDockNodeSettings * node_settings_array , int node_settings_count ) ;
static void DockContextBuildNodesFromSettings ( ImGuiContext * ctx , ImGuiDockNodeSettings * node_settings_array , int node_settings_count ) ;
static void DockContextBuildAddWindowsToNodes ( ImGuiContext * ctx , ImGuiID root_id ) ; // Use root_id==0 to add all
static void DockContextBuildAddWindowsToNodes ( ImGuiContext * ctx , ImGuiID root_id ) ; // Use root_id==0 to add all
@ -11707,7 +11705,6 @@ namespace ImGui
static void DockNodeCalcSplitRects ( ImVec2 & pos_old , ImVec2 & size_old , ImVec2 & pos_new , ImVec2 & size_new , ImGuiDir dir , ImVec2 size_new_desired ) ;
static void DockNodeCalcSplitRects ( ImVec2 & pos_old , ImVec2 & size_old , ImVec2 & pos_new , ImVec2 & size_new , ImGuiDir dir , ImVec2 size_new_desired ) ;
static bool DockNodeCalcDropRectsAndTestMousePos ( const ImRect & parent , ImGuiDir dir , ImRect & out_draw , bool outer_docking , ImVec2 * test_mouse_pos ) ;
static bool DockNodeCalcDropRectsAndTestMousePos ( const ImRect & parent , ImGuiDir dir , ImRect & out_draw , bool outer_docking , ImVec2 * test_mouse_pos ) ;
static const char * DockNodeGetHostWindowTitle ( ImGuiDockNode * node , char * buf , int buf_size ) { ImFormatString ( buf , buf_size , " ##DockNode_%02X " , node - > ID ) ; return buf ; }
static const char * DockNodeGetHostWindowTitle ( ImGuiDockNode * node , char * buf , int buf_size ) { ImFormatString ( buf , buf_size , " ##DockNode_%02X " , node - > ID ) ; return buf ; }
static int DockNodeGetDepth ( const ImGuiDockNode * node ) { int depth = 0 ; while ( node - > ParentNode ) { node = node - > ParentNode ; depth + + ; } return depth ; }
static int DockNodeGetTabOrder ( ImGuiWindow * window ) ;
static int DockNodeGetTabOrder ( ImGuiWindow * window ) ;
// ImGuiDockNode tree manipulations
// ImGuiDockNode tree manipulations
@ -11781,11 +11778,11 @@ void ImGui::DockContextShutdown(ImGuiContext* ctx)
IM_DELETE ( node ) ;
IM_DELETE ( node ) ;
}
}
void ImGui : : DockContextClearNodes ( ImGuiContext * ctx , ImGuiID root_id , bool clear_persistent_docking_reference s )
void ImGui : : DockContextClearNodes ( ImGuiContext * ctx , ImGuiID root_id , bool clear_settings_ref s )
{
{
IM_UNUSED ( ctx ) ;
IM_UNUSED ( ctx ) ;
IM_ASSERT ( ctx = = GImGui ) ;
IM_ASSERT ( ctx = = GImGui ) ;
DockBuilderRemoveNodeDockedWindows ( root_id , clear_persistent_docking_reference s ) ;
DockBuilderRemoveNodeDockedWindows ( root_id , clear_settings_ref s ) ;
DockBuilderRemoveNodeChildNodes ( root_id ) ;
DockBuilderRemoveNodeChildNodes ( root_id ) ;
}
}
@ -14351,12 +14348,12 @@ void ImGui::DockBuilderRemoveNodeChildNodes(ImGuiID root_id)
}
}
}
}
void ImGui : : DockBuilderRemoveNodeDockedWindows ( ImGuiID root_id , bool clear_persistent_docking_reference s )
void ImGui : : DockBuilderRemoveNodeDockedWindows ( ImGuiID root_id , bool clear_settings_ref s )
{
{
// Clear references in settings
// Clear references in settings
ImGuiContext * ctx = GImGui ;
ImGuiContext * ctx = GImGui ;
ImGuiContext & g = * ctx ;
ImGuiContext & g = * ctx ;
if ( clear_persistent_docking_reference s )
if ( clear_settings_ref s )
{
{
for ( ImGuiWindowSettings * settings = g . SettingsWindows . begin ( ) ; settings ! = NULL ; settings = g . SettingsWindows . next_chunk ( settings ) )
for ( ImGuiWindowSettings * settings = g . SettingsWindows . begin ( ) ; settings ! = NULL ; settings = g . SettingsWindows . next_chunk ( settings ) )
{
{
@ -14379,8 +14376,8 @@ void ImGui::DockBuilderRemoveNodeDockedWindows(ImGuiID root_id, bool clear_persi
{
{
const ImGuiID backup_dock_id = window - > DockId ;
const ImGuiID backup_dock_id = window - > DockId ;
IM_UNUSED ( backup_dock_id ) ;
IM_UNUSED ( backup_dock_id ) ;
DockContextProcessUndockWindow ( ctx , window , clear_persistent_docking_reference s ) ;
DockContextProcessUndockWindow ( ctx , window , clear_settings_ref s ) ;
if ( ! clear_persistent_docking_reference s )
if ( ! clear_settings_ref s )
IM_ASSERT ( window - > DockId = = backup_dock_id ) ;
IM_ASSERT ( window - > DockId = = backup_dock_id ) ;
}
}
}
}