// Typically you don't have to worry about this since a storage is held within each Window.
// We use it to e.g. store collapse state for a tree (Int 0/1)
// This is optimized for efficient lookup (dichotomy into a contiguous buffer) and rare insertion (typically tied to user interactions aka max once a frame)
structImRect;// An axis-aligned rectangle (2 points)
structImDrawDataBuilder;// Helper to build a ImDrawData instance
structImDrawListSharedData;// Data shared between all ImDrawList instances
structImGuiColMod;// Stacked color modifier, backup of modified data so we can restore it
structImGuiColorMod;// Stacked color modifier, backup of modified data so we can restore it
structImGuiColumnData;// Storage data for a single column
structImGuiColumnsSet;// Storage data for a columns set
structImGuiContext;// Main imgui context
@ -47,21 +47,22 @@ struct ImGuiMenuColumns; // Simple column measurement, currently used
structImGuiNavMoveResult;// Result of a directional navigation move query result
structImGuiNextWindowData;// Storage for SetNexWindow** functions
structImGuiPopupRef;// Storage for current popup stack
structImGuiSettingsHandler;
structImGuiSettingsHandler;// Storage for one type registered in the .ini file
structImGuiStyleMod;// Stacked style modifier, backup of modified data so we can restore it
structImGuiWindow;// Storage for one window
structImGuiWindowTempData;// Temporary storage for one, that's the data which in theory we could ditch at the end of the frame
structImGuiWindowTempData;// Temporary storage for one window (that's the data which in theory we could ditch at the end of the frame)
structImGuiWindowSettings;// Storage for window settings stored in .ini file (we keep one of those even if the actual window wasn't instanced during this session)
typedefintImGuiLayoutType;// enum: horizontal or vertical // enum ImGuiLayoutType_
typedefintImGuiButtonFlags;// flags: for ButtonEx(), ButtonBehavior() // enum ImGuiButtonFlags_
typedefintImGuiItemFlags;// flags: for PushItemFlag() // enum ImGuiItemFlags_
typedefintImGuiItemStatusFlags;// flags: storage for DC.LastItemXXX // enum ImGuiItemStatusFlags_
typedefintImGuiNavHighlightFlags;// flags: for RenderNavHighlight() // enum ImGuiNavHighlightFlags_
typedefintImGuiNavDirSourceFlags;// flags: for GetNavInputAmount2d() // enum ImGuiNavDirSourceFlags_
typedefintImGuiNavMoveFlags;// flags: for navigation requests // enum ImGuiNavMoveFlags_
typedefintImGuiSeparatorFlags;// flags: for Separator() - internal // enum ImGuiSeparatorFlags_
typedefintImGuiSliderFlags;// flags: for SliderBehavior() // enum ImGuiSliderFlags_
// Use your programming IDE "Go to definition" facility on the names of the center columns to find the actual flags/enum lists.
typedefintImGuiLayoutType;// -> enum ImGuiLayoutType_ // Enum: Horizontal or vertical
typedefintImGuiButtonFlags;// -> enum ImGuiButtonFlags_ // Flags: for ButtonEx(), ButtonBehavior()
typedefintImGuiItemFlags;// -> enum ImGuiItemFlags_ // Flags: for PushItemFlag()
typedefintImGuiItemStatusFlags;// -> enum ImGuiItemStatusFlags_ // Flags: for DC.LastItemStatusFlags
typedefintImGuiNavHighlightFlags;// -> enum ImGuiNavHighlightFlags_ // Flags: for RenderNavHighlight()
typedefintImGuiNavDirSourceFlags;// -> enum ImGuiNavDirSourceFlags_ // Flags: for GetNavInputAmount2d()
typedefintImGuiNavMoveFlags;// -> enum ImGuiNavMoveFlags_ // Flags: for navigation requests
typedefintImGuiSeparatorFlags;// -> enum ImGuiSeparatorFlags_ // Flags: for Separator() - internal
typedefintImGuiSliderFlags;// -> enum ImGuiSliderFlags_ // Flags: for SliderBehavior()
// Stacked color modifier, backup of modified data so we can restore it
structImGuiColMod
structImGuiColorMod
{
ImGuiColCol;
ImVec4BackupValue;
@ -658,7 +659,7 @@ struct ImGuiContext
ImGuiIDLastActiveId;// Store the last non-zero ActiveId, useful for animation.
floatLastActiveIdTimer;// Store the last non-zero ActiveId timer since the beginning of activation, useful for animation.
ImGuiWindow*MovingWindow;// Track the window we clicked on (in order to preserve focus). The actually window that is moved is generally MovingWindow->RootWindow.
ImVector<ImGuiColMod>ColorModifiers;// Stack for PushStyleColor()/PopStyleColor()
ImVector<ImGuiColorMod>ColorModifiers;// Stack for PushStyleColor()/PopStyleColor()
ImVector<ImGuiStyleMod>StyleModifiers;// Stack for PushStyleVar()/PopStyleVar()
ImVector<ImFont*>FontStack;// Stack for PushFont()/PopFont()
ImVector<ImGuiPopupRef>OpenPopupStack;// Which popups are open (persistent)