@@ -72,6 +72,26 @@ bool ofxImGui::BeginWindow(const string& name, Settings& settings, bool collapse
72
72
return ImGui::Begin (name.c_str (), open , ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_AlwaysAutoResize | (collapse ? 0 : ImGuiWindowFlags_NoCollapse));
73
73
}
74
74
75
+ // --------------------------------------------------------------
76
+ bool ofxImGui::BeginWindow (const string& name, Settings& settings, ImGuiWindowFlags flags, bool * open)
77
+ {
78
+ if (settings.windowBlock )
79
+ {
80
+ ofLogWarning (__FUNCTION__) << " Already inside a window block!" ;
81
+ return false ;
82
+ }
83
+
84
+ settings.windowBlock = true ;
85
+
86
+ // Push a new list of names onto the stack.
87
+ windowOpen.usedNames .push (std::vector<std::string>());
88
+
89
+ ImGui::SetNextWindowPos (settings.windowPos , ImGuiSetCond_Appearing);
90
+ ImGui::SetNextWindowSize (settings.windowSize , ImGuiSetCond_Appearing);
91
+ ImGui::SetNextWindowCollapsed (!(flags & ImGuiWindowFlags_NoCollapse), ImGuiSetCond_Appearing);
92
+ return ImGui::Begin (name.c_str (), open , flags);
93
+ }
94
+
75
95
// --------------------------------------------------------------
76
96
void ofxImGui::EndWindow (Settings& settings)
77
97
{
@@ -563,4 +583,4 @@ void ofxImGui::AddImage(ofTexture& texture, const ofVec2f& size)
563
583
{
564
584
ImTextureID textureID = (ImTextureID)(uintptr_t )texture.texData .textureID ;
565
585
ImGui::Image (textureID, size);
566
- }
586
+ }
0 commit comments