5. External types

Types defined by C++-bound sister modules (imgui core bindings, dasGLFW) that dasImgui references but does not own. Until those modules ship their own Sphinx sites and an intersphinx bridge, this page anchors the labels so the generated module pages can link without dangling references.

5.1. imgui::ImGuiCol

Style-color enum exposed by the imgui builtin module (the C++ Dear ImGui binding layer). Indexes a slot in the active style’s color table — passed to push_style_one, push_style_color, pop_style_color, and friends. Values map directly to upstream ImGuiCol_* enumerants (Text, WindowBg, Button, …); see the Dear ImGui ImGuiCol_ reference for the full enumerator list.

5.2. imgui::ImGui*Flags

Bitfield enums exposed by the imgui builtin module: ImGuiWindowFlags, ImGuiChildFlags, ImGuiTabBarFlags, ImGuiTabItemFlags, ImGuiTreeNodeFlags, ImGuiPopupFlags, ImGuiTableFlags, ImGuiTableColumnFlags, ImGuiTableRowFlags. Passed to the corresponding imgui::Begin* / BeginTabBar / BeginTabItem / TreeNodeEx / OpenPopup / BeginTable / TableSetupColumn / TableNextRow calls. Values map directly to upstream ImGui*Flags_* enumerants; see the Dear ImGui flag enums for the full enumerator lists.

5.3. imgui::ImGuiCond

Window-state condition enum exposed by the imgui builtin module. Used as the trailing cond argument to SetNextWindowPos / SetNextWindowSize / set_window_size etc. to gate when the value applies (Always / Once / FirstUseEver / Appearing). Values map directly to upstream ImGuiCond_* enumerants; see the Dear ImGui ImGuiCond_ reference for the full list.

5.4. imgui::ImVec2 / imgui::ImVec4 / imgui::ImColor

Core vector aliases exposed by the imgui builtin module and consumed across the style/layout APIs. ImVec2 is used for 2D positions/sizes (window pos, cursor pos, spacing, paddings). ImVec4 is used for RGBA colors and 4D style values. ImColor is a float4-aliased convenience wrapper for RGBA colors. These aliases map directly to Dear ImGui’s ImVec2/ImVec4/ ImColor structs.

5.5. imgui::ImGuiViewport

Per-viewport handle exposed by the imgui builtin module. Returned (as ImGuiViewport?) from GetMainViewport and consumed by the viewport_center wrapper plus the multi-viewport docking pipeline. Fields Pos / Size / WorkPos / WorkSize / ID are directly accessible; the GetCenter() method is wrapped as viewport_center(self) in imgui/imgui_containers_builtin. See ImGuiViewport in imgui.h for the upstream definition.

5.6. imgui::ImGuiSizeCallbackData

Per-resize callback payload passed by ImGui to the SetNextWindowSizeConstraints callback (ImGuiSizeCallback). Daslang exposes this through the ImGuiSizeConstraints lambda wrapper in imgui/imgui_window_constraints_builtin: the lambda body reads data.CurrentSize and writes data.DesiredSize to re-shape the requested window size (aspect-ratio lock, fixed-step quantization, “always square”, …). See ImGuiSizeCallbackData in imgui.h for the upstream definition.

5.7. glfw::GLFWwindow

Opaque GLFW window handle exposed by the dasGLFW sister module. Passed through the live-reload host’s window lifecycle (creation, swap, event drain) and forwarded into ImGui’s GLFW backend. See the GLFW documentation for the handle’s C-side semantics.

5.8. imgui::ImGuiTextFilter

C++ helper for parsed comma-separated include/exclude filter expressions (-prefix excludes), with an inline editor renderable via Draw(label, width) and a PassFilter(text) predicate. Held inline as a value field of TextFilterState backing the text_filter boost widget. See ImGuiTextFilter in imgui.h for the upstream definition.