struct ImGuiContext
Overview
#include <imgui_internal.h> struct ImGuiContext { // fields bool Initialized; bool WithinFrameScope; bool WithinFrameScopeWithImplicitWindow; bool TestEngineHookItems; int FrameCount; int FrameCountEnded; int FrameCountPlatformEnded; int FrameCountRendered; double Time; char ContextName[16]; ImGuiIO IO; ImGuiPlatformIO PlatformIO; ImGuiStyle Style; ImGuiConfigFlags ConfigFlagsCurrFrame; ImGuiConfigFlags ConfigFlagsLastFrame; ImVector<ImFontAtlas*> FontAtlases; ImFont* Font; ImFontBaked* FontBaked; float FontSize; float FontSizeBase; float FontBakedScale; float FontRasterizerDensity; float CurrentDpiScale; ImDrawListSharedData DrawListSharedData; ImGuiID WithinEndChildID; void* TestEngine; ImVector<ImGuiInputEvent> InputEventsQueue; ImVector<ImGuiInputEvent> InputEventsTrail; ImGuiMouseSource InputEventsNextMouseSource; ImU32 InputEventsNextEventId; ImVector<ImGuiWindow*> Windows; ImVector<ImGuiWindow*> WindowsFocusOrder; ImVector<ImGuiWindow*> WindowsTempSortBuffer; ImVector<ImGuiWindowStackData> CurrentWindowStack; ImGuiStorage WindowsById; int WindowsActiveCount; float WindowsBorderHoverPadding; ImGuiID DebugBreakInWindow; ImGuiWindow* CurrentWindow; ImGuiWindow* HoveredWindow; ImGuiWindow* HoveredWindowUnderMovingWindow; ImGuiWindow* HoveredWindowBeforeClear; ImGuiWindow* MovingWindow; ImGuiWindow* WheelingWindow; ImVec2 WheelingWindowRefMousePos; int WheelingWindowStartFrame; int WheelingWindowScrolledFrame; float WheelingWindowReleaseTimer; ImVec2 WheelingWindowWheelRemainder; ImVec2 WheelingAxisAvg; ImGuiID DebugDrawIdConflictsId; ImGuiID DebugHookIdInfoId; ImGuiID HoveredId; ImGuiID HoveredIdPreviousFrame; int HoveredIdPreviousFrameItemCount; float HoveredIdTimer; float HoveredIdNotActiveTimer; bool HoveredIdAllowOverlap; bool HoveredIdIsDisabled; bool ItemUnclipByLog; ImGuiID ActiveId; ImGuiID ActiveIdIsAlive; float ActiveIdTimer; bool ActiveIdIsJustActivated; bool ActiveIdAllowOverlap; bool ActiveIdNoClearOnFocusLoss; bool ActiveIdHasBeenPressedBefore; bool ActiveIdHasBeenEditedBefore; bool ActiveIdHasBeenEditedThisFrame; bool ActiveIdFromShortcut; ImS8 ActiveIdMouseButton; ImGuiID ActiveIdDisabledId; ImVec2 ActiveIdClickOffset; ImGuiInputSource ActiveIdSource; ImGuiWindow* ActiveIdWindow; ImGuiID ActiveIdPreviousFrame; ImGuiDeactivatedItemData DeactivatedItemData; ImGuiDataTypeStorage ActiveIdValueOnActivation; ImGuiID LastActiveId; float LastActiveIdTimer; double LastKeyModsChangeTime; double LastKeyModsChangeFromNoneTime; double LastKeyboardKeyPressTime; ImBitArrayForNamedKeys KeysMayBeCharInput; ImGuiKeyOwnerData KeysOwnerData[ImGuiKey_NamedKey_COUNT]; ImGuiKeyRoutingTable KeysRoutingTable; ImU32 ActiveIdUsingNavDirMask; bool ActiveIdUsingAllKeyboardKeys; ImGuiKeyChord DebugBreakInShortcutRouting; ImGuiID CurrentFocusScopeId; ImGuiItemFlags CurrentItemFlags; ImGuiID DebugLocateId; ImGuiNextItemData NextItemData; ImGuiLastItemData LastItemData; ImGuiNextWindowData NextWindowData; bool DebugShowGroupRects; bool GcCompactAll; ImGuiCol DebugFlashStyleColorIdx; ImVector<ImGuiColorMod> ColorStack; ImVector<ImGuiStyleMod> StyleVarStack; ImVector<ImFontStackData> FontStack; ImVector<ImGuiFocusScopeData> FocusScopeStack; ImVector<ImGuiItemFlags> ItemFlagsStack; ImVector<ImGuiGroupData> GroupStack; ImVector<ImGuiPopupData> OpenPopupStack; ImVector<ImGuiPopupData> BeginPopupStack; ImVector<ImGuiTreeNodeStackData> TreeNodeStack; ImVector<ImGuiViewportP*> Viewports; ImGuiViewportP* CurrentViewport; ImGuiViewportP* MouseViewport; ImGuiViewportP* MouseLastHoveredViewport; ImGuiID PlatformLastFocusedViewportId; ImGuiPlatformMonitor FallbackMonitor; ImRect PlatformMonitorsFullWorkRect; int ViewportCreatedCount; int PlatformWindowsCreatedCount; int ViewportFocusedStampCount; bool NavCursorVisible; bool NavHighlightItemUnderNav; bool NavMousePosDirty; bool NavIdIsAlive; ImGuiID NavId; ImGuiWindow* NavWindow; ImGuiID NavFocusScopeId; ImGuiNavLayer NavLayer; ImGuiID NavActivateId; ImGuiID NavActivateDownId; ImGuiID NavActivatePressedId; ImGuiActivateFlags NavActivateFlags; ImVector<ImGuiFocusScopeData> NavFocusRoute; ImGuiID NavHighlightActivatedId; float NavHighlightActivatedTimer; ImGuiID NavNextActivateId; ImGuiActivateFlags NavNextActivateFlags; ImGuiInputSource NavInputSource; ImGuiSelectionUserData NavLastValidSelectionUserData; ImS8 NavCursorHideFrames; bool NavAnyRequest; bool NavInitRequest; bool NavInitRequestFromMove; ImGuiNavItemData NavInitResult; bool NavMoveSubmitted; bool NavMoveScoringItems; bool NavMoveForwardToNextFrame; ImGuiNavMoveFlags NavMoveFlags; ImGuiScrollFlags NavMoveScrollFlags; ImGuiKeyChord NavMoveKeyMods; ImGuiDir NavMoveDir; ImGuiDir NavMoveDirForDebug; ImGuiDir NavMoveClipDir; ImRect NavScoringRect; ImRect NavScoringNoClipRect; int NavScoringDebugCount; int NavTabbingDir; int NavTabbingCounter; ImGuiNavItemData NavMoveResultLocal; ImGuiNavItemData NavMoveResultLocalVisible; ImGuiNavItemData NavMoveResultOther; ImGuiNavItemData NavTabbingResultFirst; ImGuiID NavJustMovedFromFocusScopeId; ImGuiID NavJustMovedToId; ImGuiID NavJustMovedToFocusScopeId; ImGuiKeyChord NavJustMovedToKeyMods; bool NavJustMovedToIsTabbing; bool NavJustMovedToHasSelectionData; bool ConfigNavEnableTabbing; bool ConfigNavWindowingWithGamepad; ImGuiKeyChord ConfigNavWindowingKeyNext; ImGuiKeyChord ConfigNavWindowingKeyPrev; ImGuiWindow* NavWindowingTarget; ImGuiWindow* NavWindowingTargetAnim; ImGuiWindow* NavWindowingListWindow; float NavWindowingTimer; float NavWindowingHighlightAlpha; ImGuiInputSource NavWindowingInputSource; bool NavWindowingToggleLayer; ImGuiKey NavWindowingToggleKey; ImVec2 NavWindowingAccumDeltaPos; ImVec2 NavWindowingAccumDeltaSize; float DimBgRatio; bool DragDropActive; bool DragDropWithinSource; bool DragDropWithinTarget; ImGuiDragDropFlags DragDropSourceFlags; int DragDropSourceFrameCount; int DragDropMouseButton; ImGuiPayload DragDropPayload; ImRect DragDropTargetRect; ImRect DragDropTargetClipRect; ImGuiID DragDropTargetId; ImGuiID DragDropTargetFullViewport; ImGuiDragDropFlags DragDropAcceptFlagsCurr; ImGuiDragDropFlags DragDropAcceptFlagsPrev; float DragDropAcceptIdCurrRectSurface; ImGuiID DragDropAcceptIdCurr; ImGuiID DragDropAcceptIdPrev; int DragDropAcceptFrameCount; ImGuiID DragDropHoldJustPressedId; ImVector<unsigned char> DragDropPayloadBufHeap; unsigned char DragDropPayloadBufLocal[16]; int ClipperTempDataStacked; ImVector<ImGuiListClipperData> ClipperTempData; ImGuiTable* CurrentTable; ImGuiID DebugBreakInTable; int TablesTempDataStacked; ImVector<ImGuiTableTempData> TablesTempData; ImPool<ImGuiTable> Tables; ImVector<float> TablesLastTimeActive; ImVector<ImDrawChannel> DrawChannelsTempMergeBuffer; ImGuiTabBar* CurrentTabBar; ImPool<ImGuiTabBar> TabBars; ImVector<ImGuiPtrOrIndex> CurrentTabBarStack; ImVector<ImGuiShrinkWidthItem> ShrinkWidthBuffer; ImGuiBoxSelectState BoxSelectState; ImGuiMultiSelectTempData* CurrentMultiSelect; int MultiSelectTempDataStacked; ImVector<ImGuiMultiSelectTempData> MultiSelectTempData; ImPool<ImGuiMultiSelectState> MultiSelectStorage; ImGuiID HoverItemDelayId; ImGuiID HoverItemDelayIdPreviousFrame; float HoverItemDelayTimer; float HoverItemDelayClearTimer; ImGuiID HoverItemUnlockedStationaryId; ImGuiID HoverWindowUnlockedStationaryId; ImGuiMouseCursor MouseCursor; float MouseStationaryTimer; ImVec2 MouseLastValidPos; ImGuiInputTextState InputTextState; ImGuiTextIndex InputTextLineIndex; ImGuiInputTextDeactivatedState InputTextDeactivatedState; ImFontBaked InputTextPasswordFontBackupBaked; ImFontFlags InputTextPasswordFontBackupFlags; ImGuiID TempInputId; ImGuiDataTypeStorage DataTypeZeroValue; int BeginMenuDepth; int BeginComboDepth; ImGuiColorEditFlags ColorEditOptions; ImGuiID ColorEditCurrentID; ImGuiID ColorEditSavedID; float ColorEditSavedHue; float ColorEditSavedSat; ImU32 ColorEditSavedColor; ImVec4 ColorPickerRef; ImGuiComboPreviewData ComboPreviewData; ImRect WindowResizeBorderExpectedRect; bool WindowResizeRelativeMode; short ScrollbarSeekMode; float ScrollbarClickDeltaToGrabCenter; float SliderGrabClickOffset; float SliderCurrentAccum; bool SliderCurrentAccumDirty; bool DragCurrentAccumDirty; float DragCurrentAccum; float DragSpeedDefaultRatio; float DisabledAlphaBackup; short DisabledStackSize; short TooltipOverrideCount; ImGuiWindow* TooltipPreviousWindow; ImVector<char> ClipboardHandlerData; ImVector<ImGuiID> MenusIdSubmittedThisFrame; ImGuiTypingSelectState TypingSelectState; ImGuiPlatformImeData PlatformImeData; ImGuiPlatformImeData PlatformImeDataPrev; ImVector<ImTextureData*> UserTextures; ImGuiDockContext DockContext; void(* DockNodeWindowMenuHandler)(ImGuiContext *ctx, ImGuiDockNode *node, ImGuiTabBar *tab_bar); bool SettingsLoaded; float SettingsDirtyTimer; ImGuiTextBuffer SettingsIniData; ImVector<ImGuiSettingsHandler> SettingsHandlers; ImChunkStream<ImGuiWindowSettings> SettingsWindows; ImChunkStream<ImGuiTableSettings> SettingsTables; ImVector<ImGuiContextHook> Hooks; ImGuiID HookIdNext; ImGuiDemoMarkerCallback DemoMarkerCallback; const char* LocalizationTable[ImGuiLocKey_COUNT]; bool LogEnabled; bool LogLineFirstItem; ImGuiLogFlags LogFlags; ImGuiWindow* LogWindow; ImFileHandle LogFile; ImGuiTextBuffer LogBuffer; const char* LogNextPrefix; const char* LogNextSuffix; float LogLinePosY; int LogDepthRef; int LogDepthToExpand; int LogDepthToExpandDefault; ImGuiErrorCallback ErrorCallback; void* ErrorCallbackUserData; ImVec2 ErrorTooltipLockedPos; bool ErrorFirst; int ErrorCountCurrentFrame; ImGuiErrorRecoveryState StackSizesInNewFrame; ImGuiErrorRecoveryState* StackSizesInBeginForCurrentWindow; int DebugDrawIdConflictsCount; ImGuiDebugLogFlags DebugLogFlags; ImGuiTextBuffer DebugLogBuf; ImGuiTextIndex DebugLogIndex; int DebugLogSkippedErrors; ImGuiDebugLogFlags DebugLogAutoDisableFlags; ImU8 DebugLogAutoDisableFrames; ImU8 DebugLocateFrames; bool DebugBreakInLocateId; ImGuiKeyChord DebugBreakKeyChord; ImS8 DebugBeginReturnValueCullDepth; bool DebugItemPickerActive; ImU8 DebugItemPickerMouseButton; ImGuiID DebugItemPickerBreakId; float DebugFlashStyleColorTime; ImVec4 DebugFlashStyleColorBackup; ImGuiMetricsConfig DebugMetricsConfig; ImGuiDebugItemPathQuery DebugItemPathQuery; ImGuiIDStackTool DebugIDStackTool; ImGuiDebugAllocInfo DebugAllocInfo; ImGuiDockNode* DebugHoveredDockNode; float FramerateSecPerFrame[60]; int FramerateSecPerFrameIdx; int FramerateSecPerFrameCount; float FramerateSecPerFrameAccum; int WantCaptureMouseNextFrame; int WantCaptureKeyboardNextFrame; int WantTextInputNextFrame; ImVector<char> TempBuffer; char TempKeychordName[64]; // construction ImGuiContext(ImFontAtlas* shared_font_atlas); };