// This file is automatically generated by generator.lua from // https://github.com/cimgui/cimgui based on imgui.h file version "1.90.6" 19060 // from Dear ImGui https://github.com/ocornut/imgui with imgui_internal.h api // docking branch #ifndef CIMGUI_INCLUDED #define CIMGUI_INCLUDED #include #include #if defined _WIN32 || defined __CYGWIN__ #ifdef CIMGUI_NO_EXPORT #define API #else #define API __declspec(dllexport) #endif #else #ifdef __GNUC__ #define API __attribute__((__visibility__("default"))) #else #define API #endif #endif #if defined __cplusplus #define EXTERN extern "C" #else #include #include #define EXTERN extern #endif #define CIMGUI_API EXTERN API #define CONST const #ifdef _MSC_VER typedef unsigned __int64 ImU64; #else // typedef unsigned long long ImU64; #endif #ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS typedef struct ImDrawChannel ImDrawChannel; typedef struct ImDrawCmd ImDrawCmd; typedef struct ImDrawData ImDrawData; typedef struct ImDrawList ImDrawList; typedef struct ImDrawListSharedData ImDrawListSharedData; typedef struct ImDrawListSplitter ImDrawListSplitter; typedef struct ImDrawVert ImDrawVert; typedef struct ImFont ImFont; typedef struct ImFontAtlas ImFontAtlas; typedef struct ImFontBuilderIO ImFontBuilderIO; typedef struct ImFontConfig ImFontConfig; typedef struct ImFontGlyph ImFontGlyph; typedef struct ImFontGlyphRangesBuilder ImFontGlyphRangesBuilder; typedef struct ImColor ImColor; typedef struct ImGuiContext ImGuiContext; typedef struct ImGuiIO ImGuiIO; typedef struct ImGuiInputTextCallbackData ImGuiInputTextCallbackData; typedef struct ImGuiKeyData ImGuiKeyData; typedef struct ImGuiListClipper ImGuiListClipper; typedef struct ImGuiOnceUponAFrame ImGuiOnceUponAFrame; typedef struct ImGuiPayload ImGuiPayload; typedef struct ImGuiPlatformIO ImGuiPlatformIO; typedef struct ImGuiPlatformMonitor ImGuiPlatformMonitor; typedef struct ImGuiPlatformImeData ImGuiPlatformImeData; typedef struct ImGuiSizeCallbackData ImGuiSizeCallbackData; typedef struct ImGuiStorage ImGuiStorage; typedef struct ImGuiStyle ImGuiStyle; typedef struct ImGuiTableSortSpecs ImGuiTableSortSpecs; typedef struct ImGuiTableColumnSortSpecs ImGuiTableColumnSortSpecs; typedef struct ImGuiTextBuffer ImGuiTextBuffer; typedef struct ImGuiTextFilter ImGuiTextFilter; typedef struct ImGuiViewport ImGuiViewport; typedef struct ImGuiWindowClass ImGuiWindowClass; typedef struct ImBitVector ImBitVector; typedef struct ImRect ImRect; typedef struct ImDrawDataBuilder ImDrawDataBuilder; typedef struct ImGuiColorMod ImGuiColorMod; typedef struct ImGuiContextHook ImGuiContextHook; typedef struct ImGuiDataVarInfo ImGuiDataVarInfo; typedef struct ImGuiDataTypeInfo ImGuiDataTypeInfo; typedef struct ImGuiDockContext ImGuiDockContext; typedef struct ImGuiDockRequest ImGuiDockRequest; typedef struct ImGuiDockNode ImGuiDockNode; typedef struct ImGuiDockNodeSettings ImGuiDockNodeSettings; typedef struct ImGuiGroupData ImGuiGroupData; typedef struct ImGuiInputTextState ImGuiInputTextState; typedef struct ImGuiInputTextDeactivateData ImGuiInputTextDeactivateData; typedef struct ImGuiLastItemData ImGuiLastItemData; typedef struct ImGuiLocEntry ImGuiLocEntry; typedef struct ImGuiMenuColumns ImGuiMenuColumns; typedef struct ImGuiNavItemData ImGuiNavItemData; typedef struct ImGuiNavTreeNodeData ImGuiNavTreeNodeData; typedef struct ImGuiMetricsConfig ImGuiMetricsConfig; typedef struct ImGuiNextWindowData ImGuiNextWindowData; typedef struct ImGuiNextItemData ImGuiNextItemData; typedef struct ImGuiOldColumnData ImGuiOldColumnData; typedef struct ImGuiOldColumns ImGuiOldColumns; typedef struct ImGuiPopupData ImGuiPopupData; typedef struct ImGuiSettingsHandler ImGuiSettingsHandler; typedef struct ImGuiStackSizes ImGuiStackSizes; typedef struct ImGuiStyleMod ImGuiStyleMod; typedef struct ImGuiTabBar ImGuiTabBar; typedef struct ImGuiTabItem ImGuiTabItem; typedef struct ImGuiTable ImGuiTable; typedef struct ImGuiTableHeaderData ImGuiTableHeaderData; typedef struct ImGuiTableColumn ImGuiTableColumn; typedef struct ImGuiTableInstanceData ImGuiTableInstanceData; typedef struct ImGuiTableTempData ImGuiTableTempData; typedef struct ImGuiTableSettings ImGuiTableSettings; typedef struct ImGuiTableColumnsSettings ImGuiTableColumnsSettings; typedef struct ImGuiTypingSelectState ImGuiTypingSelectState; typedef struct ImGuiTypingSelectRequest ImGuiTypingSelectRequest; typedef struct ImGuiWindow ImGuiWindow; typedef struct ImGuiWindowDockStyle ImGuiWindowDockStyle; typedef struct ImGuiWindowTempData ImGuiWindowTempData; typedef struct ImGuiWindowSettings ImGuiWindowSettings; typedef struct ImVector_const_charPtr { int Size; int Capacity; const char** Data; } ImVector_const_charPtr; struct ImDrawChannel; struct ImDrawCmd; struct ImDrawData; struct ImDrawList; struct ImDrawListSharedData; struct ImDrawListSplitter; struct ImDrawVert; struct ImFont; struct ImFontAtlas; struct ImFontBuilderIO; struct ImFontConfig; struct ImFontGlyph; struct ImFontGlyphRangesBuilder; struct ImColor; struct ImGuiContext; struct ImGuiIO; struct ImGuiInputTextCallbackData; struct ImGuiKeyData; struct ImGuiListClipper; struct ImGuiOnceUponAFrame; struct ImGuiPayload; struct ImGuiPlatformIO; struct ImGuiPlatformMonitor; struct ImGuiPlatformImeData; struct ImGuiSizeCallbackData; struct ImGuiStorage; struct ImGuiStyle; struct ImGuiTableSortSpecs; struct ImGuiTableColumnSortSpecs; struct ImGuiTextBuffer; struct ImGuiTextFilter; struct ImGuiViewport; struct ImGuiWindowClass; typedef int ImGuiCol; typedef int ImGuiCond; typedef int ImGuiDataType; typedef int ImGuiDir; typedef int ImGuiMouseButton; typedef int ImGuiMouseCursor; typedef int ImGuiSortDirection; typedef int ImGuiStyleVar; typedef int ImGuiTableBgTarget; typedef int ImDrawFlags; typedef int ImDrawListFlags; typedef int ImFontAtlasFlags; typedef int ImGuiBackendFlags; typedef int ImGuiButtonFlags; typedef int ImGuiChildFlags; typedef int ImGuiColorEditFlags; typedef int ImGuiConfigFlags; typedef int ImGuiComboFlags; typedef int ImGuiDockNodeFlags; typedef int ImGuiDragDropFlags; typedef int ImGuiFocusedFlags; typedef int ImGuiHoveredFlags; typedef int ImGuiInputTextFlags; typedef int ImGuiKeyChord; typedef int ImGuiPopupFlags; typedef int ImGuiSelectableFlags; typedef int ImGuiSliderFlags; typedef int ImGuiTabBarFlags; typedef int ImGuiTabItemFlags; typedef int ImGuiTableFlags; typedef int ImGuiTableColumnFlags; typedef int ImGuiTableRowFlags; typedef int ImGuiTreeNodeFlags; typedef int ImGuiViewportFlags; typedef int ImGuiWindowFlags; typedef void* ImTextureID; typedef unsigned short ImDrawIdx; typedef unsigned int ImGuiID; typedef signed char ImS8; typedef unsigned char ImU8; typedef signed short ImS16; typedef unsigned short ImU16; typedef signed int ImS32; typedef unsigned int ImU32; typedef signed long long ImS64; typedef unsigned long long ImU64; typedef unsigned int ImWchar32; typedef unsigned short ImWchar16; typedef ImWchar16 ImWchar; typedef int (*ImGuiInputTextCallback)(ImGuiInputTextCallbackData* data); typedef void (*ImGuiSizeCallback)(ImGuiSizeCallbackData* data); typedef void* (*ImGuiMemAllocFunc)(size_t sz, void* user_data); typedef void (*ImGuiMemFreeFunc)(void* ptr, void* user_data); typedef struct ImVec2 ImVec2; struct ImVec2 { float x, y; }; typedef struct ImVec4 ImVec4; struct ImVec4 { float x, y, z, w; }; typedef enum { ImGuiWindowFlags_None = 0, ImGuiWindowFlags_NoTitleBar = 1 << 0, ImGuiWindowFlags_NoResize = 1 << 1, ImGuiWindowFlags_NoMove = 1 << 2, ImGuiWindowFlags_NoScrollbar = 1 << 3, ImGuiWindowFlags_NoScrollWithMouse = 1 << 4, ImGuiWindowFlags_NoCollapse = 1 << 5, ImGuiWindowFlags_AlwaysAutoResize = 1 << 6, ImGuiWindowFlags_NoBackground = 1 << 7, ImGuiWindowFlags_NoSavedSettings = 1 << 8, ImGuiWindowFlags_NoMouseInputs = 1 << 9, ImGuiWindowFlags_MenuBar = 1 << 10, ImGuiWindowFlags_HorizontalScrollbar = 1 << 11, ImGuiWindowFlags_NoFocusOnAppearing = 1 << 12, ImGuiWindowFlags_NoBringToFrontOnFocus = 1 << 13, ImGuiWindowFlags_AlwaysVerticalScrollbar = 1 << 14, ImGuiWindowFlags_AlwaysHorizontalScrollbar = 1 << 15, ImGuiWindowFlags_NoNavInputs = 1 << 16, ImGuiWindowFlags_NoNavFocus = 1 << 17, ImGuiWindowFlags_UnsavedDocument = 1 << 18, ImGuiWindowFlags_NoDocking = 1 << 19, ImGuiWindowFlags_NoNav = ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_NoDecoration = ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoCollapse, ImGuiWindowFlags_NoInputs = ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_NavFlattened = 1 << 23, ImGuiWindowFlags_ChildWindow = 1 << 24, ImGuiWindowFlags_Tooltip = 1 << 25, ImGuiWindowFlags_Popup = 1 << 26, ImGuiWindowFlags_Modal = 1 << 27, ImGuiWindowFlags_ChildMenu = 1 << 28, ImGuiWindowFlags_DockNodeHost = 1 << 29, } ImGuiWindowFlags_; typedef enum { ImGuiChildFlags_None = 0, ImGuiChildFlags_Border = 1 << 0, ImGuiChildFlags_AlwaysUseWindowPadding = 1 << 1, ImGuiChildFlags_ResizeX = 1 << 2, ImGuiChildFlags_ResizeY = 1 << 3, ImGuiChildFlags_AutoResizeX = 1 << 4, ImGuiChildFlags_AutoResizeY = 1 << 5, ImGuiChildFlags_AlwaysAutoResize = 1 << 6, ImGuiChildFlags_FrameStyle = 1 << 7, } ImGuiChildFlags_; typedef enum { ImGuiInputTextFlags_None = 0, ImGuiInputTextFlags_CharsDecimal = 1 << 0, ImGuiInputTextFlags_CharsHexadecimal = 1 << 1, ImGuiInputTextFlags_CharsUppercase = 1 << 2, ImGuiInputTextFlags_CharsNoBlank = 1 << 3, ImGuiInputTextFlags_AutoSelectAll = 1 << 4, ImGuiInputTextFlags_EnterReturnsTrue = 1 << 5, ImGuiInputTextFlags_CallbackCompletion = 1 << 6, ImGuiInputTextFlags_CallbackHistory = 1 << 7, ImGuiInputTextFlags_CallbackAlways = 1 << 8, ImGuiInputTextFlags_CallbackCharFilter = 1 << 9, ImGuiInputTextFlags_AllowTabInput = 1 << 10, ImGuiInputTextFlags_CtrlEnterForNewLine = 1 << 11, ImGuiInputTextFlags_NoHorizontalScroll = 1 << 12, ImGuiInputTextFlags_AlwaysOverwrite = 1 << 13, ImGuiInputTextFlags_ReadOnly = 1 << 14, ImGuiInputTextFlags_Password = 1 << 15, ImGuiInputTextFlags_NoUndoRedo = 1 << 16, ImGuiInputTextFlags_CharsScientific = 1 << 17, ImGuiInputTextFlags_CallbackResize = 1 << 18, ImGuiInputTextFlags_CallbackEdit = 1 << 19, ImGuiInputTextFlags_EscapeClearsAll = 1 << 20, } ImGuiInputTextFlags_; typedef enum { ImGuiTreeNodeFlags_None = 0, ImGuiTreeNodeFlags_Selected = 1 << 0, ImGuiTreeNodeFlags_Framed = 1 << 1, ImGuiTreeNodeFlags_AllowOverlap = 1 << 2, ImGuiTreeNodeFlags_NoTreePushOnOpen = 1 << 3, ImGuiTreeNodeFlags_NoAutoOpenOnLog = 1 << 4, ImGuiTreeNodeFlags_DefaultOpen = 1 << 5, ImGuiTreeNodeFlags_OpenOnDoubleClick = 1 << 6, ImGuiTreeNodeFlags_OpenOnArrow = 1 << 7, ImGuiTreeNodeFlags_Leaf = 1 << 8, ImGuiTreeNodeFlags_Bullet = 1 << 9, ImGuiTreeNodeFlags_FramePadding = 1 << 10, ImGuiTreeNodeFlags_SpanAvailWidth = 1 << 11, ImGuiTreeNodeFlags_SpanFullWidth = 1 << 12, ImGuiTreeNodeFlags_SpanTextWidth = 1 << 13, ImGuiTreeNodeFlags_SpanAllColumns = 1 << 14, ImGuiTreeNodeFlags_NavLeftJumpsBackHere = 1 << 15, ImGuiTreeNodeFlags_CollapsingHeader = ImGuiTreeNodeFlags_Framed | ImGuiTreeNodeFlags_NoTreePushOnOpen | ImGuiTreeNodeFlags_NoAutoOpenOnLog, } ImGuiTreeNodeFlags_; typedef enum { ImGuiPopupFlags_None = 0, ImGuiPopupFlags_MouseButtonLeft = 0, ImGuiPopupFlags_MouseButtonRight = 1, ImGuiPopupFlags_MouseButtonMiddle = 2, ImGuiPopupFlags_MouseButtonMask_ = 0x1F, ImGuiPopupFlags_MouseButtonDefault_ = 1, ImGuiPopupFlags_NoReopen = 1 << 5, ImGuiPopupFlags_NoOpenOverExistingPopup = 1 << 7, ImGuiPopupFlags_NoOpenOverItems = 1 << 8, ImGuiPopupFlags_AnyPopupId = 1 << 10, ImGuiPopupFlags_AnyPopupLevel = 1 << 11, ImGuiPopupFlags_AnyPopup = ImGuiPopupFlags_AnyPopupId | ImGuiPopupFlags_AnyPopupLevel, } ImGuiPopupFlags_; typedef enum { ImGuiSelectableFlags_None = 0, ImGuiSelectableFlags_DontClosePopups = 1 << 0, ImGuiSelectableFlags_SpanAllColumns = 1 << 1, ImGuiSelectableFlags_AllowDoubleClick = 1 << 2, ImGuiSelectableFlags_Disabled = 1 << 3, ImGuiSelectableFlags_AllowOverlap = 1 << 4, } ImGuiSelectableFlags_; typedef enum { ImGuiComboFlags_None = 0, ImGuiComboFlags_PopupAlignLeft = 1 << 0, ImGuiComboFlags_HeightSmall = 1 << 1, ImGuiComboFlags_HeightRegular = 1 << 2, ImGuiComboFlags_HeightLarge = 1 << 3, ImGuiComboFlags_HeightLargest = 1 << 4, ImGuiComboFlags_NoArrowButton = 1 << 5, ImGuiComboFlags_NoPreview = 1 << 6, ImGuiComboFlags_WidthFitPreview = 1 << 7, ImGuiComboFlags_HeightMask_ = ImGuiComboFlags_HeightSmall | ImGuiComboFlags_HeightRegular | ImGuiComboFlags_HeightLarge | ImGuiComboFlags_HeightLargest, } ImGuiComboFlags_; typedef enum { ImGuiTabBarFlags_None = 0, ImGuiTabBarFlags_Reorderable = 1 << 0, ImGuiTabBarFlags_AutoSelectNewTabs = 1 << 1, ImGuiTabBarFlags_TabListPopupButton = 1 << 2, ImGuiTabBarFlags_NoCloseWithMiddleMouseButton = 1 << 3, ImGuiTabBarFlags_NoTabListScrollingButtons = 1 << 4, ImGuiTabBarFlags_NoTooltip = 1 << 5, ImGuiTabBarFlags_FittingPolicyResizeDown = 1 << 6, ImGuiTabBarFlags_FittingPolicyScroll = 1 << 7, ImGuiTabBarFlags_FittingPolicyMask_ = ImGuiTabBarFlags_FittingPolicyResizeDown | ImGuiTabBarFlags_FittingPolicyScroll, ImGuiTabBarFlags_FittingPolicyDefault_ = ImGuiTabBarFlags_FittingPolicyResizeDown, } ImGuiTabBarFlags_; typedef enum { ImGuiTabItemFlags_None = 0, ImGuiTabItemFlags_UnsavedDocument = 1 << 0, ImGuiTabItemFlags_SetSelected = 1 << 1, ImGuiTabItemFlags_NoCloseWithMiddleMouseButton = 1 << 2, ImGuiTabItemFlags_NoPushId = 1 << 3, ImGuiTabItemFlags_NoTooltip = 1 << 4, ImGuiTabItemFlags_NoReorder = 1 << 5, ImGuiTabItemFlags_Leading = 1 << 6, ImGuiTabItemFlags_Trailing = 1 << 7, ImGuiTabItemFlags_NoAssumedClosure = 1 << 8, } ImGuiTabItemFlags_; typedef enum { ImGuiFocusedFlags_None = 0, ImGuiFocusedFlags_ChildWindows = 1 << 0, ImGuiFocusedFlags_RootWindow = 1 << 1, ImGuiFocusedFlags_AnyWindow = 1 << 2, ImGuiFocusedFlags_NoPopupHierarchy = 1 << 3, ImGuiFocusedFlags_DockHierarchy = 1 << 4, ImGuiFocusedFlags_RootAndChildWindows = ImGuiFocusedFlags_RootWindow | ImGuiFocusedFlags_ChildWindows, } ImGuiFocusedFlags_; typedef enum { ImGuiHoveredFlags_None = 0, ImGuiHoveredFlags_ChildWindows = 1 << 0, ImGuiHoveredFlags_RootWindow = 1 << 1, ImGuiHoveredFlags_AnyWindow = 1 << 2, ImGuiHoveredFlags_NoPopupHierarchy = 1 << 3, ImGuiHoveredFlags_DockHierarchy = 1 << 4, ImGuiHoveredFlags_AllowWhenBlockedByPopup = 1 << 5, ImGuiHoveredFlags_AllowWhenBlockedByActiveItem = 1 << 7, ImGuiHoveredFlags_AllowWhenOverlappedByItem = 1 << 8, ImGuiHoveredFlags_AllowWhenOverlappedByWindow = 1 << 9, ImGuiHoveredFlags_AllowWhenDisabled = 1 << 10, ImGuiHoveredFlags_NoNavOverride = 1 << 11, ImGuiHoveredFlags_AllowWhenOverlapped = ImGuiHoveredFlags_AllowWhenOverlappedByItem | ImGuiHoveredFlags_AllowWhenOverlappedByWindow, ImGuiHoveredFlags_RectOnly = ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_AllowWhenOverlapped, ImGuiHoveredFlags_RootAndChildWindows = ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_ChildWindows, ImGuiHoveredFlags_ForTooltip = 1 << 12, ImGuiHoveredFlags_Stationary = 1 << 13, ImGuiHoveredFlags_DelayNone = 1 << 14, ImGuiHoveredFlags_DelayShort = 1 << 15, ImGuiHoveredFlags_DelayNormal = 1 << 16, ImGuiHoveredFlags_NoSharedDelay = 1 << 17, } ImGuiHoveredFlags_; typedef enum { ImGuiDockNodeFlags_None = 0, ImGuiDockNodeFlags_KeepAliveOnly = 1 << 0, ImGuiDockNodeFlags_NoDockingOverCentralNode = 1 << 2, ImGuiDockNodeFlags_PassthruCentralNode = 1 << 3, ImGuiDockNodeFlags_NoDockingSplit = 1 << 4, ImGuiDockNodeFlags_NoResize = 1 << 5, ImGuiDockNodeFlags_AutoHideTabBar = 1 << 6, ImGuiDockNodeFlags_NoUndocking = 1 << 7, } ImGuiDockNodeFlags_; typedef enum { ImGuiDragDropFlags_None = 0, ImGuiDragDropFlags_SourceNoPreviewTooltip = 1 << 0, ImGuiDragDropFlags_SourceNoDisableHover = 1 << 1, ImGuiDragDropFlags_SourceNoHoldToOpenOthers = 1 << 2, ImGuiDragDropFlags_SourceAllowNullID = 1 << 3, ImGuiDragDropFlags_SourceExtern = 1 << 4, ImGuiDragDropFlags_SourceAutoExpirePayload = 1 << 5, ImGuiDragDropFlags_AcceptBeforeDelivery = 1 << 10, ImGuiDragDropFlags_AcceptNoDrawDefaultRect = 1 << 11, ImGuiDragDropFlags_AcceptNoPreviewTooltip = 1 << 12, ImGuiDragDropFlags_AcceptPeekOnly = ImGuiDragDropFlags_AcceptBeforeDelivery | ImGuiDragDropFlags_AcceptNoDrawDefaultRect, } ImGuiDragDropFlags_; typedef enum { ImGuiDataType_S8, ImGuiDataType_U8, ImGuiDataType_S16, ImGuiDataType_U16, ImGuiDataType_S32, ImGuiDataType_U32, ImGuiDataType_S64, ImGuiDataType_U64, ImGuiDataType_Float, ImGuiDataType_Double, ImGuiDataType_COUNT } ImGuiDataType_; typedef enum { ImGuiDir_None = -1, ImGuiDir_Left = 0, ImGuiDir_Right = 1, ImGuiDir_Up = 2, ImGuiDir_Down = 3, ImGuiDir_COUNT } ImGuiDir_; typedef enum { ImGuiSortDirection_None = 0, ImGuiSortDirection_Ascending = 1, ImGuiSortDirection_Descending = 2 } ImGuiSortDirection_; typedef enum { ImGuiKey_None = 0, ImGuiKey_Tab = 512, ImGuiKey_LeftArrow = 513, ImGuiKey_RightArrow = 514, ImGuiKey_UpArrow = 515, ImGuiKey_DownArrow = 516, ImGuiKey_PageUp = 517, ImGuiKey_PageDown = 518, ImGuiKey_Home = 519, ImGuiKey_End = 520, ImGuiKey_Insert = 521, ImGuiKey_Delete = 522, ImGuiKey_Backspace = 523, ImGuiKey_Space = 524, ImGuiKey_Enter = 525, ImGuiKey_Escape = 526, ImGuiKey_LeftCtrl = 527, ImGuiKey_LeftShift = 528, ImGuiKey_LeftAlt = 529, ImGuiKey_LeftSuper = 530, ImGuiKey_RightCtrl = 531, ImGuiKey_RightShift = 532, ImGuiKey_RightAlt = 533, ImGuiKey_RightSuper = 534, ImGuiKey_Menu = 535, ImGuiKey_0 = 536, ImGuiKey_1 = 537, ImGuiKey_2 = 538, ImGuiKey_3 = 539, ImGuiKey_4 = 540, ImGuiKey_5 = 541, ImGuiKey_6 = 542, ImGuiKey_7 = 543, ImGuiKey_8 = 544, ImGuiKey_9 = 545, ImGuiKey_A = 546, ImGuiKey_B = 547, ImGuiKey_C = 548, ImGuiKey_D = 549, ImGuiKey_E = 550, ImGuiKey_F = 551, ImGuiKey_G = 552, ImGuiKey_H = 553, ImGuiKey_I = 554, ImGuiKey_J = 555, ImGuiKey_K = 556, ImGuiKey_L = 557, ImGuiKey_M = 558, ImGuiKey_N = 559, ImGuiKey_O = 560, ImGuiKey_P = 561, ImGuiKey_Q = 562, ImGuiKey_R = 563, ImGuiKey_S = 564, ImGuiKey_T = 565, ImGuiKey_U = 566, ImGuiKey_V = 567, ImGuiKey_W = 568, ImGuiKey_X = 569, ImGuiKey_Y = 570, ImGuiKey_Z = 571, ImGuiKey_F1 = 572, ImGuiKey_F2 = 573, ImGuiKey_F3 = 574, ImGuiKey_F4 = 575, ImGuiKey_F5 = 576, ImGuiKey_F6 = 577, ImGuiKey_F7 = 578, ImGuiKey_F8 = 579, ImGuiKey_F9 = 580, ImGuiKey_F10 = 581, ImGuiKey_F11 = 582, ImGuiKey_F12 = 583, ImGuiKey_F13 = 584, ImGuiKey_F14 = 585, ImGuiKey_F15 = 586, ImGuiKey_F16 = 587, ImGuiKey_F17 = 588, ImGuiKey_F18 = 589, ImGuiKey_F19 = 590, ImGuiKey_F20 = 591, ImGuiKey_F21 = 592, ImGuiKey_F22 = 593, ImGuiKey_F23 = 594, ImGuiKey_F24 = 595, ImGuiKey_Apostrophe = 596, ImGuiKey_Comma = 597, ImGuiKey_Minus = 598, ImGuiKey_Period = 599, ImGuiKey_Slash = 600, ImGuiKey_Semicolon = 601, ImGuiKey_Equal = 602, ImGuiKey_LeftBracket = 603, ImGuiKey_Backslash = 604, ImGuiKey_RightBracket = 605, ImGuiKey_GraveAccent = 606, ImGuiKey_CapsLock = 607, ImGuiKey_ScrollLock = 608, ImGuiKey_NumLock = 609, ImGuiKey_PrintScreen = 610, ImGuiKey_Pause = 611, ImGuiKey_Keypad0 = 612, ImGuiKey_Keypad1 = 613, ImGuiKey_Keypad2 = 614, ImGuiKey_Keypad3 = 615, ImGuiKey_Keypad4 = 616, ImGuiKey_Keypad5 = 617, ImGuiKey_Keypad6 = 618, ImGuiKey_Keypad7 = 619, ImGuiKey_Keypad8 = 620, ImGuiKey_Keypad9 = 621, ImGuiKey_KeypadDecimal = 622, ImGuiKey_KeypadDivide = 623, ImGuiKey_KeypadMultiply = 624, ImGuiKey_KeypadSubtract = 625, ImGuiKey_KeypadAdd = 626, ImGuiKey_KeypadEnter = 627, ImGuiKey_KeypadEqual = 628, ImGuiKey_AppBack = 629, ImGuiKey_AppForward = 630, ImGuiKey_GamepadStart = 631, ImGuiKey_GamepadBack = 632, ImGuiKey_GamepadFaceLeft = 633, ImGuiKey_GamepadFaceRight = 634, ImGuiKey_GamepadFaceUp = 635, ImGuiKey_GamepadFaceDown = 636, ImGuiKey_GamepadDpadLeft = 637, ImGuiKey_GamepadDpadRight = 638, ImGuiKey_GamepadDpadUp = 639, ImGuiKey_GamepadDpadDown = 640, ImGuiKey_GamepadL1 = 641, ImGuiKey_GamepadR1 = 642, ImGuiKey_GamepadL2 = 643, ImGuiKey_GamepadR2 = 644, ImGuiKey_GamepadL3 = 645, ImGuiKey_GamepadR3 = 646, ImGuiKey_GamepadLStickLeft = 647, ImGuiKey_GamepadLStickRight = 648, ImGuiKey_GamepadLStickUp = 649, ImGuiKey_GamepadLStickDown = 650, ImGuiKey_GamepadRStickLeft = 651, ImGuiKey_GamepadRStickRight = 652, ImGuiKey_GamepadRStickUp = 653, ImGuiKey_GamepadRStickDown = 654, ImGuiKey_MouseLeft = 655, ImGuiKey_MouseRight = 656, ImGuiKey_MouseMiddle = 657, ImGuiKey_MouseX1 = 658, ImGuiKey_MouseX2 = 659, ImGuiKey_MouseWheelX = 660, ImGuiKey_MouseWheelY = 661, ImGuiKey_ReservedForModCtrl = 662, ImGuiKey_ReservedForModShift = 663, ImGuiKey_ReservedForModAlt = 664, ImGuiKey_ReservedForModSuper = 665, ImGuiKey_COUNT = 666, ImGuiMod_None = 0, ImGuiMod_Ctrl = 1 << 12, ImGuiMod_Shift = 1 << 13, ImGuiMod_Alt = 1 << 14, ImGuiMod_Super = 1 << 15, ImGuiMod_Shortcut = 1 << 11, ImGuiMod_Mask_ = 0xF800, ImGuiKey_NamedKey_BEGIN = 512, ImGuiKey_NamedKey_END = ImGuiKey_COUNT, ImGuiKey_NamedKey_COUNT = ImGuiKey_NamedKey_END - ImGuiKey_NamedKey_BEGIN, ImGuiKey_KeysData_SIZE = ImGuiKey_NamedKey_COUNT, ImGuiKey_KeysData_OFFSET = ImGuiKey_NamedKey_BEGIN, } ImGuiKey; typedef enum { ImGuiConfigFlags_None = 0, ImGuiConfigFlags_NavEnableKeyboard = 1 << 0, ImGuiConfigFlags_NavEnableGamepad = 1 << 1, ImGuiConfigFlags_NavEnableSetMousePos = 1 << 2, ImGuiConfigFlags_NavNoCaptureKeyboard = 1 << 3, ImGuiConfigFlags_NoMouse = 1 << 4, ImGuiConfigFlags_NoMouseCursorChange = 1 << 5, ImGuiConfigFlags_DockingEnable = 1 << 6, ImGuiConfigFlags_ViewportsEnable = 1 << 10, ImGuiConfigFlags_DpiEnableScaleViewports = 1 << 14, ImGuiConfigFlags_DpiEnableScaleFonts = 1 << 15, ImGuiConfigFlags_IsSRGB = 1 << 20, ImGuiConfigFlags_IsTouchScreen = 1 << 21, } ImGuiConfigFlags_; typedef enum { ImGuiBackendFlags_None = 0, ImGuiBackendFlags_HasGamepad = 1 << 0, ImGuiBackendFlags_HasMouseCursors = 1 << 1, ImGuiBackendFlags_HasSetMousePos = 1 << 2, ImGuiBackendFlags_RendererHasVtxOffset = 1 << 3, ImGuiBackendFlags_PlatformHasViewports = 1 << 10, ImGuiBackendFlags_HasMouseHoveredViewport = 1 << 11, ImGuiBackendFlags_RendererHasViewports = 1 << 12, } ImGuiBackendFlags_; typedef enum { ImGuiCol_Text, ImGuiCol_TextDisabled, ImGuiCol_WindowBg, ImGuiCol_ChildBg, ImGuiCol_PopupBg, ImGuiCol_Border, ImGuiCol_BorderShadow, ImGuiCol_FrameBg, ImGuiCol_FrameBgHovered, ImGuiCol_FrameBgActive, ImGuiCol_TitleBg, ImGuiCol_TitleBgActive, ImGuiCol_TitleBgCollapsed, ImGuiCol_MenuBarBg, ImGuiCol_ScrollbarBg, ImGuiCol_ScrollbarGrab, ImGuiCol_ScrollbarGrabHovered, ImGuiCol_ScrollbarGrabActive, ImGuiCol_CheckMark, ImGuiCol_SliderGrab, ImGuiCol_SliderGrabActive, ImGuiCol_Button, ImGuiCol_ButtonHovered, ImGuiCol_ButtonActive, ImGuiCol_Header, ImGuiCol_HeaderHovered, ImGuiCol_HeaderActive, ImGuiCol_Separator, ImGuiCol_SeparatorHovered, ImGuiCol_SeparatorActive, ImGuiCol_ResizeGrip, ImGuiCol_ResizeGripHovered, ImGuiCol_ResizeGripActive, ImGuiCol_Tab, ImGuiCol_TabHovered, ImGuiCol_TabActive, ImGuiCol_TabUnfocused, ImGuiCol_TabUnfocusedActive, ImGuiCol_DockingPreview, ImGuiCol_DockingEmptyBg, ImGuiCol_PlotLines, ImGuiCol_PlotLinesHovered, ImGuiCol_PlotHistogram, ImGuiCol_PlotHistogramHovered, ImGuiCol_TableHeaderBg, ImGuiCol_TableBorderStrong, ImGuiCol_TableBorderLight, ImGuiCol_TableRowBg, ImGuiCol_TableRowBgAlt, ImGuiCol_TextSelectedBg, ImGuiCol_DragDropTarget, ImGuiCol_NavHighlight, ImGuiCol_NavWindowingHighlight, ImGuiCol_NavWindowingDimBg, ImGuiCol_ModalWindowDimBg, ImGuiCol_COUNT } ImGuiCol_; typedef enum { ImGuiStyleVar_Alpha, ImGuiStyleVar_DisabledAlpha, ImGuiStyleVar_WindowPadding, ImGuiStyleVar_WindowRounding, ImGuiStyleVar_WindowBorderSize, ImGuiStyleVar_WindowMinSize, ImGuiStyleVar_WindowTitleAlign, ImGuiStyleVar_ChildRounding, ImGuiStyleVar_ChildBorderSize, ImGuiStyleVar_PopupRounding, ImGuiStyleVar_PopupBorderSize, ImGuiStyleVar_FramePadding, ImGuiStyleVar_FrameRounding, ImGuiStyleVar_FrameBorderSize, ImGuiStyleVar_ItemSpacing, ImGuiStyleVar_ItemInnerSpacing, ImGuiStyleVar_IndentSpacing, ImGuiStyleVar_CellPadding, ImGuiStyleVar_ScrollbarSize, ImGuiStyleVar_ScrollbarRounding, ImGuiStyleVar_GrabMinSize, ImGuiStyleVar_GrabRounding, ImGuiStyleVar_TabRounding, ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TabBarBorderSize, ImGuiStyleVar_TableAngledHeadersAngle, ImGuiStyleVar_TableAngledHeadersTextAlign, ImGuiStyleVar_ButtonTextAlign, ImGuiStyleVar_SelectableTextAlign, ImGuiStyleVar_SeparatorTextBorderSize, ImGuiStyleVar_SeparatorTextAlign, ImGuiStyleVar_SeparatorTextPadding, ImGuiStyleVar_DockingSeparatorSize, ImGuiStyleVar_COUNT } ImGuiStyleVar_; typedef enum { ImGuiButtonFlags_None = 0, ImGuiButtonFlags_MouseButtonLeft = 1 << 0, ImGuiButtonFlags_MouseButtonRight = 1 << 1, ImGuiButtonFlags_MouseButtonMiddle = 1 << 2, ImGuiButtonFlags_MouseButtonMask_ = ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight | ImGuiButtonFlags_MouseButtonMiddle, ImGuiButtonFlags_MouseButtonDefault_ = ImGuiButtonFlags_MouseButtonLeft, } ImGuiButtonFlags_; typedef enum { ImGuiColorEditFlags_None = 0, ImGuiColorEditFlags_NoAlpha = 1 << 1, ImGuiColorEditFlags_NoPicker = 1 << 2, ImGuiColorEditFlags_NoOptions = 1 << 3, ImGuiColorEditFlags_NoSmallPreview = 1 << 4, ImGuiColorEditFlags_NoInputs = 1 << 5, ImGuiColorEditFlags_NoTooltip = 1 << 6, ImGuiColorEditFlags_NoLabel = 1 << 7, ImGuiColorEditFlags_NoSidePreview = 1 << 8, ImGuiColorEditFlags_NoDragDrop = 1 << 9, ImGuiColorEditFlags_NoBorder = 1 << 10, ImGuiColorEditFlags_AlphaBar = 1 << 16, ImGuiColorEditFlags_AlphaPreview = 1 << 17, ImGuiColorEditFlags_AlphaPreviewHalf = 1 << 18, ImGuiColorEditFlags_HDR = 1 << 19, ImGuiColorEditFlags_DisplayRGB = 1 << 20, ImGuiColorEditFlags_DisplayHSV = 1 << 21, ImGuiColorEditFlags_DisplayHex = 1 << 22, ImGuiColorEditFlags_Uint8 = 1 << 23, ImGuiColorEditFlags_Float = 1 << 24, ImGuiColorEditFlags_PickerHueBar = 1 << 25, ImGuiColorEditFlags_PickerHueWheel = 1 << 26, ImGuiColorEditFlags_InputRGB = 1 << 27, ImGuiColorEditFlags_InputHSV = 1 << 28, ImGuiColorEditFlags_DefaultOptions_ = ImGuiColorEditFlags_Uint8 | ImGuiColorEditFlags_DisplayRGB | ImGuiColorEditFlags_InputRGB | ImGuiColorEditFlags_PickerHueBar, ImGuiColorEditFlags_DisplayMask_ = ImGuiColorEditFlags_DisplayRGB | ImGuiColorEditFlags_DisplayHSV | ImGuiColorEditFlags_DisplayHex, ImGuiColorEditFlags_DataTypeMask_ = ImGuiColorEditFlags_Uint8 | ImGuiColorEditFlags_Float, ImGuiColorEditFlags_PickerMask_ = ImGuiColorEditFlags_PickerHueWheel | ImGuiColorEditFlags_PickerHueBar, ImGuiColorEditFlags_InputMask_ = ImGuiColorEditFlags_InputRGB | ImGuiColorEditFlags_InputHSV, } ImGuiColorEditFlags_; typedef enum { ImGuiSliderFlags_None = 0, ImGuiSliderFlags_AlwaysClamp = 1 << 4, ImGuiSliderFlags_Logarithmic = 1 << 5, ImGuiSliderFlags_NoRoundToFormat = 1 << 6, ImGuiSliderFlags_NoInput = 1 << 7, ImGuiSliderFlags_InvalidMask_ = 0x7000000F, } ImGuiSliderFlags_; typedef enum { ImGuiMouseButton_Left = 0, ImGuiMouseButton_Right = 1, ImGuiMouseButton_Middle = 2, ImGuiMouseButton_COUNT = 5 } ImGuiMouseButton_; typedef enum { ImGuiMouseCursor_None = -1, ImGuiMouseCursor_Arrow = 0, ImGuiMouseCursor_TextInput, ImGuiMouseCursor_ResizeAll, ImGuiMouseCursor_ResizeNS, ImGuiMouseCursor_ResizeEW, ImGuiMouseCursor_ResizeNESW, ImGuiMouseCursor_ResizeNWSE, ImGuiMouseCursor_Hand, ImGuiMouseCursor_NotAllowed, ImGuiMouseCursor_COUNT } ImGuiMouseCursor_; typedef enum { ImGuiMouseSource_Mouse = 0, ImGuiMouseSource_TouchScreen = 1, ImGuiMouseSource_Pen = 2, ImGuiMouseSource_COUNT = 3, } ImGuiMouseSource; typedef enum { ImGuiCond_None = 0, ImGuiCond_Always = 1 << 0, ImGuiCond_Once = 1 << 1, ImGuiCond_FirstUseEver = 1 << 2, ImGuiCond_Appearing = 1 << 3, } ImGuiCond_; typedef enum { ImGuiTableFlags_None = 0, ImGuiTableFlags_Resizable = 1 << 0, ImGuiTableFlags_Reorderable = 1 << 1, ImGuiTableFlags_Hideable = 1 << 2, ImGuiTableFlags_Sortable = 1 << 3, ImGuiTableFlags_NoSavedSettings = 1 << 4, ImGuiTableFlags_ContextMenuInBody = 1 << 5, ImGuiTableFlags_RowBg = 1 << 6, ImGuiTableFlags_BordersInnerH = 1 << 7, ImGuiTableFlags_BordersOuterH = 1 << 8, ImGuiTableFlags_BordersInnerV = 1 << 9, ImGuiTableFlags_BordersOuterV = 1 << 10, ImGuiTableFlags_BordersH = ImGuiTableFlags_BordersInnerH | ImGuiTableFlags_BordersOuterH, ImGuiTableFlags_BordersV = ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_BordersOuterV, ImGuiTableFlags_BordersInner = ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_BordersInnerH, ImGuiTableFlags_BordersOuter = ImGuiTableFlags_BordersOuterV | ImGuiTableFlags_BordersOuterH, ImGuiTableFlags_Borders = ImGuiTableFlags_BordersInner | ImGuiTableFlags_BordersOuter, ImGuiTableFlags_NoBordersInBody = 1 << 11, ImGuiTableFlags_NoBordersInBodyUntilResize = 1 << 12, ImGuiTableFlags_SizingFixedFit = 1 << 13, ImGuiTableFlags_SizingFixedSame = 2 << 13, ImGuiTableFlags_SizingStretchProp = 3 << 13, ImGuiTableFlags_SizingStretchSame = 4 << 13, ImGuiTableFlags_NoHostExtendX = 1 << 16, ImGuiTableFlags_NoHostExtendY = 1 << 17, ImGuiTableFlags_NoKeepColumnsVisible = 1 << 18, ImGuiTableFlags_PreciseWidths = 1 << 19, ImGuiTableFlags_NoClip = 1 << 20, ImGuiTableFlags_PadOuterX = 1 << 21, ImGuiTableFlags_NoPadOuterX = 1 << 22, ImGuiTableFlags_NoPadInnerX = 1 << 23, ImGuiTableFlags_ScrollX = 1 << 24, ImGuiTableFlags_ScrollY = 1 << 25, ImGuiTableFlags_SortMulti = 1 << 26, ImGuiTableFlags_SortTristate = 1 << 27, ImGuiTableFlags_HighlightHoveredColumn = 1 << 28, ImGuiTableFlags_SizingMask_ = ImGuiTableFlags_SizingFixedFit | ImGuiTableFlags_SizingFixedSame | ImGuiTableFlags_SizingStretchProp | ImGuiTableFlags_SizingStretchSame, } ImGuiTableFlags_; typedef enum { ImGuiTableColumnFlags_None = 0, ImGuiTableColumnFlags_Disabled = 1 << 0, ImGuiTableColumnFlags_DefaultHide = 1 << 1, ImGuiTableColumnFlags_DefaultSort = 1 << 2, ImGuiTableColumnFlags_WidthStretch = 1 << 3, ImGuiTableColumnFlags_WidthFixed = 1 << 4, ImGuiTableColumnFlags_NoResize = 1 << 5, ImGuiTableColumnFlags_NoReorder = 1 << 6, ImGuiTableColumnFlags_NoHide = 1 << 7, ImGuiTableColumnFlags_NoClip = 1 << 8, ImGuiTableColumnFlags_NoSort = 1 << 9, ImGuiTableColumnFlags_NoSortAscending = 1 << 10, ImGuiTableColumnFlags_NoSortDescending = 1 << 11, ImGuiTableColumnFlags_NoHeaderLabel = 1 << 12, ImGuiTableColumnFlags_NoHeaderWidth = 1 << 13, ImGuiTableColumnFlags_PreferSortAscending = 1 << 14, ImGuiTableColumnFlags_PreferSortDescending = 1 << 15, ImGuiTableColumnFlags_IndentEnable = 1 << 16, ImGuiTableColumnFlags_IndentDisable = 1 << 17, ImGuiTableColumnFlags_AngledHeader = 1 << 18, ImGuiTableColumnFlags_IsEnabled = 1 << 24, ImGuiTableColumnFlags_IsVisible = 1 << 25, ImGuiTableColumnFlags_IsSorted = 1 << 26, ImGuiTableColumnFlags_IsHovered = 1 << 27, ImGuiTableColumnFlags_WidthMask_ = ImGuiTableColumnFlags_WidthStretch | ImGuiTableColumnFlags_WidthFixed, ImGuiTableColumnFlags_IndentMask_ = ImGuiTableColumnFlags_IndentEnable | ImGuiTableColumnFlags_IndentDisable, ImGuiTableColumnFlags_StatusMask_ = ImGuiTableColumnFlags_IsEnabled | ImGuiTableColumnFlags_IsVisible | ImGuiTableColumnFlags_IsSorted | ImGuiTableColumnFlags_IsHovered, ImGuiTableColumnFlags_NoDirectResize_ = 1 << 30, } ImGuiTableColumnFlags_; typedef enum { ImGuiTableRowFlags_None = 0, ImGuiTableRowFlags_Headers = 1 << 0, } ImGuiTableRowFlags_; typedef enum { ImGuiTableBgTarget_None = 0, ImGuiTableBgTarget_RowBg0 = 1, ImGuiTableBgTarget_RowBg1 = 2, ImGuiTableBgTarget_CellBg = 3, } ImGuiTableBgTarget_; struct ImGuiTableSortSpecs { const ImGuiTableColumnSortSpecs* Specs; int SpecsCount; bool SpecsDirty; }; struct ImGuiTableColumnSortSpecs { ImGuiID ColumnUserID; ImS16 ColumnIndex; ImS16 SortOrder; ImGuiSortDirection SortDirection : 8; }; struct ImGuiStyle { float Alpha; float DisabledAlpha; ImVec2 WindowPadding; float WindowRounding; float WindowBorderSize; ImVec2 WindowMinSize; ImVec2 WindowTitleAlign; ImGuiDir WindowMenuButtonPosition; float ChildRounding; float ChildBorderSize; float PopupRounding; float PopupBorderSize; ImVec2 FramePadding; float FrameRounding; float FrameBorderSize; ImVec2 ItemSpacing; ImVec2 ItemInnerSpacing; ImVec2 CellPadding; ImVec2 TouchExtraPadding; float IndentSpacing; float ColumnsMinSpacing; float ScrollbarSize; float ScrollbarRounding; float GrabMinSize; float GrabRounding; float LogSliderDeadzone; float TabRounding; float TabBorderSize; float TabMinWidthForCloseButton; float TabBarBorderSize; float TableAngledHeadersAngle; ImVec2 TableAngledHeadersTextAlign; ImGuiDir ColorButtonPosition; ImVec2 ButtonTextAlign; ImVec2 SelectableTextAlign; float SeparatorTextBorderSize; ImVec2 SeparatorTextAlign; ImVec2 SeparatorTextPadding; ImVec2 DisplayWindowPadding; ImVec2 DisplaySafeAreaPadding; float DockingSeparatorSize; float MouseCursorScale; bool AntiAliasedLines; bool AntiAliasedLinesUseTex; bool AntiAliasedFill; float CurveTessellationTol; float CircleTessellationMaxError; ImVec4 Colors[ImGuiCol_COUNT]; float HoverStationaryDelay; float HoverDelayShort; float HoverDelayNormal; ImGuiHoveredFlags HoverFlagsForTooltipMouse; ImGuiHoveredFlags HoverFlagsForTooltipNav; }; struct ImGuiKeyData { bool Down; float DownDuration; float DownDurationPrev; float AnalogValue; }; typedef struct ImVector_ImWchar { int Size; int Capacity; ImWchar* Data; } ImVector_ImWchar; struct ImGuiIO { ImGuiConfigFlags ConfigFlags; ImGuiBackendFlags BackendFlags; ImVec2 DisplaySize; float DeltaTime; float IniSavingRate; const char* IniFilename; const char* LogFilename; void* UserData; ImFontAtlas* Fonts; float FontGlobalScale; bool FontAllowUserScaling; ImFont* FontDefault; ImVec2 DisplayFramebufferScale; bool ConfigDockingNoSplit; bool ConfigDockingWithShift; bool ConfigDockingAlwaysTabBar; bool ConfigDockingTransparentPayload; bool ConfigViewportsNoAutoMerge; bool ConfigViewportsNoTaskBarIcon; bool ConfigViewportsNoDecoration; bool ConfigViewportsNoDefaultParent; bool MouseDrawCursor; bool ConfigMacOSXBehaviors; bool ConfigInputTrickleEventQueue; bool ConfigInputTextCursorBlink; bool ConfigInputTextEnterKeepActive; bool ConfigDragClickToInputText; bool ConfigWindowsResizeFromEdges; bool ConfigWindowsMoveFromTitleBarOnly; float ConfigMemoryCompactTimer; float MouseDoubleClickTime; float MouseDoubleClickMaxDist; float MouseDragThreshold; float KeyRepeatDelay; float KeyRepeatRate; bool ConfigDebugIsDebuggerPresent; bool ConfigDebugBeginReturnValueOnce; bool ConfigDebugBeginReturnValueLoop; bool ConfigDebugIgnoreFocusLoss; bool ConfigDebugIniSettings; const char* BackendPlatformName; const char* BackendRendererName; void* BackendPlatformUserData; void* BackendRendererUserData; void* BackendLanguageUserData; const char* (*GetClipboardTextFn)(void* user_data); void (*SetClipboardTextFn)(void* user_data, const char* text); void* ClipboardUserData; void (*SetPlatformImeDataFn)(ImGuiViewport* viewport, ImGuiPlatformImeData* data); ImWchar PlatformLocaleDecimalPoint; bool WantCaptureMouse; bool WantCaptureKeyboard; bool WantTextInput; bool WantSetMousePos; bool WantSaveIniSettings; bool NavActive; bool NavVisible; float Framerate; int MetricsRenderVertices; int MetricsRenderIndices; int MetricsRenderWindows; int MetricsActiveWindows; ImVec2 MouseDelta; ImGuiContext* Ctx; ImVec2 MousePos; bool MouseDown[5]; float MouseWheel; float MouseWheelH; ImGuiMouseSource MouseSource; ImGuiID MouseHoveredViewport; bool KeyCtrl; bool KeyShift; bool KeyAlt; bool KeySuper; ImGuiKeyChord KeyMods; ImGuiKeyData KeysData[ImGuiKey_KeysData_SIZE]; bool WantCaptureMouseUnlessPopupClose; ImVec2 MousePosPrev; ImVec2 MouseClickedPos[5]; double MouseClickedTime[5]; bool MouseClicked[5]; bool MouseDoubleClicked[5]; ImU16 MouseClickedCount[5]; ImU16 MouseClickedLastCount[5]; bool MouseReleased[5]; bool MouseDownOwned[5]; bool MouseDownOwnedUnlessPopupClose[5]; bool MouseWheelRequestAxisSwap; float MouseDownDuration[5]; float MouseDownDurationPrev[5]; ImVec2 MouseDragMaxDistanceAbs[5]; float MouseDragMaxDistanceSqr[5]; float PenPressure; bool AppFocusLost; bool AppAcceptingEvents; ImS8 BackendUsingLegacyKeyArrays; bool BackendUsingLegacyNavInputArray; ImWchar16 InputQueueSurrogate; ImVector_ImWchar InputQueueCharacters; }; struct ImGuiInputTextCallbackData { ImGuiContext* Ctx; ImGuiInputTextFlags EventFlag; ImGuiInputTextFlags Flags; void* UserData; ImWchar EventChar; ImGuiKey EventKey; char* Buf; int BufTextLen; int BufSize; bool BufDirty; int CursorPos; int SelectionStart; int SelectionEnd; }; struct ImGuiSizeCallbackData { void* UserData; ImVec2 Pos; ImVec2 CurrentSize; ImVec2 DesiredSize; }; struct ImGuiWindowClass { ImGuiID ClassId; ImGuiID ParentViewportId; ImGuiID FocusRouteParentWindowId; ImGuiViewportFlags ViewportFlagsOverrideSet; ImGuiViewportFlags ViewportFlagsOverrideClear; ImGuiTabItemFlags TabItemFlagsOverrideSet; ImGuiDockNodeFlags DockNodeFlagsOverrideSet; bool DockingAlwaysTabBar; bool DockingAllowUnclassed; }; struct ImGuiPayload { void* Data; int DataSize; ImGuiID SourceId; ImGuiID SourceParentId; int DataFrameCount; char DataType[32 + 1]; bool Preview; bool Delivery; }; struct ImGuiOnceUponAFrame { int RefFrame; }; struct ImGuiTextRange { const char* b; const char* e; }; typedef struct ImGuiTextRange ImGuiTextRange; typedef struct ImVector_ImGuiTextRange { int Size; int Capacity; ImGuiTextRange* Data; } ImVector_ImGuiTextRange; struct ImGuiTextFilter { char InputBuf[256]; ImVector_ImGuiTextRange Filters; int CountGrep; }; typedef struct ImGuiTextRange ImGuiTextRange; typedef struct ImVector_char { int Size; int Capacity; char* Data; } ImVector_char; struct ImGuiTextBuffer { ImVector_char Buf; }; struct ImGuiStoragePair { ImGuiID key; union { int val_i; float val_f; void* val_p; }; }; typedef struct ImGuiStoragePair ImGuiStoragePair; typedef struct ImVector_ImGuiStoragePair { int Size; int Capacity; ImGuiStoragePair* Data; } ImVector_ImGuiStoragePair; struct ImGuiStorage { ImVector_ImGuiStoragePair Data; }; typedef struct ImGuiStoragePair ImGuiStoragePair; struct ImGuiListClipper { ImGuiContext* Ctx; int DisplayStart; int DisplayEnd; int ItemsCount; float ItemsHeight; float StartPosY; void* TempData; }; struct ImColor { ImVec4 Value; }; typedef void (*ImDrawCallback)(const ImDrawList* parent_list, const ImDrawCmd* cmd); struct ImDrawCmd { ImVec4 ClipRect; ImTextureID TextureId; unsigned int VtxOffset; unsigned int IdxOffset; unsigned int ElemCount; ImDrawCallback UserCallback; void* UserCallbackData; }; struct ImDrawVert { ImVec2 pos; ImVec2 uv; ImU32 col; }; typedef struct ImDrawCmdHeader ImDrawCmdHeader; struct ImDrawCmdHeader { ImVec4 ClipRect; ImTextureID TextureId; unsigned int VtxOffset; }; typedef struct ImVector_ImDrawCmd { int Size; int Capacity; ImDrawCmd* Data; } ImVector_ImDrawCmd; typedef struct ImVector_ImDrawIdx { int Size; int Capacity; ImDrawIdx* Data; } ImVector_ImDrawIdx; struct ImDrawChannel { ImVector_ImDrawCmd _CmdBuffer; ImVector_ImDrawIdx _IdxBuffer; }; typedef struct ImVector_ImDrawChannel { int Size; int Capacity; ImDrawChannel* Data; } ImVector_ImDrawChannel; struct ImDrawListSplitter { int _Current; int _Count; ImVector_ImDrawChannel _Channels; }; typedef enum { ImDrawFlags_None = 0, ImDrawFlags_Closed = 1 << 0, ImDrawFlags_RoundCornersTopLeft = 1 << 4, ImDrawFlags_RoundCornersTopRight = 1 << 5, ImDrawFlags_RoundCornersBottomLeft = 1 << 6, ImDrawFlags_RoundCornersBottomRight = 1 << 7, ImDrawFlags_RoundCornersNone = 1 << 8, ImDrawFlags_RoundCornersTop = ImDrawFlags_RoundCornersTopLeft | ImDrawFlags_RoundCornersTopRight, ImDrawFlags_RoundCornersBottom = ImDrawFlags_RoundCornersBottomLeft | ImDrawFlags_RoundCornersBottomRight, ImDrawFlags_RoundCornersLeft = ImDrawFlags_RoundCornersBottomLeft | ImDrawFlags_RoundCornersTopLeft, ImDrawFlags_RoundCornersRight = ImDrawFlags_RoundCornersBottomRight | ImDrawFlags_RoundCornersTopRight, ImDrawFlags_RoundCornersAll = ImDrawFlags_RoundCornersTopLeft | ImDrawFlags_RoundCornersTopRight | ImDrawFlags_RoundCornersBottomLeft | ImDrawFlags_RoundCornersBottomRight, ImDrawFlags_RoundCornersDefault_ = ImDrawFlags_RoundCornersAll, ImDrawFlags_RoundCornersMask_ = ImDrawFlags_RoundCornersAll | ImDrawFlags_RoundCornersNone, } ImDrawFlags_; typedef enum { ImDrawListFlags_None = 0, ImDrawListFlags_AntiAliasedLines = 1 << 0, ImDrawListFlags_AntiAliasedLinesUseTex = 1 << 1, ImDrawListFlags_AntiAliasedFill = 1 << 2, ImDrawListFlags_AllowVtxOffset = 1 << 3, } ImDrawListFlags_; typedef struct ImVector_ImDrawVert { int Size; int Capacity; ImDrawVert* Data; } ImVector_ImDrawVert; typedef struct ImVector_ImVec2 { int Size; int Capacity; ImVec2* Data; } ImVector_ImVec2; typedef struct ImVector_ImVec4 { int Size; int Capacity; ImVec4* Data; } ImVector_ImVec4; typedef struct ImVector_ImTextureID { int Size; int Capacity; ImTextureID* Data; } ImVector_ImTextureID; struct ImDrawList { ImVector_ImDrawCmd CmdBuffer; ImVector_ImDrawIdx IdxBuffer; ImVector_ImDrawVert VtxBuffer; ImDrawListFlags Flags; unsigned int _VtxCurrentIdx; ImDrawListSharedData* _Data; ImDrawVert* _VtxWritePtr; ImDrawIdx* _IdxWritePtr; ImVector_ImVec2 _Path; ImDrawCmdHeader _CmdHeader; ImDrawListSplitter _Splitter; ImVector_ImVec4 _ClipRectStack; ImVector_ImTextureID _TextureIdStack; float _FringeScale; const char* _OwnerName; }; typedef struct ImVector_ImDrawListPtr { int Size; int Capacity; ImDrawList** Data; } ImVector_ImDrawListPtr; struct ImDrawData { bool Valid; int CmdListsCount; int TotalIdxCount; int TotalVtxCount; ImVector_ImDrawListPtr CmdLists; ImVec2 DisplayPos; ImVec2 DisplaySize; ImVec2 FramebufferScale; ImGuiViewport* OwnerViewport; }; struct ImFontConfig { void* FontData; int FontDataSize; bool FontDataOwnedByAtlas; int FontNo; float SizePixels; int OversampleH; int OversampleV; bool PixelSnapH; ImVec2 GlyphExtraSpacing; ImVec2 GlyphOffset; const ImWchar* GlyphRanges; float GlyphMinAdvanceX; float GlyphMaxAdvanceX; bool MergeMode; unsigned int FontBuilderFlags; float RasterizerMultiply; float RasterizerDensity; ImWchar EllipsisChar; char Name[40]; ImFont* DstFont; }; struct ImFontGlyph { unsigned int Colored : 1; unsigned int Visible : 1; unsigned int Codepoint : 30; float AdvanceX; float X0, Y0, X1, Y1; float U0, V0, U1, V1; }; typedef struct ImVector_ImU32 { int Size; int Capacity; ImU32* Data; } ImVector_ImU32; struct ImFontGlyphRangesBuilder { ImVector_ImU32 UsedChars; }; typedef struct ImFontAtlasCustomRect ImFontAtlasCustomRect; struct ImFontAtlasCustomRect { unsigned short Width, Height; unsigned short X, Y; unsigned int GlyphID; float GlyphAdvanceX; ImVec2 GlyphOffset; ImFont* Font; }; typedef enum { ImFontAtlasFlags_None = 0, ImFontAtlasFlags_NoPowerOfTwoHeight = 1 << 0, ImFontAtlasFlags_NoMouseCursors = 1 << 1, ImFontAtlasFlags_NoBakedLines = 1 << 2, } ImFontAtlasFlags_; typedef struct ImVector_ImFontPtr { int Size; int Capacity; ImFont** Data; } ImVector_ImFontPtr; typedef struct ImVector_ImFontAtlasCustomRect { int Size; int Capacity; ImFontAtlasCustomRect* Data; } ImVector_ImFontAtlasCustomRect; typedef struct ImVector_ImFontConfig { int Size; int Capacity; ImFontConfig* Data; } ImVector_ImFontConfig; struct ImFontAtlas { ImFontAtlasFlags Flags; ImTextureID TexID; int TexDesiredWidth; int TexGlyphPadding; bool Locked; void* UserData; bool TexReady; bool TexPixelsUseColors; unsigned char* TexPixelsAlpha8; unsigned int* TexPixelsRGBA32; int TexWidth; int TexHeight; ImVec2 TexUvScale; ImVec2 TexUvWhitePixel; ImVector_ImFontPtr Fonts; ImVector_ImFontAtlasCustomRect CustomRects; ImVector_ImFontConfig ConfigData; ImVec4 TexUvLines[(63) + 1]; const ImFontBuilderIO* FontBuilderIO; unsigned int FontBuilderFlags; int PackIdMouseCursors; int PackIdLines; }; typedef struct ImVector_float { int Size; int Capacity; float* Data; } ImVector_float; typedef struct ImVector_ImFontGlyph { int Size; int Capacity; ImFontGlyph* Data; } ImVector_ImFontGlyph; struct ImFont { ImVector_float IndexAdvanceX; float FallbackAdvanceX; float FontSize; ImVector_ImWchar IndexLookup; ImVector_ImFontGlyph Glyphs; const ImFontGlyph* FallbackGlyph; ImFontAtlas* ContainerAtlas; const ImFontConfig* ConfigData; short ConfigDataCount; ImWchar FallbackChar; ImWchar EllipsisChar; short EllipsisCharCount; float EllipsisWidth; float EllipsisCharStep; bool DirtyLookupTables; float Scale; float Ascent, Descent; int MetricsTotalSurface; ImU8 Used4kPagesMap[(0xFFFF + 1) / 4096 / 8]; }; typedef enum { ImGuiViewportFlags_None = 0, ImGuiViewportFlags_IsPlatformWindow = 1 << 0, ImGuiViewportFlags_IsPlatformMonitor = 1 << 1, ImGuiViewportFlags_OwnedByApp = 1 << 2, ImGuiViewportFlags_NoDecoration = 1 << 3, ImGuiViewportFlags_NoTaskBarIcon = 1 << 4, ImGuiViewportFlags_NoFocusOnAppearing = 1 << 5, ImGuiViewportFlags_NoFocusOnClick = 1 << 6, ImGuiViewportFlags_NoInputs = 1 << 7, ImGuiViewportFlags_NoRendererClear = 1 << 8, ImGuiViewportFlags_NoAutoMerge = 1 << 9, ImGuiViewportFlags_TopMost = 1 << 10, ImGuiViewportFlags_CanHostOtherWindows = 1 << 11, ImGuiViewportFlags_IsMinimized = 1 << 12, ImGuiViewportFlags_IsFocused = 1 << 13, } ImGuiViewportFlags_; struct ImGuiViewport { ImGuiID ID; ImGuiViewportFlags Flags; ImVec2 Pos; ImVec2 Size; ImVec2 WorkPos; ImVec2 WorkSize; float DpiScale; ImGuiID ParentViewportId; ImDrawData* DrawData; void* RendererUserData; void* PlatformUserData; void* PlatformHandle; void* PlatformHandleRaw; bool PlatformWindowCreated; bool PlatformRequestMove; bool PlatformRequestResize; bool PlatformRequestClose; }; typedef struct ImVector_ImGuiPlatformMonitor { int Size; int Capacity; ImGuiPlatformMonitor* Data; } ImVector_ImGuiPlatformMonitor; typedef struct ImVector_ImGuiViewportPtr { int Size; int Capacity; ImGuiViewport** Data; } ImVector_ImGuiViewportPtr; struct ImGuiPlatformIO { void (*Platform_CreateWindow)(ImGuiViewport* vp); void (*Platform_DestroyWindow)(ImGuiViewport* vp); void (*Platform_ShowWindow)(ImGuiViewport* vp); void (*Platform_SetWindowPos)(ImGuiViewport* vp, ImVec2 pos); ImVec2 (*Platform_GetWindowPos)(ImGuiViewport* vp); void (*Platform_SetWindowSize)(ImGuiViewport* vp, ImVec2 size); ImVec2 (*Platform_GetWindowSize)(ImGuiViewport* vp); void (*Platform_SetWindowFocus)(ImGuiViewport* vp); bool (*Platform_GetWindowFocus)(ImGuiViewport* vp); bool (*Platform_GetWindowMinimized)(ImGuiViewport* vp); void (*Platform_SetWindowTitle)(ImGuiViewport* vp, const char* str); void (*Platform_SetWindowAlpha)(ImGuiViewport* vp, float alpha); void (*Platform_UpdateWindow)(ImGuiViewport* vp); void (*Platform_RenderWindow)(ImGuiViewport* vp, void* render_arg); void (*Platform_SwapBuffers)(ImGuiViewport* vp, void* render_arg); float (*Platform_GetWindowDpiScale)(ImGuiViewport* vp); void (*Platform_OnChangedViewport)(ImGuiViewport* vp); int (*Platform_CreateVkSurface)(ImGuiViewport* vp, ImU64 vk_inst, const void* vk_allocators, ImU64* out_vk_surface); void (*Renderer_CreateWindow)(ImGuiViewport* vp); void (*Renderer_DestroyWindow)(ImGuiViewport* vp); void (*Renderer_SetWindowSize)(ImGuiViewport* vp, ImVec2 size); void (*Renderer_RenderWindow)(ImGuiViewport* vp, void* render_arg); void (*Renderer_SwapBuffers)(ImGuiViewport* vp, void* render_arg); ImVector_ImGuiPlatformMonitor Monitors; ImVector_ImGuiViewportPtr Viewports; }; struct ImGuiPlatformMonitor { ImVec2 MainPos, MainSize; ImVec2 WorkPos, WorkSize; float DpiScale; void* PlatformHandle; }; struct ImGuiPlatformImeData { bool WantVisible; ImVec2 InputPos; float InputLineHeight; }; struct ImBitVector; struct ImRect; struct ImDrawDataBuilder; struct ImDrawListSharedData; struct ImGuiColorMod; struct ImGuiContext; struct ImGuiContextHook; struct ImGuiDataVarInfo; struct ImGuiDataTypeInfo; struct ImGuiDockContext; struct ImGuiDockRequest; struct ImGuiDockNode; struct ImGuiDockNodeSettings; struct ImGuiGroupData; struct ImGuiInputTextState; struct ImGuiInputTextDeactivateData; struct ImGuiLastItemData; struct ImGuiLocEntry; struct ImGuiMenuColumns; struct ImGuiNavItemData; struct ImGuiNavTreeNodeData; struct ImGuiMetricsConfig; struct ImGuiNextWindowData; struct ImGuiNextItemData; struct ImGuiOldColumnData; struct ImGuiOldColumns; struct ImGuiPopupData; struct ImGuiSettingsHandler; struct ImGuiStackSizes; struct ImGuiStyleMod; struct ImGuiTabBar; struct ImGuiTabItem; struct ImGuiTable; struct ImGuiTableHeaderData; struct ImGuiTableColumn; struct ImGuiTableInstanceData; struct ImGuiTableTempData; struct ImGuiTableSettings; struct ImGuiTableColumnsSettings; struct ImGuiTypingSelectState; struct ImGuiTypingSelectRequest; struct ImGuiWindow; struct ImGuiWindowDockStyle; struct ImGuiWindowTempData; struct ImGuiWindowSettings; typedef int ImGuiDataAuthority; typedef int ImGuiLayoutType; typedef int ImGuiActivateFlags; typedef int ImGuiDebugLogFlags; typedef int ImGuiFocusRequestFlags; typedef int ImGuiInputFlags; typedef int ImGuiItemFlags; typedef int ImGuiItemStatusFlags; typedef int ImGuiOldColumnFlags; typedef int ImGuiNavHighlightFlags; typedef int ImGuiNavMoveFlags; typedef int ImGuiNextItemDataFlags; typedef int ImGuiNextWindowDataFlags; typedef int ImGuiScrollFlags; typedef int ImGuiSeparatorFlags; typedef int ImGuiTextFlags; typedef int ImGuiTooltipFlags; typedef int ImGuiTypingSelectFlags; typedef int ImGuiWindowRefreshFlags; typedef void (*ImGuiErrorLogCallback)(void* user_data, const char* fmt, ...); extern ImGuiContext* GImGui; typedef struct StbUndoRecord StbUndoRecord; struct StbUndoRecord { int where; int insert_length; int delete_length; int char_storage; }; typedef struct StbUndoState StbUndoState; struct StbUndoState { StbUndoRecord undo_rec[99]; ImWchar undo_char[999]; short undo_point, redo_point; int undo_char_point, redo_char_point; }; typedef struct STB_TexteditState STB_TexteditState; struct STB_TexteditState { int cursor; int select_start; int select_end; unsigned char insert_mode; int row_count_per_page; unsigned char cursor_at_end_of_line; unsigned char initialized; unsigned char has_preferred_x; unsigned char single_line; unsigned char padding1, padding2, padding3; float preferred_x; StbUndoState undostate; }; typedef struct StbTexteditRow StbTexteditRow; struct StbTexteditRow { float x0, x1; float baseline_y_delta; float ymin, ymax; int num_chars; }; typedef FILE* ImFileHandle; typedef struct ImVec1 ImVec1; struct ImVec1 { float x; }; typedef struct ImVec2ih ImVec2ih; struct ImVec2ih { short x, y; }; struct ImRect { ImVec2 Min; ImVec2 Max; }; typedef ImU32* ImBitArrayPtr; struct ImBitVector { ImVector_ImU32 Storage; }; typedef int ImPoolIdx; typedef struct ImGuiTextIndex ImGuiTextIndex; typedef struct ImVector_int { int Size; int Capacity; int* Data; } ImVector_int; struct ImGuiTextIndex { ImVector_int LineOffsets; int EndOffset; }; struct ImDrawListSharedData { ImVec2 TexUvWhitePixel; ImFont* Font; float FontSize; float CurveTessellationTol; float CircleSegmentMaxError; ImVec4 ClipRectFullscreen; ImDrawListFlags InitialFlags; ImVector_ImVec2 TempBuffer; ImVec2 ArcFastVtx[48]; float ArcFastRadiusCutoff; ImU8 CircleSegmentCounts[64]; const ImVec4* TexUvLines; }; struct ImDrawDataBuilder { ImVector_ImDrawListPtr* Layers[2]; ImVector_ImDrawListPtr LayerData1; }; typedef enum { ImGuiItemFlags_None = 0, ImGuiItemFlags_NoTabStop = 1 << 0, ImGuiItemFlags_ButtonRepeat = 1 << 1, ImGuiItemFlags_Disabled = 1 << 2, ImGuiItemFlags_NoNav = 1 << 3, ImGuiItemFlags_NoNavDefaultFocus = 1 << 4, ImGuiItemFlags_SelectableDontClosePopup = 1 << 5, ImGuiItemFlags_MixedValue = 1 << 6, ImGuiItemFlags_ReadOnly = 1 << 7, ImGuiItemFlags_NoWindowHoverableCheck = 1 << 8, ImGuiItemFlags_AllowOverlap = 1 << 9, ImGuiItemFlags_Inputable = 1 << 10, ImGuiItemFlags_HasSelectionUserData = 1 << 11, } ImGuiItemFlags_; typedef enum { ImGuiItemStatusFlags_None = 0, ImGuiItemStatusFlags_HoveredRect = 1 << 0, ImGuiItemStatusFlags_HasDisplayRect = 1 << 1, ImGuiItemStatusFlags_Edited = 1 << 2, ImGuiItemStatusFlags_ToggledSelection = 1 << 3, ImGuiItemStatusFlags_ToggledOpen = 1 << 4, ImGuiItemStatusFlags_HasDeactivated = 1 << 5, ImGuiItemStatusFlags_Deactivated = 1 << 6, ImGuiItemStatusFlags_HoveredWindow = 1 << 7, ImGuiItemStatusFlags_Visible = 1 << 8, ImGuiItemStatusFlags_HasClipRect = 1 << 9, } ImGuiItemStatusFlags_; typedef enum { ImGuiHoveredFlags_DelayMask_ = ImGuiHoveredFlags_DelayNone | ImGuiHoveredFlags_DelayShort | ImGuiHoveredFlags_DelayNormal | ImGuiHoveredFlags_NoSharedDelay, ImGuiHoveredFlags_AllowedMaskForIsWindowHovered = ImGuiHoveredFlags_ChildWindows | ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_AnyWindow | ImGuiHoveredFlags_NoPopupHierarchy | ImGuiHoveredFlags_DockHierarchy | ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_ForTooltip | ImGuiHoveredFlags_Stationary, ImGuiHoveredFlags_AllowedMaskForIsItemHovered = ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_AllowWhenOverlapped | ImGuiHoveredFlags_AllowWhenDisabled | ImGuiHoveredFlags_NoNavOverride | ImGuiHoveredFlags_ForTooltip | ImGuiHoveredFlags_Stationary | ImGuiHoveredFlags_DelayMask_, } ImGuiHoveredFlagsPrivate_; typedef enum { ImGuiInputTextFlags_Multiline = 1 << 26, ImGuiInputTextFlags_NoMarkEdited = 1 << 27, ImGuiInputTextFlags_MergedItem = 1 << 28, ImGuiInputTextFlags_LocalizeDecimalPoint = 1 << 29, } ImGuiInputTextFlagsPrivate_; typedef enum { ImGuiButtonFlags_PressedOnClick = 1 << 4, ImGuiButtonFlags_PressedOnClickRelease = 1 << 5, ImGuiButtonFlags_PressedOnClickReleaseAnywhere = 1 << 6, ImGuiButtonFlags_PressedOnRelease = 1 << 7, ImGuiButtonFlags_PressedOnDoubleClick = 1 << 8, ImGuiButtonFlags_PressedOnDragDropHold = 1 << 9, ImGuiButtonFlags_Repeat = 1 << 10, ImGuiButtonFlags_FlattenChildren = 1 << 11, ImGuiButtonFlags_AllowOverlap = 1 << 12, ImGuiButtonFlags_DontClosePopups = 1 << 13, ImGuiButtonFlags_AlignTextBaseLine = 1 << 15, ImGuiButtonFlags_NoKeyModifiers = 1 << 16, ImGuiButtonFlags_NoHoldingActiveId = 1 << 17, ImGuiButtonFlags_NoNavFocus = 1 << 18, ImGuiButtonFlags_NoHoveredOnFocus = 1 << 19, ImGuiButtonFlags_NoSetKeyOwner = 1 << 20, ImGuiButtonFlags_NoTestKeyOwner = 1 << 21, ImGuiButtonFlags_PressedOnMask_ = ImGuiButtonFlags_PressedOnClick | ImGuiButtonFlags_PressedOnClickRelease | ImGuiButtonFlags_PressedOnClickReleaseAnywhere | ImGuiButtonFlags_PressedOnRelease | ImGuiButtonFlags_PressedOnDoubleClick | ImGuiButtonFlags_PressedOnDragDropHold, ImGuiButtonFlags_PressedOnDefault_ = ImGuiButtonFlags_PressedOnClickRelease, } ImGuiButtonFlagsPrivate_; typedef enum { ImGuiComboFlags_CustomPreview = 1 << 20, } ImGuiComboFlagsPrivate_; typedef enum { ImGuiSliderFlags_Vertical = 1 << 20, ImGuiSliderFlags_ReadOnly = 1 << 21, } ImGuiSliderFlagsPrivate_; typedef enum { ImGuiSelectableFlags_NoHoldingActiveID = 1 << 20, ImGuiSelectableFlags_SelectOnNav = 1 << 21, ImGuiSelectableFlags_SelectOnClick = 1 << 22, ImGuiSelectableFlags_SelectOnRelease = 1 << 23, ImGuiSelectableFlags_SpanAvailWidth = 1 << 24, ImGuiSelectableFlags_SetNavIdOnHover = 1 << 25, ImGuiSelectableFlags_NoPadWithHalfSpacing = 1 << 26, ImGuiSelectableFlags_NoSetKeyOwner = 1 << 27, } ImGuiSelectableFlagsPrivate_; typedef enum { ImGuiTreeNodeFlags_ClipLabelForTrailingButton = 1 << 20, ImGuiTreeNodeFlags_UpsideDownArrow = 1 << 21, } ImGuiTreeNodeFlagsPrivate_; typedef enum { ImGuiSeparatorFlags_None = 0, ImGuiSeparatorFlags_Horizontal = 1 << 0, ImGuiSeparatorFlags_Vertical = 1 << 1, ImGuiSeparatorFlags_SpanAllColumns = 1 << 2, } ImGuiSeparatorFlags_; typedef enum { ImGuiFocusRequestFlags_None = 0, ImGuiFocusRequestFlags_RestoreFocusedChild = 1 << 0, ImGuiFocusRequestFlags_UnlessBelowModal = 1 << 1, } ImGuiFocusRequestFlags_; typedef enum { ImGuiTextFlags_None = 0, ImGuiTextFlags_NoWidthForLargeClippedText = 1 << 0, } ImGuiTextFlags_; typedef enum { ImGuiTooltipFlags_None = 0, ImGuiTooltipFlags_OverridePrevious = 1 << 1, } ImGuiTooltipFlags_; typedef enum { ImGuiLayoutType_Horizontal = 0, ImGuiLayoutType_Vertical = 1 } ImGuiLayoutType_; typedef enum { ImGuiLogType_None = 0, ImGuiLogType_TTY, ImGuiLogType_File, ImGuiLogType_Buffer, ImGuiLogType_Clipboard, } ImGuiLogType; typedef enum { ImGuiAxis_None = -1, ImGuiAxis_X = 0, ImGuiAxis_Y = 1 } ImGuiAxis; typedef enum { ImGuiPlotType_Lines, ImGuiPlotType_Histogram, } ImGuiPlotType; struct ImGuiColorMod { ImGuiCol Col; ImVec4 BackupValue; }; struct ImGuiStyleMod { ImGuiStyleVar VarIdx; union { int BackupInt[2]; float BackupFloat[2]; }; }; typedef struct ImGuiComboPreviewData ImGuiComboPreviewData; struct ImGuiComboPreviewData { ImRect PreviewRect; ImVec2 BackupCursorPos; ImVec2 BackupCursorMaxPos; ImVec2 BackupCursorPosPrevLine; float BackupPrevLineTextBaseOffset; ImGuiLayoutType BackupLayout; }; struct ImGuiGroupData { ImGuiID WindowID; ImVec2 BackupCursorPos; ImVec2 BackupCursorMaxPos; ImVec2 BackupCursorPosPrevLine; ImVec1 BackupIndent; ImVec1 BackupGroupOffset; ImVec2 BackupCurrLineSize; float BackupCurrLineTextBaseOffset; ImGuiID BackupActiveIdIsAlive; bool BackupActiveIdPreviousFrameIsAlive; bool BackupHoveredIdIsAlive; bool BackupIsSameLine; bool EmitItem; }; struct ImGuiMenuColumns { ImU32 TotalWidth; ImU32 NextTotalWidth; ImU16 Spacing; ImU16 OffsetIcon; ImU16 OffsetLabel; ImU16 OffsetShortcut; ImU16 OffsetMark; ImU16 Widths[4]; }; typedef struct ImGuiInputTextDeactivatedState ImGuiInputTextDeactivatedState; struct ImGuiInputTextDeactivatedState { ImGuiID ID; ImVector_char TextA; }; struct ImGuiInputTextState { ImGuiContext* Ctx; ImGuiID ID; int CurLenW, CurLenA; ImVector_ImWchar TextW; ImVector_char TextA; ImVector_char InitialTextA; bool TextAIsValid; int BufCapacityA; float ScrollX; STB_TexteditState Stb; float CursorAnim; bool CursorFollow; bool SelectedAllMouseLock; bool Edited; ImGuiInputTextFlags Flags; bool ReloadUserBuf; int ReloadSelectionStart; int ReloadSelectionEnd; }; typedef enum { ImGuiWindowRefreshFlags_None = 0, ImGuiWindowRefreshFlags_TryToAvoidRefresh = 1 << 0, ImGuiWindowRefreshFlags_RefreshOnHover = 1 << 1, ImGuiWindowRefreshFlags_RefreshOnFocus = 1 << 2, } ImGuiWindowRefreshFlags_; typedef enum { ImGuiNextWindowDataFlags_None = 0, ImGuiNextWindowDataFlags_HasPos = 1 << 0, ImGuiNextWindowDataFlags_HasSize = 1 << 1, ImGuiNextWindowDataFlags_HasContentSize = 1 << 2, ImGuiNextWindowDataFlags_HasCollapsed = 1 << 3, ImGuiNextWindowDataFlags_HasSizeConstraint = 1 << 4, ImGuiNextWindowDataFlags_HasFocus = 1 << 5, ImGuiNextWindowDataFlags_HasBgAlpha = 1 << 6, ImGuiNextWindowDataFlags_HasScroll = 1 << 7, ImGuiNextWindowDataFlags_HasChildFlags = 1 << 8, ImGuiNextWindowDataFlags_HasRefreshPolicy = 1 << 9, ImGuiNextWindowDataFlags_HasViewport = 1 << 10, ImGuiNextWindowDataFlags_HasDock = 1 << 11, ImGuiNextWindowDataFlags_HasWindowClass = 1 << 12, } ImGuiNextWindowDataFlags_; struct ImGuiNextWindowData { ImGuiNextWindowDataFlags Flags; ImGuiCond PosCond; ImGuiCond SizeCond; ImGuiCond CollapsedCond; ImGuiCond DockCond; ImVec2 PosVal; ImVec2 PosPivotVal; ImVec2 SizeVal; ImVec2 ContentSizeVal; ImVec2 ScrollVal; ImGuiChildFlags ChildFlags; bool PosUndock; bool CollapsedVal; ImRect SizeConstraintRect; ImGuiSizeCallback SizeCallback; void* SizeCallbackUserData; float BgAlphaVal; ImGuiID ViewportId; ImGuiID DockId; ImGuiWindowClass WindowClass; ImVec2 MenuBarOffsetMinVal; ImGuiWindowRefreshFlags RefreshFlagsVal; }; typedef ImS64 ImGuiSelectionUserData; typedef enum { ImGuiNextItemDataFlags_None = 0, ImGuiNextItemDataFlags_HasWidth = 1 << 0, ImGuiNextItemDataFlags_HasOpen = 1 << 1, ImGuiNextItemDataFlags_HasShortcut = 1 << 2, } ImGuiNextItemDataFlags_; struct ImGuiNextItemData { ImGuiNextItemDataFlags Flags; ImGuiItemFlags ItemFlags; ImGuiSelectionUserData SelectionUserData; float Width; ImGuiKeyChord Shortcut; bool OpenVal; ImGuiCond OpenCond : 8; }; struct ImGuiLastItemData { ImGuiID ID; ImGuiItemFlags InFlags; ImGuiItemStatusFlags StatusFlags; ImRect Rect; ImRect NavRect; ImRect DisplayRect; ImRect ClipRect; }; struct ImGuiNavTreeNodeData { ImGuiID ID; ImGuiItemFlags InFlags; ImRect NavRect; }; struct ImGuiStackSizes { short SizeOfIDStack; short SizeOfColorStack; short SizeOfStyleVarStack; short SizeOfFontStack; short SizeOfFocusScopeStack; short SizeOfGroupStack; short SizeOfItemFlagsStack; short SizeOfBeginPopupStack; short SizeOfDisabledStack; }; typedef struct ImGuiWindowStackData ImGuiWindowStackData; struct ImGuiWindowStackData { ImGuiWindow* Window; ImGuiLastItemData ParentLastItemDataBackup; ImGuiStackSizes StackSizesOnBegin; }; typedef struct ImGuiShrinkWidthItem ImGuiShrinkWidthItem; struct ImGuiShrinkWidthItem { int Index; float Width; float InitialWidth; }; typedef struct ImGuiPtrOrIndex ImGuiPtrOrIndex; struct ImGuiPtrOrIndex { void* Ptr; int Index; }; struct ImGuiDataVarInfo { ImGuiDataType Type; ImU32 Count; ImU32 Offset; }; typedef struct ImGuiDataTypeTempStorage ImGuiDataTypeTempStorage; struct ImGuiDataTypeTempStorage { ImU8 Data[8]; }; struct ImGuiDataTypeInfo { size_t Size; const char* Name; const char* PrintFmt; const char* ScanFmt; }; typedef enum { ImGuiDataType_String = ImGuiDataType_COUNT + 1, ImGuiDataType_Pointer, ImGuiDataType_ID, } ImGuiDataTypePrivate_; typedef enum { ImGuiPopupPositionPolicy_Default, ImGuiPopupPositionPolicy_ComboBox, ImGuiPopupPositionPolicy_Tooltip, } ImGuiPopupPositionPolicy; struct ImGuiPopupData { ImGuiID PopupId; ImGuiWindow* Window; ImGuiWindow* RestoreNavWindow; int ParentNavLayer; int OpenFrameCount; ImGuiID OpenParentId; ImVec2 OpenPopupPos; ImVec2 OpenMousePos; }; typedef struct ImBitArray_ImGuiKey_NamedKey_COUNT__lessImGuiKey_NamedKey_BEGIN { ImU32 Storage[(ImGuiKey_NamedKey_COUNT + 31) >> 5]; } ImBitArray_ImGuiKey_NamedKey_COUNT__lessImGuiKey_NamedKey_BEGIN; typedef ImBitArray_ImGuiKey_NamedKey_COUNT__lessImGuiKey_NamedKey_BEGIN ImBitArrayForNamedKeys; typedef enum { ImGuiInputEventType_None = 0, ImGuiInputEventType_MousePos, ImGuiInputEventType_MouseWheel, ImGuiInputEventType_MouseButton, ImGuiInputEventType_MouseViewport, ImGuiInputEventType_Key, ImGuiInputEventType_Text, ImGuiInputEventType_Focus, ImGuiInputEventType_COUNT } ImGuiInputEventType; typedef enum { ImGuiInputSource_None = 0, ImGuiInputSource_Mouse, ImGuiInputSource_Keyboard, ImGuiInputSource_Gamepad, ImGuiInputSource_COUNT } ImGuiInputSource; typedef struct ImGuiInputEventMousePos ImGuiInputEventMousePos; struct ImGuiInputEventMousePos { float PosX, PosY; ImGuiMouseSource MouseSource; }; typedef struct ImGuiInputEventMouseWheel ImGuiInputEventMouseWheel; struct ImGuiInputEventMouseWheel { float WheelX, WheelY; ImGuiMouseSource MouseSource; }; typedef struct ImGuiInputEventMouseButton ImGuiInputEventMouseButton; struct ImGuiInputEventMouseButton { int Button; bool Down; ImGuiMouseSource MouseSource; }; typedef struct ImGuiInputEventMouseViewport ImGuiInputEventMouseViewport; struct ImGuiInputEventMouseViewport { ImGuiID HoveredViewportID; }; typedef struct ImGuiInputEventKey ImGuiInputEventKey; struct ImGuiInputEventKey { ImGuiKey Key; bool Down; float AnalogValue; }; typedef struct ImGuiInputEventText ImGuiInputEventText; struct ImGuiInputEventText { unsigned int Char; }; typedef struct ImGuiInputEventAppFocused ImGuiInputEventAppFocused; struct ImGuiInputEventAppFocused { bool Focused; }; typedef struct ImGuiInputEvent ImGuiInputEvent; struct ImGuiInputEvent { ImGuiInputEventType Type; ImGuiInputSource Source; ImU32 EventId; union { ImGuiInputEventMousePos MousePos; ImGuiInputEventMouseWheel MouseWheel; ImGuiInputEventMouseButton MouseButton; ImGuiInputEventMouseViewport MouseViewport; ImGuiInputEventKey Key; ImGuiInputEventText Text; ImGuiInputEventAppFocused AppFocused; }; bool AddedByTestEngine; }; typedef ImS16 ImGuiKeyRoutingIndex; typedef struct ImGuiKeyRoutingData ImGuiKeyRoutingData; struct ImGuiKeyRoutingData { ImGuiKeyRoutingIndex NextEntryIndex; ImU16 Mods; ImU8 RoutingCurrScore; ImU8 RoutingNextScore; ImGuiID RoutingCurr; ImGuiID RoutingNext; }; typedef struct ImGuiKeyRoutingTable ImGuiKeyRoutingTable; typedef struct ImVector_ImGuiKeyRoutingData { int Size; int Capacity; ImGuiKeyRoutingData* Data; } ImVector_ImGuiKeyRoutingData; struct ImGuiKeyRoutingTable { ImGuiKeyRoutingIndex Index[ImGuiKey_NamedKey_COUNT]; ImVector_ImGuiKeyRoutingData Entries; ImVector_ImGuiKeyRoutingData EntriesNext; }; typedef struct ImGuiKeyOwnerData ImGuiKeyOwnerData; struct ImGuiKeyOwnerData { ImGuiID OwnerCurr; ImGuiID OwnerNext; bool LockThisFrame; bool LockUntilRelease; }; typedef enum { ImGuiInputFlags_None = 0, ImGuiInputFlags_Repeat = 1 << 0, ImGuiInputFlags_RepeatRateDefault = 1 << 1, ImGuiInputFlags_RepeatRateNavMove = 1 << 2, ImGuiInputFlags_RepeatRateNavTweak = 1 << 3, ImGuiInputFlags_RepeatUntilRelease = 1 << 4, ImGuiInputFlags_RepeatUntilKeyModsChange = 1 << 5, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone = 1 << 6, ImGuiInputFlags_RepeatUntilOtherKeyPress = 1 << 7, ImGuiInputFlags_CondHovered = 1 << 8, ImGuiInputFlags_CondActive = 1 << 9, ImGuiInputFlags_CondDefault_ = ImGuiInputFlags_CondHovered | ImGuiInputFlags_CondActive, ImGuiInputFlags_LockThisFrame = 1 << 10, ImGuiInputFlags_LockUntilRelease = 1 << 11, ImGuiInputFlags_RouteFocused = 1 << 12, ImGuiInputFlags_RouteGlobalLow = 1 << 13, ImGuiInputFlags_RouteGlobal = 1 << 14, ImGuiInputFlags_RouteGlobalHigh = 1 << 15, ImGuiInputFlags_RouteAlways = 1 << 16, ImGuiInputFlags_RouteUnlessBgFocused = 1 << 17, ImGuiInputFlags_RepeatRateMask_ = ImGuiInputFlags_RepeatRateDefault | ImGuiInputFlags_RepeatRateNavMove | ImGuiInputFlags_RepeatRateNavTweak, ImGuiInputFlags_RepeatUntilMask_ = ImGuiInputFlags_RepeatUntilRelease | ImGuiInputFlags_RepeatUntilKeyModsChange | ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone | ImGuiInputFlags_RepeatUntilOtherKeyPress, ImGuiInputFlags_RepeatMask_ = ImGuiInputFlags_Repeat | ImGuiInputFlags_RepeatRateMask_ | ImGuiInputFlags_RepeatUntilMask_, ImGuiInputFlags_CondMask_ = ImGuiInputFlags_CondHovered | ImGuiInputFlags_CondActive, ImGuiInputFlags_RouteMask_ = ImGuiInputFlags_RouteFocused | ImGuiInputFlags_RouteGlobal | ImGuiInputFlags_RouteGlobalLow | ImGuiInputFlags_RouteGlobalHigh, ImGuiInputFlags_SupportedByIsKeyPressed = ImGuiInputFlags_RepeatMask_, ImGuiInputFlags_SupportedByIsMouseClicked = ImGuiInputFlags_Repeat, ImGuiInputFlags_SupportedByShortcut = ImGuiInputFlags_RepeatMask_ | ImGuiInputFlags_RouteMask_ | ImGuiInputFlags_RouteAlways | ImGuiInputFlags_RouteUnlessBgFocused, ImGuiInputFlags_SupportedBySetKeyOwner = ImGuiInputFlags_LockThisFrame | ImGuiInputFlags_LockUntilRelease, ImGuiInputFlags_SupportedBySetItemKeyOwner = ImGuiInputFlags_SupportedBySetKeyOwner | ImGuiInputFlags_CondMask_, } ImGuiInputFlags_; typedef struct ImGuiListClipperRange ImGuiListClipperRange; struct ImGuiListClipperRange { int Min; int Max; bool PosToIndexConvert; ImS8 PosToIndexOffsetMin; ImS8 PosToIndexOffsetMax; }; typedef struct ImGuiListClipperData ImGuiListClipperData; typedef struct ImVector_ImGuiListClipperRange { int Size; int Capacity; ImGuiListClipperRange* Data; } ImVector_ImGuiListClipperRange; struct ImGuiListClipperData { ImGuiListClipper* ListClipper; float LossynessOffset; int StepNo; int ItemsFrozen; ImVector_ImGuiListClipperRange Ranges; }; typedef enum { ImGuiActivateFlags_None = 0, ImGuiActivateFlags_PreferInput = 1 << 0, ImGuiActivateFlags_PreferTweak = 1 << 1, ImGuiActivateFlags_TryToPreserveState = 1 << 2, ImGuiActivateFlags_FromTabbing = 1 << 3, ImGuiActivateFlags_FromShortcut = 1 << 4, } ImGuiActivateFlags_; typedef enum { ImGuiScrollFlags_None = 0, ImGuiScrollFlags_KeepVisibleEdgeX = 1 << 0, ImGuiScrollFlags_KeepVisibleEdgeY = 1 << 1, ImGuiScrollFlags_KeepVisibleCenterX = 1 << 2, ImGuiScrollFlags_KeepVisibleCenterY = 1 << 3, ImGuiScrollFlags_AlwaysCenterX = 1 << 4, ImGuiScrollFlags_AlwaysCenterY = 1 << 5, ImGuiScrollFlags_NoScrollParent = 1 << 6, ImGuiScrollFlags_MaskX_ = ImGuiScrollFlags_KeepVisibleEdgeX | ImGuiScrollFlags_KeepVisibleCenterX | ImGuiScrollFlags_AlwaysCenterX, ImGuiScrollFlags_MaskY_ = ImGuiScrollFlags_KeepVisibleEdgeY | ImGuiScrollFlags_KeepVisibleCenterY | ImGuiScrollFlags_AlwaysCenterY, } ImGuiScrollFlags_; typedef enum { ImGuiNavHighlightFlags_None = 0, ImGuiNavHighlightFlags_Compact = 1 << 1, ImGuiNavHighlightFlags_AlwaysDraw = 1 << 2, ImGuiNavHighlightFlags_NoRounding = 1 << 3, } ImGuiNavHighlightFlags_; typedef enum { ImGuiNavMoveFlags_None = 0, ImGuiNavMoveFlags_LoopX = 1 << 0, ImGuiNavMoveFlags_LoopY = 1 << 1, ImGuiNavMoveFlags_WrapX = 1 << 2, ImGuiNavMoveFlags_WrapY = 1 << 3, ImGuiNavMoveFlags_WrapMask_ = ImGuiNavMoveFlags_LoopX | ImGuiNavMoveFlags_LoopY | ImGuiNavMoveFlags_WrapX | ImGuiNavMoveFlags_WrapY, ImGuiNavMoveFlags_AllowCurrentNavId = 1 << 4, ImGuiNavMoveFlags_AlsoScoreVisibleSet = 1 << 5, ImGuiNavMoveFlags_ScrollToEdgeY = 1 << 6, ImGuiNavMoveFlags_Forwarded = 1 << 7, ImGuiNavMoveFlags_DebugNoResult = 1 << 8, ImGuiNavMoveFlags_FocusApi = 1 << 9, ImGuiNavMoveFlags_IsTabbing = 1 << 10, ImGuiNavMoveFlags_IsPageMove = 1 << 11, ImGuiNavMoveFlags_Activate = 1 << 12, ImGuiNavMoveFlags_NoSelect = 1 << 13, ImGuiNavMoveFlags_NoSetNavHighlight = 1 << 14, ImGuiNavMoveFlags_NoClearActiveId = 1 << 15, } ImGuiNavMoveFlags_; typedef enum { ImGuiNavLayer_Main = 0, ImGuiNavLayer_Menu = 1, ImGuiNavLayer_COUNT } ImGuiNavLayer; struct ImGuiNavItemData { ImGuiWindow* Window; ImGuiID ID; ImGuiID FocusScopeId; ImRect RectRel; ImGuiItemFlags InFlags; float DistBox; float DistCenter; float DistAxial; ImGuiSelectionUserData SelectionUserData; }; typedef struct ImGuiFocusScopeData ImGuiFocusScopeData; struct ImGuiFocusScopeData { ImGuiID ID; ImGuiID WindowID; }; typedef enum { ImGuiTypingSelectFlags_None = 0, ImGuiTypingSelectFlags_AllowBackspace = 1 << 0, ImGuiTypingSelectFlags_AllowSingleCharMode = 1 << 1, } ImGuiTypingSelectFlags_; struct ImGuiTypingSelectRequest { ImGuiTypingSelectFlags Flags; int SearchBufferLen; const char* SearchBuffer; bool SelectRequest; bool SingleCharMode; ImS8 SingleCharSize; }; struct ImGuiTypingSelectState { ImGuiTypingSelectRequest Request; char SearchBuffer[64]; ImGuiID FocusScope; int LastRequestFrame; float LastRequestTime; bool SingleCharModeLock; }; typedef enum { ImGuiOldColumnFlags_None = 0, ImGuiOldColumnFlags_NoBorder = 1 << 0, ImGuiOldColumnFlags_NoResize = 1 << 1, ImGuiOldColumnFlags_NoPreserveWidths = 1 << 2, ImGuiOldColumnFlags_NoForceWithinWindow = 1 << 3, ImGuiOldColumnFlags_GrowParentContentsSize = 1 << 4, } ImGuiOldColumnFlags_; struct ImGuiOldColumnData { float OffsetNorm; float OffsetNormBeforeResize; ImGuiOldColumnFlags Flags; ImRect ClipRect; }; typedef struct ImVector_ImGuiOldColumnData { int Size; int Capacity; ImGuiOldColumnData* Data; } ImVector_ImGuiOldColumnData; struct ImGuiOldColumns { ImGuiID ID; ImGuiOldColumnFlags Flags; bool IsFirstFrame; bool IsBeingResized; int Current; int Count; float OffMinX, OffMaxX; float LineMinY, LineMaxY; float HostCursorPosY; float HostCursorMaxPosX; ImRect HostInitialClipRect; ImRect HostBackupClipRect; ImRect HostBackupParentWorkRect; ImVector_ImGuiOldColumnData Columns; ImDrawListSplitter Splitter; }; typedef enum { ImGuiDockNodeFlags_DockSpace = 1 << 10, ImGuiDockNodeFlags_CentralNode = 1 << 11, ImGuiDockNodeFlags_NoTabBar = 1 << 12, ImGuiDockNodeFlags_HiddenTabBar = 1 << 13, ImGuiDockNodeFlags_NoWindowMenuButton = 1 << 14, ImGuiDockNodeFlags_NoCloseButton = 1 << 15, ImGuiDockNodeFlags_NoResizeX = 1 << 16, ImGuiDockNodeFlags_NoResizeY = 1 << 17, ImGuiDockNodeFlags_DockedWindowsInFocusRoute = 1 << 18, ImGuiDockNodeFlags_NoDockingSplitOther = 1 << 19, ImGuiDockNodeFlags_NoDockingOverMe = 1 << 20, ImGuiDockNodeFlags_NoDockingOverOther = 1 << 21, ImGuiDockNodeFlags_NoDockingOverEmpty = 1 << 22, ImGuiDockNodeFlags_NoDocking = ImGuiDockNodeFlags_NoDockingOverMe | ImGuiDockNodeFlags_NoDockingOverOther | ImGuiDockNodeFlags_NoDockingOverEmpty | ImGuiDockNodeFlags_NoDockingSplit | ImGuiDockNodeFlags_NoDockingSplitOther, ImGuiDockNodeFlags_SharedFlagsInheritMask_ = ~0, ImGuiDockNodeFlags_NoResizeFlagsMask_ = ImGuiDockNodeFlags_NoResize | ImGuiDockNodeFlags_NoResizeX | ImGuiDockNodeFlags_NoResizeY, ImGuiDockNodeFlags_LocalFlagsTransferMask_ = ImGuiDockNodeFlags_NoDockingSplit | ImGuiDockNodeFlags_NoResizeFlagsMask_ | ImGuiDockNodeFlags_AutoHideTabBar | ImGuiDockNodeFlags_CentralNode | ImGuiDockNodeFlags_NoTabBar | ImGuiDockNodeFlags_HiddenTabBar | ImGuiDockNodeFlags_NoWindowMenuButton | ImGuiDockNodeFlags_NoCloseButton, ImGuiDockNodeFlags_SavedFlagsMask_ = ImGuiDockNodeFlags_NoResizeFlagsMask_ | ImGuiDockNodeFlags_DockSpace | ImGuiDockNodeFlags_CentralNode | ImGuiDockNodeFlags_NoTabBar | ImGuiDockNodeFlags_HiddenTabBar | ImGuiDockNodeFlags_NoWindowMenuButton | ImGuiDockNodeFlags_NoCloseButton, } ImGuiDockNodeFlagsPrivate_; typedef enum { ImGuiDataAuthority_Auto, ImGuiDataAuthority_DockNode, ImGuiDataAuthority_Window, } ImGuiDataAuthority_; typedef enum { ImGuiDockNodeState_Unknown, ImGuiDockNodeState_HostWindowHiddenBecauseSingleWindow, ImGuiDockNodeState_HostWindowHiddenBecauseWindowsAreResizing, ImGuiDockNodeState_HostWindowVisible, } ImGuiDockNodeState; typedef struct ImVector_ImGuiWindowPtr { int Size; int Capacity; ImGuiWindow** Data; } ImVector_ImGuiWindowPtr; struct ImGuiDockNode { ImGuiID ID; ImGuiDockNodeFlags SharedFlags; ImGuiDockNodeFlags LocalFlags; ImGuiDockNodeFlags LocalFlagsInWindows; ImGuiDockNodeFlags MergedFlags; ImGuiDockNodeState State; ImGuiDockNode* ParentNode; ImGuiDockNode* ChildNodes[2]; ImVector_ImGuiWindowPtr Windows; ImGuiTabBar* TabBar; ImVec2 Pos; ImVec2 Size; ImVec2 SizeRef; ImGuiAxis SplitAxis; ImGuiWindowClass WindowClass; ImU32 LastBgColor; ImGuiWindow* HostWindow; ImGuiWindow* VisibleWindow; ImGuiDockNode* CentralNode; ImGuiDockNode* OnlyNodeWithWindows; int CountNodeWithWindows; int LastFrameAlive; int LastFrameActive; int LastFrameFocused; ImGuiID LastFocusedNodeId; ImGuiID SelectedTabId; ImGuiID WantCloseTabId; ImGuiID RefViewportId; ImGuiDataAuthority AuthorityForPos : 3; ImGuiDataAuthority AuthorityForSize : 3; ImGuiDataAuthority AuthorityForViewport : 3; bool IsVisible : 1; bool IsFocused : 1; bool IsBgDrawnThisFrame : 1; bool HasCloseButton : 1; bool HasWindowMenuButton : 1; bool HasCentralNodeChild : 1; bool WantCloseAll : 1; bool WantLockSizeOnce : 1; bool WantMouseMove : 1; bool WantHiddenTabBarUpdate : 1; bool WantHiddenTabBarToggle : 1; }; typedef enum { ImGuiWindowDockStyleCol_Text, ImGuiWindowDockStyleCol_Tab, ImGuiWindowDockStyleCol_TabHovered, ImGuiWindowDockStyleCol_TabActive, ImGuiWindowDockStyleCol_TabUnfocused, ImGuiWindowDockStyleCol_TabUnfocusedActive, ImGuiWindowDockStyleCol_COUNT } ImGuiWindowDockStyleCol; struct ImGuiWindowDockStyle { ImU32 Colors[ImGuiWindowDockStyleCol_COUNT]; }; typedef struct ImVector_ImGuiDockRequest { int Size; int Capacity; ImGuiDockRequest* Data; } ImVector_ImGuiDockRequest; typedef struct ImVector_ImGuiDockNodeSettings { int Size; int Capacity; ImGuiDockNodeSettings* Data; } ImVector_ImGuiDockNodeSettings; struct ImGuiDockContext { ImGuiStorage Nodes; ImVector_ImGuiDockRequest Requests; ImVector_ImGuiDockNodeSettings NodesSettings; bool WantFullRebuild; }; typedef struct ImGuiViewportP ImGuiViewportP; struct ImGuiViewportP { ImGuiViewport _ImGuiViewport; ImGuiWindow* Window; int Idx; int LastFrameActive; int LastFocusedStampCount; ImGuiID LastNameHash; ImVec2 LastPos; float Alpha; float LastAlpha; bool LastFocusedHadNavWindow; short PlatformMonitor; int BgFgDrawListsLastFrame[2]; ImDrawList* BgFgDrawLists[2]; ImDrawData DrawDataP; ImDrawDataBuilder DrawDataBuilder; ImVec2 LastPlatformPos; ImVec2 LastPlatformSize; ImVec2 LastRendererSize; ImVec2 WorkOffsetMin; ImVec2 WorkOffsetMax; ImVec2 BuildWorkOffsetMin; ImVec2 BuildWorkOffsetMax; }; struct ImGuiWindowSettings { ImGuiID ID; ImVec2ih Pos; ImVec2ih Size; ImVec2ih ViewportPos; ImGuiID ViewportId; ImGuiID DockId; ImGuiID ClassId; short DockOrder; bool Collapsed; bool IsChild; bool WantApply; bool WantDelete; }; struct ImGuiSettingsHandler { const char* TypeName; ImGuiID TypeHash; void (*ClearAllFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler); void (*ReadInitFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler); void* (*ReadOpenFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, const char* name); void (*ReadLineFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, void* entry, const char* line); void (*ApplyAllFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler); void (*WriteAllFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, ImGuiTextBuffer* out_buf); void* UserData; }; typedef enum { ImGuiLocKey_VersionStr = 0, ImGuiLocKey_TableSizeOne = 1, ImGuiLocKey_TableSizeAllFit = 2, ImGuiLocKey_TableSizeAllDefault = 3, ImGuiLocKey_TableResetOrder = 4, ImGuiLocKey_WindowingMainMenuBar = 5, ImGuiLocKey_WindowingPopup = 6, ImGuiLocKey_WindowingUntitled = 7, ImGuiLocKey_DockingHideTabBar = 8, ImGuiLocKey_DockingHoldShiftToDock = 9, ImGuiLocKey_DockingDragToUndockOrMoveNode = 10, ImGuiLocKey_COUNT = 11, } ImGuiLocKey; struct ImGuiLocEntry { ImGuiLocKey Key; const char* Text; }; typedef enum { ImGuiDebugLogFlags_None = 0, ImGuiDebugLogFlags_EventActiveId = 1 << 0, ImGuiDebugLogFlags_EventFocus = 1 << 1, ImGuiDebugLogFlags_EventPopup = 1 << 2, ImGuiDebugLogFlags_EventNav = 1 << 3, ImGuiDebugLogFlags_EventClipper = 1 << 4, ImGuiDebugLogFlags_EventSelection = 1 << 5, ImGuiDebugLogFlags_EventIO = 1 << 6, ImGuiDebugLogFlags_EventInputRouting = 1 << 7, ImGuiDebugLogFlags_EventDocking = 1 << 8, ImGuiDebugLogFlags_EventViewport = 1 << 9, ImGuiDebugLogFlags_EventMask_ = ImGuiDebugLogFlags_EventActiveId | ImGuiDebugLogFlags_EventFocus | ImGuiDebugLogFlags_EventPopup | ImGuiDebugLogFlags_EventNav | ImGuiDebugLogFlags_EventClipper | ImGuiDebugLogFlags_EventSelection | ImGuiDebugLogFlags_EventIO | ImGuiDebugLogFlags_EventInputRouting | ImGuiDebugLogFlags_EventDocking | ImGuiDebugLogFlags_EventViewport, ImGuiDebugLogFlags_OutputToTTY = 1 << 20, ImGuiDebugLogFlags_OutputToTestEngine = 1 << 21, } ImGuiDebugLogFlags_; typedef struct ImGuiDebugAllocEntry ImGuiDebugAllocEntry; struct ImGuiDebugAllocEntry { int FrameCount; ImS16 AllocCount; ImS16 FreeCount; }; typedef struct ImGuiDebugAllocInfo ImGuiDebugAllocInfo; struct ImGuiDebugAllocInfo { int TotalAllocCount; int TotalFreeCount; ImS16 LastEntriesIdx; ImGuiDebugAllocEntry LastEntriesBuf[6]; }; struct ImGuiMetricsConfig { bool ShowDebugLog; bool ShowIDStackTool; bool ShowWindowsRects; bool ShowWindowsBeginOrder; bool ShowTablesRects; bool ShowDrawCmdMesh; bool ShowDrawCmdBoundingBoxes; bool ShowTextEncodingViewer; bool ShowAtlasTintedWithTextColor; bool ShowDockingNodes; int ShowWindowsRectsType; int ShowTablesRectsType; int HighlightMonitorIdx; ImGuiID HighlightViewportID; }; typedef struct ImGuiStackLevelInfo ImGuiStackLevelInfo; struct ImGuiStackLevelInfo { ImGuiID ID; ImS8 QueryFrameCount; bool QuerySuccess; ImGuiDataType DataType : 8; char Desc[57]; }; typedef struct ImGuiIDStackTool ImGuiIDStackTool; typedef struct ImVector_ImGuiStackLevelInfo { int Size; int Capacity; ImGuiStackLevelInfo* Data; } ImVector_ImGuiStackLevelInfo; struct ImGuiIDStackTool { int LastActiveFrame; int StackLevel; ImGuiID QueryId; ImVector_ImGuiStackLevelInfo Results; bool CopyToClipboardOnCtrlC; float CopyToClipboardLastTime; }; typedef void (*ImGuiContextHookCallback)(ImGuiContext* ctx, ImGuiContextHook* hook); typedef enum { ImGuiContextHookType_NewFramePre, ImGuiContextHookType_NewFramePost, ImGuiContextHookType_EndFramePre, ImGuiContextHookType_EndFramePost, ImGuiContextHookType_RenderPre, ImGuiContextHookType_RenderPost, ImGuiContextHookType_Shutdown, ImGuiContextHookType_PendingRemoval_ } ImGuiContextHookType; struct ImGuiContextHook { ImGuiID HookId; ImGuiContextHookType Type; ImGuiID Owner; ImGuiContextHookCallback Callback; void* UserData; }; typedef struct ImVector_ImGuiInputEvent { int Size; int Capacity; ImGuiInputEvent* Data; } ImVector_ImGuiInputEvent; typedef struct ImVector_ImGuiWindowStackData { int Size; int Capacity; ImGuiWindowStackData* Data; } ImVector_ImGuiWindowStackData; typedef struct ImVector_ImGuiColorMod { int Size; int Capacity; ImGuiColorMod* Data; } ImVector_ImGuiColorMod; typedef struct ImVector_ImGuiStyleMod { int Size; int Capacity; ImGuiStyleMod* Data; } ImVector_ImGuiStyleMod; typedef struct ImVector_ImGuiFocusScopeData { int Size; int Capacity; ImGuiFocusScopeData* Data; } ImVector_ImGuiFocusScopeData; typedef struct ImVector_ImGuiItemFlags { int Size; int Capacity; ImGuiItemFlags* Data; } ImVector_ImGuiItemFlags; typedef struct ImVector_ImGuiGroupData { int Size; int Capacity; ImGuiGroupData* Data; } ImVector_ImGuiGroupData; typedef struct ImVector_ImGuiPopupData { int Size; int Capacity; ImGuiPopupData* Data; } ImVector_ImGuiPopupData; typedef struct ImVector_ImGuiNavTreeNodeData { int Size; int Capacity; ImGuiNavTreeNodeData* Data; } ImVector_ImGuiNavTreeNodeData; typedef struct ImVector_ImGuiViewportPPtr { int Size; int Capacity; ImGuiViewportP** Data; } ImVector_ImGuiViewportPPtr; typedef struct ImVector_unsigned_char { int Size; int Capacity; unsigned char* Data; } ImVector_unsigned_char; typedef struct ImVector_ImGuiListClipperData { int Size; int Capacity; ImGuiListClipperData* Data; } ImVector_ImGuiListClipperData; typedef struct ImVector_ImGuiTableTempData { int Size; int Capacity; ImGuiTableTempData* Data; } ImVector_ImGuiTableTempData; typedef struct ImVector_ImGuiTable { int Size; int Capacity; ImGuiTable* Data; } ImVector_ImGuiTable; typedef struct ImPool_ImGuiTable { ImVector_ImGuiTable Buf; ImGuiStorage Map; ImPoolIdx FreeIdx; ImPoolIdx AliveCount; } ImPool_ImGuiTable; typedef struct ImVector_ImGuiTabBar { int Size; int Capacity; ImGuiTabBar* Data; } ImVector_ImGuiTabBar; typedef struct ImPool_ImGuiTabBar { ImVector_ImGuiTabBar Buf; ImGuiStorage Map; ImPoolIdx FreeIdx; ImPoolIdx AliveCount; } ImPool_ImGuiTabBar; typedef struct ImVector_ImGuiPtrOrIndex { int Size; int Capacity; ImGuiPtrOrIndex* Data; } ImVector_ImGuiPtrOrIndex; typedef struct ImVector_ImGuiShrinkWidthItem { int Size; int Capacity; ImGuiShrinkWidthItem* Data; } ImVector_ImGuiShrinkWidthItem; typedef struct ImVector_ImGuiID { int Size; int Capacity; ImGuiID* Data; } ImVector_ImGuiID; typedef struct ImVector_ImGuiSettingsHandler { int Size; int Capacity; ImGuiSettingsHandler* Data; } ImVector_ImGuiSettingsHandler; typedef struct ImChunkStream_ImGuiWindowSettings { ImVector_char Buf; } ImChunkStream_ImGuiWindowSettings; typedef struct ImChunkStream_ImGuiTableSettings { ImVector_char Buf; } ImChunkStream_ImGuiTableSettings; typedef struct ImVector_ImGuiContextHook { int Size; int Capacity; ImGuiContextHook* Data; } ImVector_ImGuiContextHook; struct ImGuiContext { bool Initialized; bool FontAtlasOwnedByContext; ImGuiIO IO; ImGuiPlatformIO PlatformIO; ImGuiStyle Style; ImGuiConfigFlags ConfigFlagsCurrFrame; ImGuiConfigFlags ConfigFlagsLastFrame; ImFont* Font; float FontSize; float FontBaseSize; ImDrawListSharedData DrawListSharedData; double Time; int FrameCount; int FrameCountEnded; int FrameCountPlatformEnded; int FrameCountRendered; bool WithinFrameScope; bool WithinFrameScopeWithImplicitWindow; bool WithinEndChild; bool GcCompactAll; bool TestEngineHookItems; void* TestEngine; ImVector_ImGuiInputEvent InputEventsQueue; ImVector_ImGuiInputEvent InputEventsTrail; ImGuiMouseSource InputEventsNextMouseSource; ImU32 InputEventsNextEventId; ImVector_ImGuiWindowPtr Windows; ImVector_ImGuiWindowPtr WindowsFocusOrder; ImVector_ImGuiWindowPtr WindowsTempSortBuffer; ImVector_ImGuiWindowStackData CurrentWindowStack; ImGuiStorage WindowsById; int WindowsActiveCount; ImVec2 WindowsHoverPadding; ImGuiID DebugBreakInWindow; ImGuiWindow* CurrentWindow; ImGuiWindow* HoveredWindow; ImGuiWindow* HoveredWindowUnderMovingWindow; ImGuiWindow* MovingWindow; ImGuiWindow* WheelingWindow; ImVec2 WheelingWindowRefMousePos; int WheelingWindowStartFrame; int WheelingWindowScrolledFrame; float WheelingWindowReleaseTimer; ImVec2 WheelingWindowWheelRemainder; ImVec2 WheelingAxisAvg; ImGuiID DebugHookIdInfo; ImGuiID HoveredId; ImGuiID HoveredIdPreviousFrame; bool HoveredIdAllowOverlap; bool HoveredIdDisabled; float HoveredIdTimer; float HoveredIdNotActiveTimer; ImGuiID ActiveId; ImGuiID ActiveIdIsAlive; float ActiveIdTimer; bool ActiveIdIsJustActivated; bool ActiveIdAllowOverlap; bool ActiveIdNoClearOnFocusLoss; bool ActiveIdHasBeenPressedBefore; bool ActiveIdHasBeenEditedBefore; bool ActiveIdHasBeenEditedThisFrame; bool ActiveIdFromShortcut; int ActiveIdMouseButton : 8; ImVec2 ActiveIdClickOffset; ImGuiWindow* ActiveIdWindow; ImGuiInputSource ActiveIdSource; ImGuiID ActiveIdPreviousFrame; bool ActiveIdPreviousFrameIsAlive; bool ActiveIdPreviousFrameHasBeenEditedBefore; ImGuiWindow* ActiveIdPreviousFrameWindow; 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; ImGuiCol DebugFlashStyleColorIdx; ImVector_ImGuiColorMod ColorStack; ImVector_ImGuiStyleMod StyleVarStack; ImVector_ImFontPtr FontStack; ImVector_ImGuiFocusScopeData FocusScopeStack; ImVector_ImGuiItemFlags ItemFlagsStack; ImVector_ImGuiGroupData GroupStack; ImVector_ImGuiPopupData OpenPopupStack; ImVector_ImGuiPopupData BeginPopupStack; ImVector_ImGuiNavTreeNodeData NavTreeNodeStack; ImVector_ImGuiViewportPPtr Viewports; float CurrentDpiScale; ImGuiViewportP* CurrentViewport; ImGuiViewportP* MouseViewport; ImGuiViewportP* MouseLastHoveredViewport; ImGuiID PlatformLastFocusedViewportId; ImGuiPlatformMonitor FallbackMonitor; ImRect PlatformMonitorsFullWorkRect; int ViewportCreatedCount; int PlatformWindowsCreatedCount; int ViewportFocusedStampCount; ImGuiWindow* NavWindow; ImGuiID NavId; ImGuiID NavFocusScopeId; ImVector_ImGuiFocusScopeData NavFocusRoute; ImGuiID NavActivateId; ImGuiID NavActivateDownId; ImGuiID NavActivatePressedId; ImGuiActivateFlags NavActivateFlags; ImGuiID NavHighlightActivatedId; float NavHighlightActivatedTimer; ImGuiID NavJustMovedToId; ImGuiID NavJustMovedToFocusScopeId; ImGuiKeyChord NavJustMovedToKeyMods; ImGuiID NavNextActivateId; ImGuiActivateFlags NavNextActivateFlags; ImGuiInputSource NavInputSource; ImGuiNavLayer NavLayer; ImGuiSelectionUserData NavLastValidSelectionUserData; bool NavIdIsAlive; bool NavMousePosDirty; bool NavDisableHighlight; bool NavDisableMouseHover; 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; ImGuiKeyChord ConfigNavWindowingKeyNext; ImGuiKeyChord ConfigNavWindowingKeyPrev; ImGuiWindow* NavWindowingTarget; ImGuiWindow* NavWindowingTargetAnim; ImGuiWindow* NavWindowingListWindow; float NavWindowingTimer; float NavWindowingHighlightAlpha; 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; ImGuiDragDropFlags DragDropAcceptFlags; 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; ImGuiID HoverItemDelayId; ImGuiID HoverItemDelayIdPreviousFrame; float HoverItemDelayTimer; float HoverItemDelayClearTimer; ImGuiID HoverItemUnlockedStationaryId; ImGuiID HoverWindowUnlockedStationaryId; ImGuiMouseCursor MouseCursor; float MouseStationaryTimer; ImVec2 MouseLastValidPos; ImGuiInputTextState InputTextState; ImGuiInputTextDeactivatedState InputTextDeactivatedState; ImFont InputTextPasswordFont; ImGuiID TempInputId; int BeginMenuDepth; int BeginComboDepth; ImGuiColorEditFlags ColorEditOptions; ImGuiID ColorEditCurrentID; ImGuiID ColorEditSavedID; float ColorEditSavedHue; float ColorEditSavedSat; ImU32 ColorEditSavedColor; ImVec4 ColorPickerRef; ImGuiComboPreviewData ComboPreviewData; ImRect WindowResizeBorderExpectedRect; bool WindowResizeRelativeMode; float SliderGrabClickOffset; float SliderCurrentAccum; bool SliderCurrentAccumDirty; bool DragCurrentAccumDirty; float DragCurrentAccum; float DragSpeedDefaultRatio; float ScrollbarClickDeltaToGrabCenter; float DisabledAlphaBackup; short DisabledStackSize; short LockMarkEdited; short TooltipOverrideCount; ImVector_char ClipboardHandlerData; ImVector_ImGuiID MenusIdSubmittedThisFrame; ImGuiTypingSelectState TypingSelectState; ImGuiPlatformImeData PlatformImeData; ImGuiPlatformImeData PlatformImeDataPrev; ImGuiID PlatformImeViewport; 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; const char* LocalizationTable[ImGuiLocKey_COUNT]; bool LogEnabled; ImGuiLogType LogType; ImFileHandle LogFile; ImGuiTextBuffer LogBuffer; const char* LogNextPrefix; const char* LogNextSuffix; float LogLinePosY; bool LogLineFirstItem; int LogDepthRef; int LogDepthToExpand; int LogDepthToExpandDefault; ImGuiDebugLogFlags DebugLogFlags; ImGuiTextBuffer DebugLogBuf; ImGuiTextIndex DebugLogIndex; ImGuiDebugLogFlags DebugLogAutoDisableFlags; ImU8 DebugLogAutoDisableFrames; ImU8 DebugLocateFrames; bool DebugBreakInLocateId; ImGuiKeyChord DebugBreakKeyChord; ImS8 DebugBeginReturnValueCullDepth; bool DebugItemPickerActive; ImU8 DebugItemPickerMouseButton; ImGuiID DebugItemPickerBreakId; float DebugFlashStyleColorTime; ImVec4 DebugFlashStyleColorBackup; ImGuiMetricsConfig DebugMetricsConfig; 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]; }; struct ImGuiWindowTempData { ImVec2 CursorPos; ImVec2 CursorPosPrevLine; ImVec2 CursorStartPos; ImVec2 CursorMaxPos; ImVec2 IdealMaxPos; ImVec2 CurrLineSize; ImVec2 PrevLineSize; float CurrLineTextBaseOffset; float PrevLineTextBaseOffset; bool IsSameLine; bool IsSetPos; ImVec1 Indent; ImVec1 ColumnsOffset; ImVec1 GroupOffset; ImVec2 CursorStartPosLossyness; ImGuiNavLayer NavLayerCurrent; short NavLayersActiveMask; short NavLayersActiveMaskNext; bool NavIsScrollPushableX; bool NavHideHighlightOneFrame; bool NavWindowHasScrollY; bool MenuBarAppending; ImVec2 MenuBarOffset; ImGuiMenuColumns MenuColumns; int TreeDepth; ImU32 TreeJumpToParentOnPopMask; ImVector_ImGuiWindowPtr ChildWindows; ImGuiStorage* StateStorage; ImGuiOldColumns* CurrentColumns; int CurrentTableIdx; ImGuiLayoutType LayoutType; ImGuiLayoutType ParentLayoutType; ImU32 ModalDimBgColor; float ItemWidth; float TextWrapPos; ImVector_float ItemWidthStack; ImVector_float TextWrapPosStack; }; typedef struct ImVector_ImGuiOldColumns { int Size; int Capacity; ImGuiOldColumns* Data; } ImVector_ImGuiOldColumns; struct ImGuiWindow { ImGuiContext* Ctx; char* Name; ImGuiID ID; ImGuiWindowFlags Flags, FlagsPreviousFrame; ImGuiChildFlags ChildFlags; ImGuiWindowClass WindowClass; ImGuiViewportP* Viewport; ImGuiID ViewportId; ImVec2 ViewportPos; int ViewportAllowPlatformMonitorExtend; ImVec2 Pos; ImVec2 Size; ImVec2 SizeFull; ImVec2 ContentSize; ImVec2 ContentSizeIdeal; ImVec2 ContentSizeExplicit; ImVec2 WindowPadding; float WindowRounding; float WindowBorderSize; float DecoOuterSizeX1, DecoOuterSizeY1; float DecoOuterSizeX2, DecoOuterSizeY2; float DecoInnerSizeX1, DecoInnerSizeY1; int NameBufLen; ImGuiID MoveId; ImGuiID TabId; ImGuiID ChildId; ImVec2 Scroll; ImVec2 ScrollMax; ImVec2 ScrollTarget; ImVec2 ScrollTargetCenterRatio; ImVec2 ScrollTargetEdgeSnapDist; ImVec2 ScrollbarSizes; bool ScrollbarX, ScrollbarY; bool ViewportOwned; bool Active; bool WasActive; bool WriteAccessed; bool Collapsed; bool WantCollapseToggle; bool SkipItems; bool SkipRefresh; bool Appearing; bool Hidden; bool IsFallbackWindow; bool IsExplicitChild; bool HasCloseButton; signed char ResizeBorderHovered; signed char ResizeBorderHeld; short BeginCount; short BeginCountPreviousFrame; short BeginOrderWithinParent; short BeginOrderWithinContext; short FocusOrder; ImGuiID PopupId; ImS8 AutoFitFramesX, AutoFitFramesY; bool AutoFitOnlyGrows; ImGuiDir AutoPosLastDirection; ImS8 HiddenFramesCanSkipItems; ImS8 HiddenFramesCannotSkipItems; ImS8 HiddenFramesForRenderOnly; ImS8 DisableInputsFrames; ImGuiCond SetWindowPosAllowFlags : 8; ImGuiCond SetWindowSizeAllowFlags : 8; ImGuiCond SetWindowCollapsedAllowFlags : 8; ImGuiCond SetWindowDockAllowFlags : 8; ImVec2 SetWindowPosVal; ImVec2 SetWindowPosPivot; ImVector_ImGuiID IDStack; ImGuiWindowTempData DC; ImRect OuterRectClipped; ImRect InnerRect; ImRect InnerClipRect; ImRect WorkRect; ImRect ParentWorkRect; ImRect ClipRect; ImRect ContentRegionRect; ImVec2ih HitTestHoleSize; ImVec2ih HitTestHoleOffset; int LastFrameActive; int LastFrameJustFocused; float LastTimeActive; float ItemWidthDefault; ImGuiStorage StateStorage; ImVector_ImGuiOldColumns ColumnsStorage; float FontWindowScale; float FontDpiScale; int SettingsOffset; ImDrawList* DrawList; ImDrawList DrawListInst; ImGuiWindow* ParentWindow; ImGuiWindow* ParentWindowInBeginStack; ImGuiWindow* RootWindow; ImGuiWindow* RootWindowPopupTree; ImGuiWindow* RootWindowDockTree; ImGuiWindow* RootWindowForTitleBarHighlight; ImGuiWindow* RootWindowForNav; ImGuiWindow* ParentWindowForFocusRoute; ImGuiWindow* NavLastChildNavWindow; ImGuiID NavLastIds[ImGuiNavLayer_COUNT]; ImRect NavRectRel[ImGuiNavLayer_COUNT]; ImVec2 NavPreferredScoringPosRel[ImGuiNavLayer_COUNT]; ImGuiID NavRootFocusScopeId; int MemoryDrawListIdxCapacity; int MemoryDrawListVtxCapacity; bool MemoryCompacted; bool DockIsActive : 1; bool DockNodeIsVisible : 1; bool DockTabIsVisible : 1; bool DockTabWantClose : 1; short DockOrder; ImGuiWindowDockStyle DockStyle; ImGuiDockNode* DockNode; ImGuiDockNode* DockNodeAsHost; ImGuiID DockId; ImGuiItemStatusFlags DockTabItemStatusFlags; ImRect DockTabItemRect; }; typedef enum { ImGuiTabBarFlags_DockNode = 1 << 20, ImGuiTabBarFlags_IsFocused = 1 << 21, ImGuiTabBarFlags_SaveSettings = 1 << 22, } ImGuiTabBarFlagsPrivate_; typedef enum { ImGuiTabItemFlags_SectionMask_ = ImGuiTabItemFlags_Leading | ImGuiTabItemFlags_Trailing, ImGuiTabItemFlags_NoCloseButton = 1 << 20, ImGuiTabItemFlags_Button = 1 << 21, ImGuiTabItemFlags_Unsorted = 1 << 22, } ImGuiTabItemFlagsPrivate_; struct ImGuiTabItem { ImGuiID ID; ImGuiTabItemFlags Flags; ImGuiWindow* Window; int LastFrameVisible; int LastFrameSelected; float Offset; float Width; float ContentWidth; float RequestedWidth; ImS32 NameOffset; ImS16 BeginOrder; ImS16 IndexDuringLayout; bool WantClose; }; typedef struct ImVector_ImGuiTabItem { int Size; int Capacity; ImGuiTabItem* Data; } ImVector_ImGuiTabItem; struct ImGuiTabBar { ImVector_ImGuiTabItem Tabs; ImGuiTabBarFlags Flags; ImGuiID ID; ImGuiID SelectedTabId; ImGuiID NextSelectedTabId; ImGuiID VisibleTabId; int CurrFrameVisible; int PrevFrameVisible; ImRect BarRect; float CurrTabsContentsHeight; float PrevTabsContentsHeight; float WidthAllTabs; float WidthAllTabsIdeal; float ScrollingAnim; float ScrollingTarget; float ScrollingTargetDistToVisibility; float ScrollingSpeed; float ScrollingRectMinX; float ScrollingRectMaxX; float SeparatorMinX; float SeparatorMaxX; ImGuiID ReorderRequestTabId; ImS16 ReorderRequestOffset; ImS8 BeginCount; bool WantLayout; bool VisibleTabWasSubmitted; bool TabsAddedNew; ImS16 TabsActiveCount; ImS16 LastTabItemIdx; float ItemSpacingY; ImVec2 FramePadding; ImVec2 BackupCursorPos; ImGuiTextBuffer TabsNames; }; typedef ImS16 ImGuiTableColumnIdx; typedef ImU16 ImGuiTableDrawChannelIdx; struct ImGuiTableColumn { ImGuiTableColumnFlags Flags; float WidthGiven; float MinX; float MaxX; float WidthRequest; float WidthAuto; float StretchWeight; float InitStretchWeightOrWidth; ImRect ClipRect; ImGuiID UserID; float WorkMinX; float WorkMaxX; float ItemWidth; float ContentMaxXFrozen; float ContentMaxXUnfrozen; float ContentMaxXHeadersUsed; float ContentMaxXHeadersIdeal; ImS16 NameOffset; ImGuiTableColumnIdx DisplayOrder; ImGuiTableColumnIdx IndexWithinEnabledSet; ImGuiTableColumnIdx PrevEnabledColumn; ImGuiTableColumnIdx NextEnabledColumn; ImGuiTableColumnIdx SortOrder; ImGuiTableDrawChannelIdx DrawChannelCurrent; ImGuiTableDrawChannelIdx DrawChannelFrozen; ImGuiTableDrawChannelIdx DrawChannelUnfrozen; bool IsEnabled; bool IsUserEnabled; bool IsUserEnabledNextFrame; bool IsVisibleX; bool IsVisibleY; bool IsRequestOutput; bool IsSkipItems; bool IsPreserveWidthAuto; ImS8 NavLayerCurrent; ImU8 AutoFitQueue; ImU8 CannotSkipItemsQueue; ImU8 SortDirection : 2; ImU8 SortDirectionsAvailCount : 2; ImU8 SortDirectionsAvailMask : 4; ImU8 SortDirectionsAvailList; }; typedef struct ImGuiTableCellData ImGuiTableCellData; struct ImGuiTableCellData { ImU32 BgColor; ImGuiTableColumnIdx Column; }; struct ImGuiTableHeaderData { ImGuiTableColumnIdx Index; ImU32 TextColor; ImU32 BgColor0; ImU32 BgColor1; }; struct ImGuiTableInstanceData { ImGuiID TableInstanceID; float LastOuterHeight; float LastTopHeadersRowHeight; float LastFrozenHeight; int HoveredRowLast; int HoveredRowNext; }; typedef struct ImSpan_ImGuiTableColumn { ImGuiTableColumn* Data; ImGuiTableColumn* DataEnd; } ImSpan_ImGuiTableColumn; typedef struct ImSpan_ImGuiTableColumnIdx { ImGuiTableColumnIdx* Data; ImGuiTableColumnIdx* DataEnd; } ImSpan_ImGuiTableColumnIdx; typedef struct ImSpan_ImGuiTableCellData { ImGuiTableCellData* Data; ImGuiTableCellData* DataEnd; } ImSpan_ImGuiTableCellData; typedef struct ImVector_ImGuiTableInstanceData { int Size; int Capacity; ImGuiTableInstanceData* Data; } ImVector_ImGuiTableInstanceData; typedef struct ImVector_ImGuiTableColumnSortSpecs { int Size; int Capacity; ImGuiTableColumnSortSpecs* Data; } ImVector_ImGuiTableColumnSortSpecs; struct ImGuiTable { ImGuiID ID; ImGuiTableFlags Flags; void* RawData; ImGuiTableTempData* TempData; ImSpan_ImGuiTableColumn Columns; ImSpan_ImGuiTableColumnIdx DisplayOrderToIndex; ImSpan_ImGuiTableCellData RowCellData; ImBitArrayPtr EnabledMaskByDisplayOrder; ImBitArrayPtr EnabledMaskByIndex; ImBitArrayPtr VisibleMaskByIndex; ImGuiTableFlags SettingsLoadedFlags; int SettingsOffset; int LastFrameActive; int ColumnsCount; int CurrentRow; int CurrentColumn; ImS16 InstanceCurrent; ImS16 InstanceInteracted; float RowPosY1; float RowPosY2; float RowMinHeight; float RowCellPaddingY; float RowTextBaseline; float RowIndentOffsetX; ImGuiTableRowFlags RowFlags : 16; ImGuiTableRowFlags LastRowFlags : 16; int RowBgColorCounter; ImU32 RowBgColor[2]; ImU32 BorderColorStrong; ImU32 BorderColorLight; float BorderX1; float BorderX2; float HostIndentX; float MinColumnWidth; float OuterPaddingX; float CellPaddingX; float CellSpacingX1; float CellSpacingX2; float InnerWidth; float ColumnsGivenWidth; float ColumnsAutoFitWidth; float ColumnsStretchSumWeights; float ResizedColumnNextWidth; float ResizeLockMinContentsX2; float RefScale; float AngledHeadersHeight; float AngledHeadersSlope; ImRect OuterRect; ImRect InnerRect; ImRect WorkRect; ImRect InnerClipRect; ImRect BgClipRect; ImRect Bg0ClipRectForDrawCmd; ImRect Bg2ClipRectForDrawCmd; ImRect HostClipRect; ImRect HostBackupInnerClipRect; ImGuiWindow* OuterWindow; ImGuiWindow* InnerWindow; ImGuiTextBuffer ColumnsNames; ImDrawListSplitter* DrawSplitter; ImGuiTableInstanceData InstanceDataFirst; ImVector_ImGuiTableInstanceData InstanceDataExtra; ImGuiTableColumnSortSpecs SortSpecsSingle; ImVector_ImGuiTableColumnSortSpecs SortSpecsMulti; ImGuiTableSortSpecs SortSpecs; ImGuiTableColumnIdx SortSpecsCount; ImGuiTableColumnIdx ColumnsEnabledCount; ImGuiTableColumnIdx ColumnsEnabledFixedCount; ImGuiTableColumnIdx DeclColumnsCount; ImGuiTableColumnIdx AngledHeadersCount; ImGuiTableColumnIdx HoveredColumnBody; ImGuiTableColumnIdx HoveredColumnBorder; ImGuiTableColumnIdx HighlightColumnHeader; ImGuiTableColumnIdx AutoFitSingleColumn; ImGuiTableColumnIdx ResizedColumn; ImGuiTableColumnIdx LastResizedColumn; ImGuiTableColumnIdx HeldHeaderColumn; ImGuiTableColumnIdx ReorderColumn; ImGuiTableColumnIdx ReorderColumnDir; ImGuiTableColumnIdx LeftMostEnabledColumn; ImGuiTableColumnIdx RightMostEnabledColumn; ImGuiTableColumnIdx LeftMostStretchedColumn; ImGuiTableColumnIdx RightMostStretchedColumn; ImGuiTableColumnIdx ContextPopupColumn; ImGuiTableColumnIdx FreezeRowsRequest; ImGuiTableColumnIdx FreezeRowsCount; ImGuiTableColumnIdx FreezeColumnsRequest; ImGuiTableColumnIdx FreezeColumnsCount; ImGuiTableColumnIdx RowCellDataCurrent; ImGuiTableDrawChannelIdx DummyDrawChannel; ImGuiTableDrawChannelIdx Bg2DrawChannelCurrent; ImGuiTableDrawChannelIdx Bg2DrawChannelUnfrozen; bool IsLayoutLocked; bool IsInsideRow; bool IsInitializing; bool IsSortSpecsDirty; bool IsUsingHeaders; bool IsContextPopupOpen; bool DisableDefaultContextMenu; bool IsSettingsRequestLoad; bool IsSettingsDirty; bool IsDefaultDisplayOrder; bool IsResetAllRequest; bool IsResetDisplayOrderRequest; bool IsUnfrozenRows; bool IsDefaultSizingPolicy; bool IsActiveIdAliveBeforeTable; bool IsActiveIdInTable; bool HasScrollbarYCurr; bool HasScrollbarYPrev; bool MemoryCompacted; bool HostSkipItems; }; typedef struct ImVector_ImGuiTableHeaderData { int Size; int Capacity; ImGuiTableHeaderData* Data; } ImVector_ImGuiTableHeaderData; struct ImGuiTableTempData { int TableIndex; float LastTimeActive; float AngledHeadersExtraWidth; ImVector_ImGuiTableHeaderData AngledHeadersRequests; ImVec2 UserOuterSize; ImDrawListSplitter DrawSplitter; ImRect HostBackupWorkRect; ImRect HostBackupParentWorkRect; ImVec2 HostBackupPrevLineSize; ImVec2 HostBackupCurrLineSize; ImVec2 HostBackupCursorMaxPos; ImVec1 HostBackupColumnsOffset; float HostBackupItemWidth; int HostBackupItemWidthStackSize; }; typedef struct ImGuiTableColumnSettings ImGuiTableColumnSettings; struct ImGuiTableColumnSettings { float WidthOrWeight; ImGuiID UserID; ImGuiTableColumnIdx Index; ImGuiTableColumnIdx DisplayOrder; ImGuiTableColumnIdx SortOrder; ImU8 SortDirection : 2; ImU8 IsEnabled : 1; ImU8 IsStretch : 1; }; struct ImGuiTableSettings { ImGuiID ID; ImGuiTableFlags SaveFlags; float RefScale; ImGuiTableColumnIdx ColumnsCount; ImGuiTableColumnIdx ColumnsCountMax; bool WantApply; }; struct ImFontBuilderIO { bool (*FontBuilder_Build)(ImFontAtlas* atlas); }; #define IMGUI_HAS_DOCK 1 #define ImDrawCallback_ResetRenderState (ImDrawCallback)(-8) #else struct GLFWwindow; struct SDL_Window; typedef union SDL_Event SDL_Event; #endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS #ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS typedef struct ImGuiStorage::ImGuiStoragePair ImGuiStoragePair; typedef struct ImGuiTextFilter::ImGuiTextRange ImGuiTextRange; typedef ImStb::STB_TexteditState STB_TexteditState; typedef ImStb::StbTexteditRow StbTexteditRow; typedef ImStb::StbUndoRecord StbUndoRecord; typedef ImStb::StbUndoState StbUndoState; typedef ImChunkStream ImChunkStream_ImGuiTableSettings; typedef ImChunkStream ImChunkStream_ImGuiWindowSettings; typedef ImPool ImPool_ImGuiTabBar; typedef ImPool ImPool_ImGuiTable; typedef ImSpan ImSpan_ImGuiTableCellData; typedef ImSpan ImSpan_ImGuiTableColumn; typedef ImSpan ImSpan_ImGuiTableColumnIdx; typedef ImVector ImVector_ImDrawChannel; typedef ImVector ImVector_ImDrawCmd; typedef ImVector ImVector_ImDrawIdx; typedef ImVector ImVector_ImDrawListPtr; typedef ImVector ImVector_ImDrawVert; typedef ImVector ImVector_ImFontPtr; typedef ImVector ImVector_ImFontAtlasCustomRect; typedef ImVector ImVector_ImFontConfig; typedef ImVector ImVector_ImFontGlyph; typedef ImVector ImVector_ImGuiColorMod; typedef ImVector ImVector_ImGuiContextHook; typedef ImVector ImVector_ImGuiDockNodeSettings; typedef ImVector ImVector_ImGuiDockRequest; typedef ImVector ImVector_ImGuiFocusScopeData; typedef ImVector ImVector_ImGuiGroupData; typedef ImVector ImVector_ImGuiID; typedef ImVector ImVector_ImGuiInputEvent; typedef ImVector ImVector_ImGuiItemFlags; typedef ImVector ImVector_ImGuiKeyRoutingData; typedef ImVector ImVector_ImGuiListClipperData; typedef ImVector ImVector_ImGuiListClipperRange; typedef ImVector ImVector_ImGuiNavTreeNodeData; typedef ImVector ImVector_ImGuiOldColumnData; typedef ImVector ImVector_ImGuiOldColumns; typedef ImVector ImVector_ImGuiPlatformMonitor; typedef ImVector ImVector_ImGuiPopupData; typedef ImVector ImVector_ImGuiPtrOrIndex; typedef ImVector ImVector_ImGuiSettingsHandler; typedef ImVector ImVector_ImGuiShrinkWidthItem; typedef ImVector ImVector_ImGuiStackLevelInfo; typedef ImVector ImVector_ImGuiStoragePair; typedef ImVector ImVector_ImGuiStyleMod; typedef ImVector ImVector_ImGuiTabItem; typedef ImVector ImVector_ImGuiTableColumnSortSpecs; typedef ImVector ImVector_ImGuiTableHeaderData; typedef ImVector ImVector_ImGuiTableInstanceData; typedef ImVector ImVector_ImGuiTableTempData; typedef ImVector ImVector_ImGuiTextRange; typedef ImVector ImVector_ImGuiViewportPtr; typedef ImVector ImVector_ImGuiViewportPPtr; typedef ImVector ImVector_ImGuiWindowPtr; typedef ImVector ImVector_ImGuiWindowStackData; typedef ImVector ImVector_ImTextureID; typedef ImVector ImVector_ImU32; typedef ImVector ImVector_ImVec2; typedef ImVector ImVector_ImVec4; typedef ImVector ImVector_ImWchar; typedef ImVector ImVector_char; typedef ImVector ImVector_const_charPtr; typedef ImVector ImVector_float; typedef ImVector ImVector_int; typedef ImVector ImVector_unsigned_char; #endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS CIMGUI_API ImVec2* ImVec2_ImVec2_Nil(void); CIMGUI_API void ImVec2_destroy(ImVec2* self); CIMGUI_API ImVec2* ImVec2_ImVec2_Float(float _x, float _y); CIMGUI_API ImVec4* ImVec4_ImVec4_Nil(void); CIMGUI_API void ImVec4_destroy(ImVec4* self); CIMGUI_API ImVec4* ImVec4_ImVec4_Float(float _x, float _y, float _z, float _w); CIMGUI_API ImGuiContext* igCreateContext(ImFontAtlas* shared_font_atlas); CIMGUI_API void igDestroyContext(ImGuiContext* ctx); CIMGUI_API ImGuiContext* igGetCurrentContext(void); CIMGUI_API void igSetCurrentContext(ImGuiContext* ctx); CIMGUI_API ImGuiIO* igGetIO(void); CIMGUI_API ImGuiStyle* igGetStyle(void); CIMGUI_API void igNewFrame(void); CIMGUI_API void igEndFrame(void); CIMGUI_API void igRender(void); CIMGUI_API ImDrawData* igGetDrawData(void); CIMGUI_API void igShowDemoWindow(bool* p_open); CIMGUI_API void igShowMetricsWindow(bool* p_open); CIMGUI_API void igShowDebugLogWindow(bool* p_open); CIMGUI_API void igShowIDStackToolWindow(bool* p_open); CIMGUI_API void igShowAboutWindow(bool* p_open); CIMGUI_API void igShowStyleEditor(ImGuiStyle* ref); CIMGUI_API bool igShowStyleSelector(const char* label); CIMGUI_API void igShowFontSelector(const char* label); CIMGUI_API void igShowUserGuide(void); CIMGUI_API const char* igGetVersion(void); CIMGUI_API void igStyleColorsDark(ImGuiStyle* dst); CIMGUI_API void igStyleColorsLight(ImGuiStyle* dst); CIMGUI_API void igStyleColorsClassic(ImGuiStyle* dst); CIMGUI_API bool igBegin(const char* name, bool* p_open, ImGuiWindowFlags flags); CIMGUI_API void igEnd(void); CIMGUI_API bool igBeginChild_Str(const char* str_id, const ImVec2 size, ImGuiChildFlags child_flags, ImGuiWindowFlags window_flags); CIMGUI_API bool igBeginChild_ID(ImGuiID id, const ImVec2 size, ImGuiChildFlags child_flags, ImGuiWindowFlags window_flags); CIMGUI_API void igEndChild(void); CIMGUI_API bool igIsWindowAppearing(void); CIMGUI_API bool igIsWindowCollapsed(void); CIMGUI_API bool igIsWindowFocused(ImGuiFocusedFlags flags); CIMGUI_API bool igIsWindowHovered(ImGuiHoveredFlags flags); CIMGUI_API ImDrawList* igGetWindowDrawList(void); CIMGUI_API float igGetWindowDpiScale(void); CIMGUI_API void igGetWindowPos(ImVec2* pOut); CIMGUI_API void igGetWindowSize(ImVec2* pOut); CIMGUI_API float igGetWindowWidth(void); CIMGUI_API float igGetWindowHeight(void); CIMGUI_API ImGuiViewport* igGetWindowViewport(void); CIMGUI_API void igSetNextWindowPos(const ImVec2 pos, ImGuiCond cond, const ImVec2 pivot); CIMGUI_API void igSetNextWindowSize(const ImVec2 size, ImGuiCond cond); CIMGUI_API void igSetNextWindowSizeConstraints( const ImVec2 size_min, const ImVec2 size_max, ImGuiSizeCallback custom_callback, void* custom_callback_data); CIMGUI_API void igSetNextWindowContentSize(const ImVec2 size); CIMGUI_API void igSetNextWindowCollapsed(bool collapsed, ImGuiCond cond); CIMGUI_API void igSetNextWindowFocus(void); CIMGUI_API void igSetNextWindowScroll(const ImVec2 scroll); CIMGUI_API void igSetNextWindowBgAlpha(float alpha); CIMGUI_API void igSetNextWindowViewport(ImGuiID viewport_id); CIMGUI_API void igSetWindowPos_Vec2(const ImVec2 pos, ImGuiCond cond); CIMGUI_API void igSetWindowSize_Vec2(const ImVec2 size, ImGuiCond cond); CIMGUI_API void igSetWindowCollapsed_Bool(bool collapsed, ImGuiCond cond); CIMGUI_API void igSetWindowFocus_Nil(void); CIMGUI_API void igSetWindowFontScale(float scale); CIMGUI_API void igSetWindowPos_Str(const char* name, const ImVec2 pos, ImGuiCond cond); CIMGUI_API void igSetWindowSize_Str(const char* name, const ImVec2 size, ImGuiCond cond); CIMGUI_API void igSetWindowCollapsed_Str(const char* name, bool collapsed, ImGuiCond cond); CIMGUI_API void igSetWindowFocus_Str(const char* name); CIMGUI_API void igGetContentRegionAvail(ImVec2* pOut); CIMGUI_API void igGetContentRegionMax(ImVec2* pOut); CIMGUI_API void igGetWindowContentRegionMin(ImVec2* pOut); CIMGUI_API void igGetWindowContentRegionMax(ImVec2* pOut); CIMGUI_API float igGetScrollX(void); CIMGUI_API float igGetScrollY(void); CIMGUI_API void igSetScrollX_Float(float scroll_x); CIMGUI_API void igSetScrollY_Float(float scroll_y); CIMGUI_API float igGetScrollMaxX(void); CIMGUI_API float igGetScrollMaxY(void); CIMGUI_API void igSetScrollHereX(float center_x_ratio); CIMGUI_API void igSetScrollHereY(float center_y_ratio); CIMGUI_API void igSetScrollFromPosX_Float(float local_x, float center_x_ratio); CIMGUI_API void igSetScrollFromPosY_Float(float local_y, float center_y_ratio); CIMGUI_API void igPushFont(ImFont* font); CIMGUI_API void igPopFont(void); CIMGUI_API void igPushStyleColor_U32(ImGuiCol idx, ImU32 col); CIMGUI_API void igPushStyleColor_Vec4(ImGuiCol idx, const ImVec4 col); CIMGUI_API void igPopStyleColor(int count); CIMGUI_API void igPushStyleVar_Float(ImGuiStyleVar idx, float val); CIMGUI_API void igPushStyleVar_Vec2(ImGuiStyleVar idx, const ImVec2 val); CIMGUI_API void igPopStyleVar(int count); CIMGUI_API void igPushTabStop(bool tab_stop); CIMGUI_API void igPopTabStop(void); CIMGUI_API void igPushButtonRepeat(bool repeat); CIMGUI_API void igPopButtonRepeat(void); CIMGUI_API void igPushItemWidth(float item_width); CIMGUI_API void igPopItemWidth(void); CIMGUI_API void igSetNextItemWidth(float item_width); CIMGUI_API float igCalcItemWidth(void); CIMGUI_API void igPushTextWrapPos(float wrap_local_pos_x); CIMGUI_API void igPopTextWrapPos(void); CIMGUI_API ImFont* igGetFont(void); CIMGUI_API float igGetFontSize(void); CIMGUI_API void igGetFontTexUvWhitePixel(ImVec2* pOut); CIMGUI_API ImU32 igGetColorU32_Col(ImGuiCol idx, float alpha_mul); CIMGUI_API ImU32 igGetColorU32_Vec4(const ImVec4 col); CIMGUI_API ImU32 igGetColorU32_U32(ImU32 col, float alpha_mul); CIMGUI_API const ImVec4* igGetStyleColorVec4(ImGuiCol idx); CIMGUI_API void igGetCursorScreenPos(ImVec2* pOut); CIMGUI_API void igSetCursorScreenPos(const ImVec2 pos); CIMGUI_API void igGetCursorPos(ImVec2* pOut); CIMGUI_API float igGetCursorPosX(void); CIMGUI_API float igGetCursorPosY(void); CIMGUI_API void igSetCursorPos(const ImVec2 local_pos); CIMGUI_API void igSetCursorPosX(float local_x); CIMGUI_API void igSetCursorPosY(float local_y); CIMGUI_API void igGetCursorStartPos(ImVec2* pOut); CIMGUI_API void igSeparator(void); CIMGUI_API void igSameLine(float offset_from_start_x, float spacing); CIMGUI_API void igNewLine(void); CIMGUI_API void igSpacing(void); CIMGUI_API void igDummy(const ImVec2 size); CIMGUI_API void igIndent(float indent_w); CIMGUI_API void igUnindent(float indent_w); CIMGUI_API void igBeginGroup(void); CIMGUI_API void igEndGroup(void); CIMGUI_API void igAlignTextToFramePadding(void); CIMGUI_API float igGetTextLineHeight(void); CIMGUI_API float igGetTextLineHeightWithSpacing(void); CIMGUI_API float igGetFrameHeight(void); CIMGUI_API float igGetFrameHeightWithSpacing(void); CIMGUI_API void igPushID_Str(const char* str_id); CIMGUI_API void igPushID_StrStr(const char* str_id_begin, const char* str_id_end); CIMGUI_API void igPushID_Ptr(const void* ptr_id); CIMGUI_API void igPushID_Int(int int_id); CIMGUI_API void igPopID(void); CIMGUI_API ImGuiID igGetID_Str(const char* str_id); CIMGUI_API ImGuiID igGetID_StrStr(const char* str_id_begin, const char* str_id_end); CIMGUI_API ImGuiID igGetID_Ptr(const void* ptr_id); CIMGUI_API void igTextUnformatted(const char* text, const char* text_end); CIMGUI_API void igText(const char* fmt, ...); CIMGUI_API void igTextV(const char* fmt, va_list args); CIMGUI_API void igTextColored(const ImVec4 col, const char* fmt, ...); CIMGUI_API void igTextColoredV(const ImVec4 col, const char* fmt, va_list args); CIMGUI_API void igTextDisabled(const char* fmt, ...); CIMGUI_API void igTextDisabledV(const char* fmt, va_list args); CIMGUI_API void igTextWrapped(const char* fmt, ...); CIMGUI_API void igTextWrappedV(const char* fmt, va_list args); CIMGUI_API void igLabelText(const char* label, const char* fmt, ...); CIMGUI_API void igLabelTextV(const char* label, const char* fmt, va_list args); CIMGUI_API void igBulletText(const char* fmt, ...); CIMGUI_API void igBulletTextV(const char* fmt, va_list args); CIMGUI_API void igSeparatorText(const char* label); CIMGUI_API bool igButton(const char* label, const ImVec2 size); CIMGUI_API bool igSmallButton(const char* label); CIMGUI_API bool igInvisibleButton(const char* str_id, const ImVec2 size, ImGuiButtonFlags flags); CIMGUI_API bool igArrowButton(const char* str_id, ImGuiDir dir); CIMGUI_API bool igCheckbox(const char* label, bool* v); CIMGUI_API bool igCheckboxFlags_IntPtr(const char* label, int* flags, int flags_value); CIMGUI_API bool igCheckboxFlags_UintPtr(const char* label, unsigned int* flags, unsigned int flags_value); CIMGUI_API bool igRadioButton_Bool(const char* label, bool active); CIMGUI_API bool igRadioButton_IntPtr(const char* label, int* v, int v_button); CIMGUI_API void igProgressBar(float fraction, const ImVec2 size_arg, const char* overlay); CIMGUI_API void igBullet(void); CIMGUI_API void igImage(ImTextureID user_texture_id, const ImVec2 image_size, const ImVec2 uv0, const ImVec2 uv1, const ImVec4 tint_col, const ImVec4 border_col); CIMGUI_API bool igImageButton(const char* str_id, ImTextureID user_texture_id, const ImVec2 image_size, const ImVec2 uv0, const ImVec2 uv1, const ImVec4 bg_col, const ImVec4 tint_col); CIMGUI_API bool igBeginCombo(const char* label, const char* preview_value, ImGuiComboFlags flags); CIMGUI_API void igEndCombo(void); CIMGUI_API bool igCombo_Str_arr(const char* label, int* current_item, const char* const items[], int items_count, int popup_max_height_in_items); CIMGUI_API bool igCombo_Str(const char* label, int* current_item, const char* items_separated_by_zeros, int popup_max_height_in_items); CIMGUI_API bool igCombo_FnStrPtr(const char* label, int* current_item, const char* (*getter)(void* user_data, int idx), void* user_data, int items_count, int popup_max_height_in_items); CIMGUI_API bool igDragFloat(const char* label, float* v, float v_speed, float v_min, float v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igDragFloat2(const char* label, float v[2], float v_speed, float v_min, float v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igDragFloat3(const char* label, float v[3], float v_speed, float v_min, float v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igDragFloat4(const char* label, float v[4], float v_speed, float v_min, float v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igDragFloatRange2(const char* label, float* v_current_min, float* v_current_max, float v_speed, float v_min, float v_max, const char* format, const char* format_max, ImGuiSliderFlags flags); CIMGUI_API bool igDragInt(const char* label, int* v, float v_speed, int v_min, int v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igDragInt2(const char* label, int v[2], float v_speed, int v_min, int v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igDragInt3(const char* label, int v[3], float v_speed, int v_min, int v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igDragInt4(const char* label, int v[4], float v_speed, int v_min, int v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igDragIntRange2(const char* label, int* v_current_min, int* v_current_max, float v_speed, int v_min, int v_max, const char* format, const char* format_max, ImGuiSliderFlags flags); CIMGUI_API bool igDragScalar(const char* label, ImGuiDataType data_type, void* p_data, float v_speed, const void* p_min, const void* p_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igDragScalarN(const char* label, ImGuiDataType data_type, void* p_data, int components, float v_speed, const void* p_min, const void* p_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igSliderFloat(const char* label, float* v, float v_min, float v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igSliderFloat2(const char* label, float v[2], float v_min, float v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igSliderFloat3(const char* label, float v[3], float v_min, float v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igSliderFloat4(const char* label, float v[4], float v_min, float v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igSliderAngle(const char* label, float* v_rad, float v_degrees_min, float v_degrees_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igSliderInt(const char* label, int* v, int v_min, int v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igSliderInt2(const char* label, int v[2], int v_min, int v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igSliderInt3(const char* label, int v[3], int v_min, int v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igSliderInt4(const char* label, int v[4], int v_min, int v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igSliderScalar(const char* label, ImGuiDataType data_type, void* p_data, const void* p_min, const void* p_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igSliderScalarN(const char* label, ImGuiDataType data_type, void* p_data, int components, const void* p_min, const void* p_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igVSliderFloat(const char* label, const ImVec2 size, float* v, float v_min, float v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igVSliderInt(const char* label, const ImVec2 size, int* v, int v_min, int v_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igVSliderScalar(const char* label, const ImVec2 size, ImGuiDataType data_type, void* p_data, const void* p_min, const void* p_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igInputText(const char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* user_data); CIMGUI_API bool igInputTextMultiline(const char* label, char* buf, size_t buf_size, const ImVec2 size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* user_data); CIMGUI_API bool igInputTextWithHint(const char* label, const char* hint, char* buf, size_t buf_size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* user_data); CIMGUI_API bool igInputFloat(const char* label, float* v, float step, float step_fast, const char* format, ImGuiInputTextFlags flags); CIMGUI_API bool igInputFloat2(const char* label, float v[2], const char* format, ImGuiInputTextFlags flags); CIMGUI_API bool igInputFloat3(const char* label, float v[3], const char* format, ImGuiInputTextFlags flags); CIMGUI_API bool igInputFloat4(const char* label, float v[4], const char* format, ImGuiInputTextFlags flags); CIMGUI_API bool igInputInt(const char* label, int* v, int step, int step_fast, ImGuiInputTextFlags flags); CIMGUI_API bool igInputInt2(const char* label, int v[2], ImGuiInputTextFlags flags); CIMGUI_API bool igInputInt3(const char* label, int v[3], ImGuiInputTextFlags flags); CIMGUI_API bool igInputInt4(const char* label, int v[4], ImGuiInputTextFlags flags); CIMGUI_API bool igInputDouble(const char* label, double* v, double step, double step_fast, const char* format, ImGuiInputTextFlags flags); CIMGUI_API bool igInputScalar(const char* label, ImGuiDataType data_type, void* p_data, const void* p_step, const void* p_step_fast, const char* format, ImGuiInputTextFlags flags); CIMGUI_API bool igInputScalarN(const char* label, ImGuiDataType data_type, void* p_data, int components, const void* p_step, const void* p_step_fast, const char* format, ImGuiInputTextFlags flags); CIMGUI_API bool igColorEdit3(const char* label, float col[3], ImGuiColorEditFlags flags); CIMGUI_API bool igColorEdit4(const char* label, float col[4], ImGuiColorEditFlags flags); CIMGUI_API bool igColorPicker3(const char* label, float col[3], ImGuiColorEditFlags flags); CIMGUI_API bool igColorPicker4(const char* label, float col[4], ImGuiColorEditFlags flags, const float* ref_col); CIMGUI_API bool igColorButton(const char* desc_id, const ImVec4 col, ImGuiColorEditFlags flags, const ImVec2 size); CIMGUI_API void igSetColorEditOptions(ImGuiColorEditFlags flags); CIMGUI_API bool igTreeNode_Str(const char* label); CIMGUI_API bool igTreeNode_StrStr(const char* str_id, const char* fmt, ...); CIMGUI_API bool igTreeNode_Ptr(const void* ptr_id, const char* fmt, ...); CIMGUI_API bool igTreeNodeV_Str(const char* str_id, const char* fmt, va_list args); CIMGUI_API bool igTreeNodeV_Ptr(const void* ptr_id, const char* fmt, va_list args); CIMGUI_API bool igTreeNodeEx_Str(const char* label, ImGuiTreeNodeFlags flags); CIMGUI_API bool igTreeNodeEx_StrStr(const char* str_id, ImGuiTreeNodeFlags flags, const char* fmt, ...); CIMGUI_API bool igTreeNodeEx_Ptr(const void* ptr_id, ImGuiTreeNodeFlags flags, const char* fmt, ...); CIMGUI_API bool igTreeNodeExV_Str(const char* str_id, ImGuiTreeNodeFlags flags, const char* fmt, va_list args); CIMGUI_API bool igTreeNodeExV_Ptr(const void* ptr_id, ImGuiTreeNodeFlags flags, const char* fmt, va_list args); CIMGUI_API void igTreePush_Str(const char* str_id); CIMGUI_API void igTreePush_Ptr(const void* ptr_id); CIMGUI_API void igTreePop(void); CIMGUI_API float igGetTreeNodeToLabelSpacing(void); CIMGUI_API bool igCollapsingHeader_TreeNodeFlags(const char* label, ImGuiTreeNodeFlags flags); CIMGUI_API bool igCollapsingHeader_BoolPtr(const char* label, bool* p_visible, ImGuiTreeNodeFlags flags); CIMGUI_API void igSetNextItemOpen(bool is_open, ImGuiCond cond); CIMGUI_API bool igSelectable_Bool(const char* label, bool selected, ImGuiSelectableFlags flags, const ImVec2 size); CIMGUI_API bool igSelectable_BoolPtr(const char* label, bool* p_selected, ImGuiSelectableFlags flags, const ImVec2 size); CIMGUI_API bool igBeginListBox(const char* label, const ImVec2 size); CIMGUI_API void igEndListBox(void); CIMGUI_API bool igListBox_Str_arr(const char* label, int* current_item, const char* const items[], int items_count, int height_in_items); CIMGUI_API bool igListBox_FnStrPtr(const char* label, int* current_item, const char* (*getter)(void* user_data, int idx), void* user_data, int items_count, int height_in_items); CIMGUI_API void igPlotLines_FloatPtr(const char* label, const float* values, int values_count, int values_offset, const char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size, int stride); CIMGUI_API void igPlotLines_FnFloatPtr(const char* label, float (*values_getter)(void* data, int idx), void* data, int values_count, int values_offset, const char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size); CIMGUI_API void igPlotHistogram_FloatPtr(const char* label, const float* values, int values_count, int values_offset, const char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size, int stride); CIMGUI_API void igPlotHistogram_FnFloatPtr(const char* label, float (*values_getter)(void* data, int idx), void* data, int values_count, int values_offset, const char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size); CIMGUI_API void igValue_Bool(const char* prefix, bool b); CIMGUI_API void igValue_Int(const char* prefix, int v); CIMGUI_API void igValue_Uint(const char* prefix, unsigned int v); CIMGUI_API void igValue_Float(const char* prefix, float v, const char* float_format); CIMGUI_API bool igBeginMenuBar(void); CIMGUI_API void igEndMenuBar(void); CIMGUI_API bool igBeginMainMenuBar(void); CIMGUI_API void igEndMainMenuBar(void); CIMGUI_API bool igBeginMenu(const char* label, bool enabled); CIMGUI_API void igEndMenu(void); CIMGUI_API bool igMenuItem_Bool(const char* label, const char* shortcut, bool selected, bool enabled); CIMGUI_API bool igMenuItem_BoolPtr(const char* label, const char* shortcut, bool* p_selected, bool enabled); CIMGUI_API bool igBeginTooltip(void); CIMGUI_API void igEndTooltip(void); CIMGUI_API void igSetTooltip(const char* fmt, ...); CIMGUI_API void igSetTooltipV(const char* fmt, va_list args); CIMGUI_API bool igBeginItemTooltip(void); CIMGUI_API void igSetItemTooltip(const char* fmt, ...); CIMGUI_API void igSetItemTooltipV(const char* fmt, va_list args); CIMGUI_API bool igBeginPopup(const char* str_id, ImGuiWindowFlags flags); CIMGUI_API bool igBeginPopupModal(const char* name, bool* p_open, ImGuiWindowFlags flags); CIMGUI_API void igEndPopup(void); CIMGUI_API void igOpenPopup_Str(const char* str_id, ImGuiPopupFlags popup_flags); CIMGUI_API void igOpenPopup_ID(ImGuiID id, ImGuiPopupFlags popup_flags); CIMGUI_API void igOpenPopupOnItemClick(const char* str_id, ImGuiPopupFlags popup_flags); CIMGUI_API void igCloseCurrentPopup(void); CIMGUI_API bool igBeginPopupContextItem(const char* str_id, ImGuiPopupFlags popup_flags); CIMGUI_API bool igBeginPopupContextWindow(const char* str_id, ImGuiPopupFlags popup_flags); CIMGUI_API bool igBeginPopupContextVoid(const char* str_id, ImGuiPopupFlags popup_flags); CIMGUI_API bool igIsPopupOpen_Str(const char* str_id, ImGuiPopupFlags flags); CIMGUI_API bool igBeginTable(const char* str_id, int column, ImGuiTableFlags flags, const ImVec2 outer_size, float inner_width); CIMGUI_API void igEndTable(void); CIMGUI_API void igTableNextRow(ImGuiTableRowFlags row_flags, float min_row_height); CIMGUI_API bool igTableNextColumn(void); CIMGUI_API bool igTableSetColumnIndex(int column_n); CIMGUI_API void igTableSetupColumn(const char* label, ImGuiTableColumnFlags flags, float init_width_or_weight, ImGuiID user_id); CIMGUI_API void igTableSetupScrollFreeze(int cols, int rows); CIMGUI_API void igTableHeader(const char* label); CIMGUI_API void igTableHeadersRow(void); CIMGUI_API void igTableAngledHeadersRow(void); CIMGUI_API ImGuiTableSortSpecs* igTableGetSortSpecs(void); CIMGUI_API int igTableGetColumnCount(void); CIMGUI_API int igTableGetColumnIndex(void); CIMGUI_API int igTableGetRowIndex(void); CIMGUI_API const char* igTableGetColumnName_Int(int column_n); CIMGUI_API ImGuiTableColumnFlags igTableGetColumnFlags(int column_n); CIMGUI_API void igTableSetColumnEnabled(int column_n, bool v); CIMGUI_API void igTableSetBgColor(ImGuiTableBgTarget target, ImU32 color, int column_n); CIMGUI_API void igColumns(int count, const char* id, bool border); CIMGUI_API void igNextColumn(void); CIMGUI_API int igGetColumnIndex(void); CIMGUI_API float igGetColumnWidth(int column_index); CIMGUI_API void igSetColumnWidth(int column_index, float width); CIMGUI_API float igGetColumnOffset(int column_index); CIMGUI_API void igSetColumnOffset(int column_index, float offset_x); CIMGUI_API int igGetColumnsCount(void); CIMGUI_API bool igBeginTabBar(const char* str_id, ImGuiTabBarFlags flags); CIMGUI_API void igEndTabBar(void); CIMGUI_API bool igBeginTabItem(const char* label, bool* p_open, ImGuiTabItemFlags flags); CIMGUI_API void igEndTabItem(void); CIMGUI_API bool igTabItemButton(const char* label, ImGuiTabItemFlags flags); CIMGUI_API void igSetTabItemClosed(const char* tab_or_docked_window_label); CIMGUI_API ImGuiID igDockSpace(ImGuiID id, const ImVec2 size, ImGuiDockNodeFlags flags, const ImGuiWindowClass* window_class); CIMGUI_API ImGuiID igDockSpaceOverViewport(const ImGuiViewport* viewport, ImGuiDockNodeFlags flags, const ImGuiWindowClass* window_class); CIMGUI_API void igSetNextWindowDockID(ImGuiID dock_id, ImGuiCond cond); CIMGUI_API void igSetNextWindowClass(const ImGuiWindowClass* window_class); CIMGUI_API ImGuiID igGetWindowDockID(void); CIMGUI_API bool igIsWindowDocked(void); CIMGUI_API void igLogToTTY(int auto_open_depth); CIMGUI_API void igLogToFile(int auto_open_depth, const char* filename); CIMGUI_API void igLogToClipboard(int auto_open_depth); CIMGUI_API void igLogFinish(void); CIMGUI_API void igLogButtons(void); CIMGUI_API void igLogTextV(const char* fmt, va_list args); CIMGUI_API bool igBeginDragDropSource(ImGuiDragDropFlags flags); CIMGUI_API bool igSetDragDropPayload(const char* type, const void* data, size_t sz, ImGuiCond cond); CIMGUI_API void igEndDragDropSource(void); CIMGUI_API bool igBeginDragDropTarget(void); CIMGUI_API const ImGuiPayload* igAcceptDragDropPayload( const char* type, ImGuiDragDropFlags flags); CIMGUI_API void igEndDragDropTarget(void); CIMGUI_API const ImGuiPayload* igGetDragDropPayload(void); CIMGUI_API void igBeginDisabled(bool disabled); CIMGUI_API void igEndDisabled(void); CIMGUI_API void igPushClipRect(const ImVec2 clip_rect_min, const ImVec2 clip_rect_max, bool intersect_with_current_clip_rect); CIMGUI_API void igPopClipRect(void); CIMGUI_API void igSetItemDefaultFocus(void); CIMGUI_API void igSetKeyboardFocusHere(int offset); CIMGUI_API void igSetNextItemAllowOverlap(void); CIMGUI_API bool igIsItemHovered(ImGuiHoveredFlags flags); CIMGUI_API bool igIsItemActive(void); CIMGUI_API bool igIsItemFocused(void); CIMGUI_API bool igIsItemClicked(ImGuiMouseButton mouse_button); CIMGUI_API bool igIsItemVisible(void); CIMGUI_API bool igIsItemEdited(void); CIMGUI_API bool igIsItemActivated(void); CIMGUI_API bool igIsItemDeactivated(void); CIMGUI_API bool igIsItemDeactivatedAfterEdit(void); CIMGUI_API bool igIsItemToggledOpen(void); CIMGUI_API bool igIsAnyItemHovered(void); CIMGUI_API bool igIsAnyItemActive(void); CIMGUI_API bool igIsAnyItemFocused(void); CIMGUI_API ImGuiID igGetItemID(void); CIMGUI_API void igGetItemRectMin(ImVec2* pOut); CIMGUI_API void igGetItemRectMax(ImVec2* pOut); CIMGUI_API void igGetItemRectSize(ImVec2* pOut); CIMGUI_API ImGuiViewport* igGetMainViewport(void); CIMGUI_API ImDrawList* igGetBackgroundDrawList_Nil(void); CIMGUI_API ImDrawList* igGetForegroundDrawList_Nil(void); CIMGUI_API ImDrawList* igGetBackgroundDrawList_ViewportPtr( ImGuiViewport* viewport); CIMGUI_API ImDrawList* igGetForegroundDrawList_ViewportPtr( ImGuiViewport* viewport); CIMGUI_API bool igIsRectVisible_Nil(const ImVec2 size); CIMGUI_API bool igIsRectVisible_Vec2(const ImVec2 rect_min, const ImVec2 rect_max); CIMGUI_API double igGetTime(void); CIMGUI_API int igGetFrameCount(void); CIMGUI_API ImDrawListSharedData* igGetDrawListSharedData(void); CIMGUI_API const char* igGetStyleColorName(ImGuiCol idx); CIMGUI_API void igSetStateStorage(ImGuiStorage* storage); CIMGUI_API ImGuiStorage* igGetStateStorage(void); CIMGUI_API void igCalcTextSize(ImVec2* pOut, const char* text, const char* text_end, bool hide_text_after_double_hash, float wrap_width); CIMGUI_API void igColorConvertU32ToFloat4(ImVec4* pOut, ImU32 in); CIMGUI_API ImU32 igColorConvertFloat4ToU32(const ImVec4 in); CIMGUI_API void igColorConvertRGBtoHSV(float r, float g, float b, float* out_h, float* out_s, float* out_v); CIMGUI_API void igColorConvertHSVtoRGB(float h, float s, float v, float* out_r, float* out_g, float* out_b); CIMGUI_API bool igIsKeyDown_Nil(ImGuiKey key); CIMGUI_API bool igIsKeyPressed_Bool(ImGuiKey key, bool repeat); CIMGUI_API bool igIsKeyReleased_Nil(ImGuiKey key); CIMGUI_API bool igIsKeyChordPressed_Nil(ImGuiKeyChord key_chord); CIMGUI_API int igGetKeyPressedAmount(ImGuiKey key, float repeat_delay, float rate); CIMGUI_API const char* igGetKeyName(ImGuiKey key); CIMGUI_API void igSetNextFrameWantCaptureKeyboard(bool want_capture_keyboard); CIMGUI_API bool igIsMouseDown_Nil(ImGuiMouseButton button); CIMGUI_API bool igIsMouseClicked_Bool(ImGuiMouseButton button, bool repeat); CIMGUI_API bool igIsMouseReleased_Nil(ImGuiMouseButton button); CIMGUI_API bool igIsMouseDoubleClicked_Nil(ImGuiMouseButton button); CIMGUI_API int igGetMouseClickedCount(ImGuiMouseButton button); CIMGUI_API bool igIsMouseHoveringRect(const ImVec2 r_min, const ImVec2 r_max, bool clip); CIMGUI_API bool igIsMousePosValid(const ImVec2* mouse_pos); CIMGUI_API bool igIsAnyMouseDown(void); CIMGUI_API void igGetMousePos(ImVec2* pOut); CIMGUI_API void igGetMousePosOnOpeningCurrentPopup(ImVec2* pOut); CIMGUI_API bool igIsMouseDragging(ImGuiMouseButton button, float lock_threshold); CIMGUI_API void igGetMouseDragDelta(ImVec2* pOut, ImGuiMouseButton button, float lock_threshold); CIMGUI_API void igResetMouseDragDelta(ImGuiMouseButton button); CIMGUI_API ImGuiMouseCursor igGetMouseCursor(void); CIMGUI_API void igSetMouseCursor(ImGuiMouseCursor cursor_type); CIMGUI_API void igSetNextFrameWantCaptureMouse(bool want_capture_mouse); CIMGUI_API const char* igGetClipboardText(void); CIMGUI_API void igSetClipboardText(const char* text); CIMGUI_API void igLoadIniSettingsFromDisk(const char* ini_filename); CIMGUI_API void igLoadIniSettingsFromMemory(const char* ini_data, size_t ini_size); CIMGUI_API void igSaveIniSettingsToDisk(const char* ini_filename); CIMGUI_API const char* igSaveIniSettingsToMemory(size_t* out_ini_size); CIMGUI_API void igDebugTextEncoding(const char* text); CIMGUI_API void igDebugFlashStyleColor(ImGuiCol idx); CIMGUI_API void igDebugStartItemPicker(void); CIMGUI_API bool igDebugCheckVersionAndDataLayout(const char* version_str, size_t sz_io, size_t sz_style, size_t sz_vec2, size_t sz_vec4, size_t sz_drawvert, size_t sz_drawidx); CIMGUI_API void igSetAllocatorFunctions(ImGuiMemAllocFunc alloc_func, ImGuiMemFreeFunc free_func, void* user_data); CIMGUI_API void igGetAllocatorFunctions(ImGuiMemAllocFunc* p_alloc_func, ImGuiMemFreeFunc* p_free_func, void** p_user_data); CIMGUI_API void* igMemAlloc(size_t size); CIMGUI_API void igMemFree(void* ptr); CIMGUI_API ImGuiPlatformIO* igGetPlatformIO(void); CIMGUI_API void igUpdatePlatformWindows(void); CIMGUI_API void igRenderPlatformWindowsDefault(void* platform_render_arg, void* renderer_render_arg); CIMGUI_API void igDestroyPlatformWindows(void); CIMGUI_API ImGuiViewport* igFindViewportByID(ImGuiID id); CIMGUI_API ImGuiViewport* igFindViewportByPlatformHandle(void* platform_handle); CIMGUI_API ImGuiTableSortSpecs* ImGuiTableSortSpecs_ImGuiTableSortSpecs(void); CIMGUI_API void ImGuiTableSortSpecs_destroy(ImGuiTableSortSpecs* self); CIMGUI_API ImGuiTableColumnSortSpecs* ImGuiTableColumnSortSpecs_ImGuiTableColumnSortSpecs(void); CIMGUI_API void ImGuiTableColumnSortSpecs_destroy( ImGuiTableColumnSortSpecs* self); CIMGUI_API ImGuiStyle* ImGuiStyle_ImGuiStyle(void); CIMGUI_API void ImGuiStyle_destroy(ImGuiStyle* self); CIMGUI_API void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self, float scale_factor); CIMGUI_API void ImGuiIO_AddKeyEvent(ImGuiIO* self, ImGuiKey key, bool down); CIMGUI_API void ImGuiIO_AddKeyAnalogEvent(ImGuiIO* self, ImGuiKey key, bool down, float v); CIMGUI_API void ImGuiIO_AddMousePosEvent(ImGuiIO* self, float x, float y); CIMGUI_API void ImGuiIO_AddMouseButtonEvent(ImGuiIO* self, int button, bool down); CIMGUI_API void ImGuiIO_AddMouseWheelEvent(ImGuiIO* self, float wheel_x, float wheel_y); CIMGUI_API void ImGuiIO_AddMouseSourceEvent(ImGuiIO* self, ImGuiMouseSource source); CIMGUI_API void ImGuiIO_AddMouseViewportEvent(ImGuiIO* self, ImGuiID id); CIMGUI_API void ImGuiIO_AddFocusEvent(ImGuiIO* self, bool focused); CIMGUI_API void ImGuiIO_AddInputCharacter(ImGuiIO* self, unsigned int c); CIMGUI_API void ImGuiIO_AddInputCharacterUTF16(ImGuiIO* self, ImWchar16 c); CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self, const char* str); CIMGUI_API void ImGuiIO_SetKeyEventNativeData(ImGuiIO* self, ImGuiKey key, int native_keycode, int native_scancode, int native_legacy_index); CIMGUI_API void ImGuiIO_SetAppAcceptingEvents(ImGuiIO* self, bool accepting_events); CIMGUI_API void ImGuiIO_ClearEventsQueue(ImGuiIO* self); CIMGUI_API void ImGuiIO_ClearInputKeys(ImGuiIO* self); CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void); CIMGUI_API void ImGuiIO_destroy(ImGuiIO* self); CIMGUI_API ImGuiInputTextCallbackData* ImGuiInputTextCallbackData_ImGuiInputTextCallbackData(void); CIMGUI_API void ImGuiInputTextCallbackData_destroy( ImGuiInputTextCallbackData* self); CIMGUI_API void ImGuiInputTextCallbackData_DeleteChars( ImGuiInputTextCallbackData* self, int pos, int bytes_count); CIMGUI_API void ImGuiInputTextCallbackData_InsertChars( ImGuiInputTextCallbackData* self, int pos, const char* text, const char* text_end); CIMGUI_API void ImGuiInputTextCallbackData_SelectAll( ImGuiInputTextCallbackData* self); CIMGUI_API void ImGuiInputTextCallbackData_ClearSelection( ImGuiInputTextCallbackData* self); CIMGUI_API bool ImGuiInputTextCallbackData_HasSelection( ImGuiInputTextCallbackData* self); CIMGUI_API ImGuiWindowClass* ImGuiWindowClass_ImGuiWindowClass(void); CIMGUI_API void ImGuiWindowClass_destroy(ImGuiWindowClass* self); CIMGUI_API ImGuiPayload* ImGuiPayload_ImGuiPayload(void); CIMGUI_API void ImGuiPayload_destroy(ImGuiPayload* self); CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self); CIMGUI_API bool ImGuiPayload_IsDataType(ImGuiPayload* self, const char* type); CIMGUI_API bool ImGuiPayload_IsPreview(ImGuiPayload* self); CIMGUI_API bool ImGuiPayload_IsDelivery(ImGuiPayload* self); CIMGUI_API ImGuiOnceUponAFrame* ImGuiOnceUponAFrame_ImGuiOnceUponAFrame(void); CIMGUI_API void ImGuiOnceUponAFrame_destroy(ImGuiOnceUponAFrame* self); CIMGUI_API ImGuiTextFilter* ImGuiTextFilter_ImGuiTextFilter( const char* default_filter); CIMGUI_API void ImGuiTextFilter_destroy(ImGuiTextFilter* self); CIMGUI_API bool ImGuiTextFilter_Draw(ImGuiTextFilter* self, const char* label, float width); CIMGUI_API bool ImGuiTextFilter_PassFilter(ImGuiTextFilter* self, const char* text, const char* text_end); CIMGUI_API void ImGuiTextFilter_Build(ImGuiTextFilter* self); CIMGUI_API void ImGuiTextFilter_Clear(ImGuiTextFilter* self); CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self); CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRange_Nil(void); CIMGUI_API void ImGuiTextRange_destroy(ImGuiTextRange* self); CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRange_Str(const char* _b, const char* _e); CIMGUI_API bool ImGuiTextRange_empty(ImGuiTextRange* self); CIMGUI_API void ImGuiTextRange_split(ImGuiTextRange* self, char separator, ImVector_ImGuiTextRange* out); CIMGUI_API ImGuiTextBuffer* ImGuiTextBuffer_ImGuiTextBuffer(void); CIMGUI_API void ImGuiTextBuffer_destroy(ImGuiTextBuffer* self); CIMGUI_API const char* ImGuiTextBuffer_begin(ImGuiTextBuffer* self); CIMGUI_API const char* ImGuiTextBuffer_end(ImGuiTextBuffer* self); CIMGUI_API int ImGuiTextBuffer_size(ImGuiTextBuffer* self); CIMGUI_API bool ImGuiTextBuffer_empty(ImGuiTextBuffer* self); CIMGUI_API void ImGuiTextBuffer_clear(ImGuiTextBuffer* self); CIMGUI_API void ImGuiTextBuffer_reserve(ImGuiTextBuffer* self, int capacity); CIMGUI_API const char* ImGuiTextBuffer_c_str(ImGuiTextBuffer* self); CIMGUI_API void ImGuiTextBuffer_append(ImGuiTextBuffer* self, const char* str, const char* str_end); CIMGUI_API void ImGuiTextBuffer_appendfv(ImGuiTextBuffer* self, const char* fmt, va_list args); CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Int(ImGuiID _key, int _val); CIMGUI_API void ImGuiStoragePair_destroy(ImGuiStoragePair* self); CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Float( ImGuiID _key, float _val); CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Ptr(ImGuiID _key, void* _val); CIMGUI_API void ImGuiStorage_Clear(ImGuiStorage* self); CIMGUI_API int ImGuiStorage_GetInt(ImGuiStorage* self, ImGuiID key, int default_val); CIMGUI_API void ImGuiStorage_SetInt(ImGuiStorage* self, ImGuiID key, int val); CIMGUI_API bool ImGuiStorage_GetBool(ImGuiStorage* self, ImGuiID key, bool default_val); CIMGUI_API void ImGuiStorage_SetBool(ImGuiStorage* self, ImGuiID key, bool val); CIMGUI_API float ImGuiStorage_GetFloat(ImGuiStorage* self, ImGuiID key, float default_val); CIMGUI_API void ImGuiStorage_SetFloat(ImGuiStorage* self, ImGuiID key, float val); CIMGUI_API void* ImGuiStorage_GetVoidPtr(ImGuiStorage* self, ImGuiID key); CIMGUI_API void ImGuiStorage_SetVoidPtr(ImGuiStorage* self, ImGuiID key, void* val); CIMGUI_API int* ImGuiStorage_GetIntRef(ImGuiStorage* self, ImGuiID key, int default_val); CIMGUI_API bool* ImGuiStorage_GetBoolRef(ImGuiStorage* self, ImGuiID key, bool default_val); CIMGUI_API float* ImGuiStorage_GetFloatRef(ImGuiStorage* self, ImGuiID key, float default_val); CIMGUI_API void** ImGuiStorage_GetVoidPtrRef(ImGuiStorage* self, ImGuiID key, void* default_val); CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self); CIMGUI_API void ImGuiStorage_SetAllInt(ImGuiStorage* self, int val); CIMGUI_API ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(void); CIMGUI_API void ImGuiListClipper_destroy(ImGuiListClipper* self); CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* self, int items_count, float items_height); CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self); CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self); CIMGUI_API void ImGuiListClipper_IncludeItemByIndex(ImGuiListClipper* self, int item_index); CIMGUI_API void ImGuiListClipper_IncludeItemsByIndex(ImGuiListClipper* self, int item_begin, int item_end); CIMGUI_API ImColor* ImColor_ImColor_Nil(void); CIMGUI_API void ImColor_destroy(ImColor* self); CIMGUI_API ImColor* ImColor_ImColor_Float(float r, float g, float b, float a); CIMGUI_API ImColor* ImColor_ImColor_Vec4(const ImVec4 col); CIMGUI_API ImColor* ImColor_ImColor_Int(int r, int g, int b, int a); CIMGUI_API ImColor* ImColor_ImColor_U32(ImU32 rgba); CIMGUI_API void ImColor_SetHSV(ImColor* self, float h, float s, float v, float a); CIMGUI_API void ImColor_HSV(ImColor* pOut, float h, float s, float v, float a); CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void); CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self); CIMGUI_API ImTextureID ImDrawCmd_GetTexID(ImDrawCmd* self); CIMGUI_API ImDrawListSplitter* ImDrawListSplitter_ImDrawListSplitter(void); CIMGUI_API void ImDrawListSplitter_destroy(ImDrawListSplitter* self); CIMGUI_API void ImDrawListSplitter_Clear(ImDrawListSplitter* self); CIMGUI_API void ImDrawListSplitter_ClearFreeMemory(ImDrawListSplitter* self); CIMGUI_API void ImDrawListSplitter_Split(ImDrawListSplitter* self, ImDrawList* draw_list, int count); CIMGUI_API void ImDrawListSplitter_Merge(ImDrawListSplitter* self, ImDrawList* draw_list); CIMGUI_API void ImDrawListSplitter_SetCurrentChannel(ImDrawListSplitter* self, ImDrawList* draw_list, int channel_idx); CIMGUI_API ImDrawList* ImDrawList_ImDrawList(ImDrawListSharedData* shared_data); CIMGUI_API void ImDrawList_destroy(ImDrawList* self); CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* self, const ImVec2 clip_rect_min, const ImVec2 clip_rect_max, bool intersect_with_current_clip_rect); CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* self); CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* self); CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* self, ImTextureID texture_id); CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* self); CIMGUI_API void ImDrawList_GetClipRectMin(ImVec2* pOut, ImDrawList* self); CIMGUI_API void ImDrawList_GetClipRectMax(ImVec2* pOut, ImDrawList* self); CIMGUI_API void ImDrawList_AddLine(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, ImU32 col, float thickness); CIMGUI_API void ImDrawList_AddRect(ImDrawList* self, const ImVec2 p_min, const ImVec2 p_max, ImU32 col, float rounding, ImDrawFlags flags, float thickness); CIMGUI_API void ImDrawList_AddRectFilled(ImDrawList* self, const ImVec2 p_min, const ImVec2 p_max, ImU32 col, float rounding, ImDrawFlags flags); CIMGUI_API void ImDrawList_AddRectFilledMultiColor(ImDrawList* self, const ImVec2 p_min, const ImVec2 p_max, ImU32 col_upr_left, ImU32 col_upr_right, ImU32 col_bot_right, ImU32 col_bot_left); CIMGUI_API void ImDrawList_AddQuad(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, ImU32 col, float thickness); CIMGUI_API void ImDrawList_AddQuadFilled(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, ImU32 col); CIMGUI_API void ImDrawList_AddTriangle(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, ImU32 col, float thickness); CIMGUI_API void ImDrawList_AddTriangleFilled(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, ImU32 col); CIMGUI_API void ImDrawList_AddCircle(ImDrawList* self, const ImVec2 center, float radius, ImU32 col, int num_segments, float thickness); CIMGUI_API void ImDrawList_AddCircleFilled(ImDrawList* self, const ImVec2 center, float radius, ImU32 col, int num_segments); CIMGUI_API void ImDrawList_AddNgon(ImDrawList* self, const ImVec2 center, float radius, ImU32 col, int num_segments, float thickness); CIMGUI_API void ImDrawList_AddNgonFilled(ImDrawList* self, const ImVec2 center, float radius, ImU32 col, int num_segments); CIMGUI_API void ImDrawList_AddEllipse(ImDrawList* self, const ImVec2 center, const ImVec2 radius, ImU32 col, float rot, int num_segments, float thickness); CIMGUI_API void ImDrawList_AddEllipseFilled(ImDrawList* self, const ImVec2 center, const ImVec2 radius, ImU32 col, float rot, int num_segments); CIMGUI_API void ImDrawList_AddText_Vec2(ImDrawList* self, const ImVec2 pos, ImU32 col, const char* text_begin, const char* text_end); CIMGUI_API void ImDrawList_AddText_FontPtr(ImDrawList* self, const ImFont* font, float font_size, const ImVec2 pos, ImU32 col, const char* text_begin, const char* text_end, float wrap_width, const ImVec4* cpu_fine_clip_rect); CIMGUI_API void ImDrawList_AddBezierCubic(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, ImU32 col, float thickness, int num_segments); CIMGUI_API void ImDrawList_AddBezierQuadratic(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, ImU32 col, float thickness, int num_segments); CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* self, const ImVec2* points, int num_points, ImU32 col, ImDrawFlags flags, float thickness); CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* self, const ImVec2* points, int num_points, ImU32 col); CIMGUI_API void ImDrawList_AddConcavePolyFilled(ImDrawList* self, const ImVec2* points, int num_points, ImU32 col); CIMGUI_API void ImDrawList_AddImage(ImDrawList* self, ImTextureID user_texture_id, const ImVec2 p_min, const ImVec2 p_max, const ImVec2 uv_min, const ImVec2 uv_max, ImU32 col); CIMGUI_API void ImDrawList_AddImageQuad(ImDrawList* self, ImTextureID user_texture_id, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, const ImVec2 uv1, const ImVec2 uv2, const ImVec2 uv3, const ImVec2 uv4, ImU32 col); CIMGUI_API void ImDrawList_AddImageRounded(ImDrawList* self, ImTextureID user_texture_id, const ImVec2 p_min, const ImVec2 p_max, const ImVec2 uv_min, const ImVec2 uv_max, ImU32 col, float rounding, ImDrawFlags flags); CIMGUI_API void ImDrawList_PathClear(ImDrawList* self); CIMGUI_API void ImDrawList_PathLineTo(ImDrawList* self, const ImVec2 pos); CIMGUI_API void ImDrawList_PathLineToMergeDuplicate(ImDrawList* self, const ImVec2 pos); CIMGUI_API void ImDrawList_PathFillConvex(ImDrawList* self, ImU32 col); CIMGUI_API void ImDrawList_PathFillConcave(ImDrawList* self, ImU32 col); CIMGUI_API void ImDrawList_PathStroke(ImDrawList* self, ImU32 col, ImDrawFlags flags, float thickness); CIMGUI_API void ImDrawList_PathArcTo(ImDrawList* self, const ImVec2 center, float radius, float a_min, float a_max, int num_segments); CIMGUI_API void ImDrawList_PathArcToFast(ImDrawList* self, const ImVec2 center, float radius, int a_min_of_12, int a_max_of_12); CIMGUI_API void ImDrawList_PathEllipticalArcTo(ImDrawList* self, const ImVec2 center, const ImVec2 radius, float rot, float a_min, float a_max, int num_segments); CIMGUI_API void ImDrawList_PathBezierCubicCurveTo(ImDrawList* self, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, int num_segments); CIMGUI_API void ImDrawList_PathBezierQuadraticCurveTo(ImDrawList* self, const ImVec2 p2, const ImVec2 p3, int num_segments); CIMGUI_API void ImDrawList_PathRect(ImDrawList* self, const ImVec2 rect_min, const ImVec2 rect_max, float rounding, ImDrawFlags flags); CIMGUI_API void ImDrawList_AddCallback(ImDrawList* self, ImDrawCallback callback, void* callback_data); CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList* self); CIMGUI_API ImDrawList* ImDrawList_CloneOutput(ImDrawList* self); CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList* self, int count); CIMGUI_API void ImDrawList_ChannelsMerge(ImDrawList* self); CIMGUI_API void ImDrawList_ChannelsSetCurrent(ImDrawList* self, int n); CIMGUI_API void ImDrawList_PrimReserve(ImDrawList* self, int idx_count, int vtx_count); CIMGUI_API void ImDrawList_PrimUnreserve(ImDrawList* self, int idx_count, int vtx_count); CIMGUI_API void ImDrawList_PrimRect(ImDrawList* self, const ImVec2 a, const ImVec2 b, ImU32 col); CIMGUI_API void ImDrawList_PrimRectUV(ImDrawList* self, const ImVec2 a, const ImVec2 b, const ImVec2 uv_a, const ImVec2 uv_b, ImU32 col); CIMGUI_API void ImDrawList_PrimQuadUV(ImDrawList* self, const ImVec2 a, const ImVec2 b, const ImVec2 c, const ImVec2 d, const ImVec2 uv_a, const ImVec2 uv_b, const ImVec2 uv_c, const ImVec2 uv_d, ImU32 col); CIMGUI_API void ImDrawList_PrimWriteVtx(ImDrawList* self, const ImVec2 pos, const ImVec2 uv, ImU32 col); CIMGUI_API void ImDrawList_PrimWriteIdx(ImDrawList* self, ImDrawIdx idx); CIMGUI_API void ImDrawList_PrimVtx(ImDrawList* self, const ImVec2 pos, const ImVec2 uv, ImU32 col); CIMGUI_API void ImDrawList__ResetForNewFrame(ImDrawList* self); CIMGUI_API void ImDrawList__ClearFreeMemory(ImDrawList* self); CIMGUI_API void ImDrawList__PopUnusedDrawCmd(ImDrawList* self); CIMGUI_API void ImDrawList__TryMergeDrawCmds(ImDrawList* self); CIMGUI_API void ImDrawList__OnChangedClipRect(ImDrawList* self); CIMGUI_API void ImDrawList__OnChangedTextureID(ImDrawList* self); CIMGUI_API void ImDrawList__OnChangedVtxOffset(ImDrawList* self); CIMGUI_API int ImDrawList__CalcCircleAutoSegmentCount(ImDrawList* self, float radius); CIMGUI_API void ImDrawList__PathArcToFastEx(ImDrawList* self, const ImVec2 center, float radius, int a_min_sample, int a_max_sample, int a_step); CIMGUI_API void ImDrawList__PathArcToN(ImDrawList* self, const ImVec2 center, float radius, float a_min, float a_max, int num_segments); CIMGUI_API ImDrawData* ImDrawData_ImDrawData(void); CIMGUI_API void ImDrawData_destroy(ImDrawData* self); CIMGUI_API void ImDrawData_Clear(ImDrawData* self); CIMGUI_API void ImDrawData_AddDrawList(ImDrawData* self, ImDrawList* draw_list); CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* self); CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData* self, const ImVec2 fb_scale); CIMGUI_API ImFontConfig* ImFontConfig_ImFontConfig(void); CIMGUI_API void ImFontConfig_destroy(ImFontConfig* self); CIMGUI_API ImFontGlyphRangesBuilder* ImFontGlyphRangesBuilder_ImFontGlyphRangesBuilder(void); CIMGUI_API void ImFontGlyphRangesBuilder_destroy( ImFontGlyphRangesBuilder* self); CIMGUI_API void ImFontGlyphRangesBuilder_Clear(ImFontGlyphRangesBuilder* self); CIMGUI_API bool ImFontGlyphRangesBuilder_GetBit(ImFontGlyphRangesBuilder* self, size_t n); CIMGUI_API void ImFontGlyphRangesBuilder_SetBit(ImFontGlyphRangesBuilder* self, size_t n); CIMGUI_API void ImFontGlyphRangesBuilder_AddChar(ImFontGlyphRangesBuilder* self, ImWchar c); CIMGUI_API void ImFontGlyphRangesBuilder_AddText(ImFontGlyphRangesBuilder* self, const char* text, const char* text_end); CIMGUI_API void ImFontGlyphRangesBuilder_AddRanges( ImFontGlyphRangesBuilder* self, const ImWchar* ranges); CIMGUI_API void ImFontGlyphRangesBuilder_BuildRanges( ImFontGlyphRangesBuilder* self, ImVector_ImWchar* out_ranges); CIMGUI_API ImFontAtlasCustomRect* ImFontAtlasCustomRect_ImFontAtlasCustomRect( void); CIMGUI_API void ImFontAtlasCustomRect_destroy(ImFontAtlasCustomRect* self); CIMGUI_API bool ImFontAtlasCustomRect_IsPacked(ImFontAtlasCustomRect* self); CIMGUI_API ImFontAtlas* ImFontAtlas_ImFontAtlas(void); CIMGUI_API void ImFontAtlas_destroy(ImFontAtlas* self); CIMGUI_API ImFont* ImFontAtlas_AddFont(ImFontAtlas* self, const ImFontConfig* font_cfg); CIMGUI_API ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* self, const ImFontConfig* font_cfg); CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* self, const char* filename, float size_pixels, const ImFontConfig* font_cfg, const ImWchar* glyph_ranges); CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryTTF( ImFontAtlas* self, void* font_data, int font_data_size, float size_pixels, const ImFontConfig* font_cfg, const ImWchar* glyph_ranges); CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF( ImFontAtlas* self, const void* compressed_font_data, int compressed_font_data_size, float size_pixels, const ImFontConfig* font_cfg, const ImWchar* glyph_ranges); CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedBase85TTF( ImFontAtlas* self, const char* compressed_font_data_base85, float size_pixels, const ImFontConfig* font_cfg, const ImWchar* glyph_ranges); CIMGUI_API void ImFontAtlas_ClearInputData(ImFontAtlas* self); CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* self); CIMGUI_API void ImFontAtlas_ClearFonts(ImFontAtlas* self); CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* self); CIMGUI_API bool ImFontAtlas_Build(ImFontAtlas* self); CIMGUI_API void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* self, unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel); CIMGUI_API void ImFontAtlas_GetTexDataAsRGBA32(ImFontAtlas* self, unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel); CIMGUI_API bool ImFontAtlas_IsBuilt(ImFontAtlas* self); CIMGUI_API void ImFontAtlas_SetTexID(ImFontAtlas* self, ImTextureID id); CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesDefault(ImFontAtlas* self); CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesGreek(ImFontAtlas* self); CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesKorean(ImFontAtlas* self); CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesJapanese(ImFontAtlas* self); CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseFull( ImFontAtlas* self); CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseSimplifiedCommon( ImFontAtlas* self); CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesCyrillic(ImFontAtlas* self); CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self); CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesVietnamese( ImFontAtlas* self); CIMGUI_API int ImFontAtlas_AddCustomRectRegular(ImFontAtlas* self, int width, int height); CIMGUI_API int ImFontAtlas_AddCustomRectFontGlyph(ImFontAtlas* self, ImFont* font, ImWchar id, int width, int height, float advance_x, const ImVec2 offset); CIMGUI_API ImFontAtlasCustomRect* ImFontAtlas_GetCustomRectByIndex( ImFontAtlas* self, int index); CIMGUI_API void ImFontAtlas_CalcCustomRectUV(ImFontAtlas* self, const ImFontAtlasCustomRect* rect, ImVec2* out_uv_min, ImVec2* out_uv_max); CIMGUI_API bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self, ImGuiMouseCursor cursor, ImVec2* out_offset, ImVec2* out_size, ImVec2 out_uv_border[2], ImVec2 out_uv_fill[2]); CIMGUI_API ImFont* ImFont_ImFont(void); CIMGUI_API void ImFont_destroy(ImFont* self); CIMGUI_API const ImFontGlyph* ImFont_FindGlyph(ImFont* self, ImWchar c); CIMGUI_API const ImFontGlyph* ImFont_FindGlyphNoFallback(ImFont* self, ImWchar c); CIMGUI_API float ImFont_GetCharAdvance(ImFont* self, ImWchar c); CIMGUI_API bool ImFont_IsLoaded(ImFont* self); CIMGUI_API const char* ImFont_GetDebugName(ImFont* self); CIMGUI_API void ImFont_CalcTextSizeA(ImVec2* pOut, ImFont* self, float size, float max_width, float wrap_width, const char* text_begin, const char* text_end, const char** remaining); CIMGUI_API const char* ImFont_CalcWordWrapPositionA(ImFont* self, float scale, const char* text, const char* text_end, float wrap_width); CIMGUI_API void ImFont_RenderChar(ImFont* self, ImDrawList* draw_list, float size, const ImVec2 pos, ImU32 col, ImWchar c); CIMGUI_API void ImFont_RenderText(ImFont* self, ImDrawList* draw_list, float size, const ImVec2 pos, ImU32 col, const ImVec4 clip_rect, const char* text_begin, const char* text_end, float wrap_width, bool cpu_fine_clip); CIMGUI_API void ImFont_BuildLookupTable(ImFont* self); CIMGUI_API void ImFont_ClearOutputData(ImFont* self); CIMGUI_API void ImFont_GrowIndex(ImFont* self, int new_size); CIMGUI_API void ImFont_AddGlyph(ImFont* self, const ImFontConfig* src_cfg, ImWchar c, float x0, float y0, float x1, float y1, float u0, float v0, float u1, float v1, float advance_x); CIMGUI_API void ImFont_AddRemapChar(ImFont* self, ImWchar dst, ImWchar src, bool overwrite_dst); CIMGUI_API void ImFont_SetGlyphVisible(ImFont* self, ImWchar c, bool visible); CIMGUI_API bool ImFont_IsGlyphRangeUnused(ImFont* self, unsigned int c_begin, unsigned int c_last); CIMGUI_API ImGuiViewport* ImGuiViewport_ImGuiViewport(void); CIMGUI_API void ImGuiViewport_destroy(ImGuiViewport* self); CIMGUI_API void ImGuiViewport_GetCenter(ImVec2* pOut, ImGuiViewport* self); CIMGUI_API void ImGuiViewport_GetWorkCenter(ImVec2* pOut, ImGuiViewport* self); CIMGUI_API ImGuiPlatformIO* ImGuiPlatformIO_ImGuiPlatformIO(void); CIMGUI_API void ImGuiPlatformIO_destroy(ImGuiPlatformIO* self); CIMGUI_API ImGuiPlatformMonitor* ImGuiPlatformMonitor_ImGuiPlatformMonitor( void); CIMGUI_API void ImGuiPlatformMonitor_destroy(ImGuiPlatformMonitor* self); CIMGUI_API ImGuiPlatformImeData* ImGuiPlatformImeData_ImGuiPlatformImeData( void); CIMGUI_API void ImGuiPlatformImeData_destroy(ImGuiPlatformImeData* self); CIMGUI_API ImGuiID igImHashData(const void* data, size_t data_size, ImGuiID seed); CIMGUI_API ImGuiID igImHashStr(const char* data, size_t data_size, ImGuiID seed); CIMGUI_API void igImQsort(void* base, size_t count, size_t size_of_element, int (*compare_func)(void const*, void const*)); CIMGUI_API ImU32 igImAlphaBlendColors(ImU32 col_a, ImU32 col_b); CIMGUI_API bool igImIsPowerOfTwo_Int(int v); CIMGUI_API bool igImIsPowerOfTwo_U64(ImU64 v); CIMGUI_API int igImUpperPowerOfTwo(int v); CIMGUI_API int igImStricmp(const char* str1, const char* str2); CIMGUI_API int igImStrnicmp(const char* str1, const char* str2, size_t count); CIMGUI_API void igImStrncpy(char* dst, const char* src, size_t count); CIMGUI_API char* igImStrdup(const char* str); CIMGUI_API char* igImStrdupcpy(char* dst, size_t* p_dst_size, const char* str); CIMGUI_API const char* igImStrchrRange(const char* str_begin, const char* str_end, char c); CIMGUI_API const char* igImStreolRange(const char* str, const char* str_end); CIMGUI_API const char* igImStristr(const char* haystack, const char* haystack_end, const char* needle, const char* needle_end); CIMGUI_API void igImStrTrimBlanks(char* str); CIMGUI_API const char* igImStrSkipBlank(const char* str); CIMGUI_API int igImStrlenW(const ImWchar* str); CIMGUI_API const ImWchar* igImStrbolW(const ImWchar* buf_mid_line, const ImWchar* buf_begin); CIMGUI_API char igImToUpper(char c); CIMGUI_API bool igImCharIsBlankA(char c); CIMGUI_API bool igImCharIsBlankW(unsigned int c); CIMGUI_API int igImFormatString(char* buf, size_t buf_size, const char* fmt, ...); CIMGUI_API int igImFormatStringV(char* buf, size_t buf_size, const char* fmt, va_list args); CIMGUI_API void igImFormatStringToTempBuffer(const char** out_buf, const char** out_buf_end, const char* fmt, ...); CIMGUI_API void igImFormatStringToTempBufferV(const char** out_buf, const char** out_buf_end, const char* fmt, va_list args); CIMGUI_API const char* igImParseFormatFindStart(const char* format); CIMGUI_API const char* igImParseFormatFindEnd(const char* format); CIMGUI_API const char* igImParseFormatTrimDecorations(const char* format, char* buf, size_t buf_size); CIMGUI_API void igImParseFormatSanitizeForPrinting(const char* fmt_in, char* fmt_out, size_t fmt_out_size); CIMGUI_API const char* igImParseFormatSanitizeForScanning(const char* fmt_in, char* fmt_out, size_t fmt_out_size); CIMGUI_API int igImParseFormatPrecision(const char* format, int default_value); CIMGUI_API const char* igImTextCharToUtf8(char out_buf[5], unsigned int c); CIMGUI_API int igImTextStrToUtf8(char* out_buf, int out_buf_size, const ImWchar* in_text, const ImWchar* in_text_end); CIMGUI_API int igImTextCharFromUtf8(unsigned int* out_char, const char* in_text, const char* in_text_end); CIMGUI_API int igImTextStrFromUtf8(ImWchar* out_buf, int out_buf_size, const char* in_text, const char* in_text_end, const char** in_remaining); CIMGUI_API int igImTextCountCharsFromUtf8(const char* in_text, const char* in_text_end); CIMGUI_API int igImTextCountUtf8BytesFromChar(const char* in_text, const char* in_text_end); CIMGUI_API int igImTextCountUtf8BytesFromStr(const ImWchar* in_text, const ImWchar* in_text_end); CIMGUI_API const char* igImTextFindPreviousUtf8Codepoint( const char* in_text_start, const char* in_text_curr); CIMGUI_API int igImTextCountLines(const char* in_text, const char* in_text_end); CIMGUI_API ImFileHandle igImFileOpen(const char* filename, const char* mode); CIMGUI_API bool igImFileClose(ImFileHandle file); CIMGUI_API ImU64 igImFileGetSize(ImFileHandle file); CIMGUI_API ImU64 igImFileRead(void* data, ImU64 size, ImU64 count, ImFileHandle file); CIMGUI_API ImU64 igImFileWrite(const void* data, ImU64 size, ImU64 count, ImFileHandle file); CIMGUI_API void* igImFileLoadToMemory(const char* filename, const char* mode, size_t* out_file_size, int padding_bytes); CIMGUI_API float igImPow_Float(float x, float y); CIMGUI_API double igImPow_double(double x, double y); CIMGUI_API float igImLog_Float(float x); CIMGUI_API double igImLog_double(double x); CIMGUI_API int igImAbs_Int(int x); CIMGUI_API float igImAbs_Float(float x); CIMGUI_API double igImAbs_double(double x); CIMGUI_API float igImSign_Float(float x); CIMGUI_API double igImSign_double(double x); CIMGUI_API float igImRsqrt_Float(float x); CIMGUI_API double igImRsqrt_double(double x); CIMGUI_API void igImMin(ImVec2* pOut, const ImVec2 lhs, const ImVec2 rhs); CIMGUI_API void igImMax(ImVec2* pOut, const ImVec2 lhs, const ImVec2 rhs); CIMGUI_API void igImClamp(ImVec2* pOut, const ImVec2 v, const ImVec2 mn, ImVec2 mx); CIMGUI_API void igImLerp_Vec2Float(ImVec2* pOut, const ImVec2 a, const ImVec2 b, float t); CIMGUI_API void igImLerp_Vec2Vec2(ImVec2* pOut, const ImVec2 a, const ImVec2 b, const ImVec2 t); CIMGUI_API void igImLerp_Vec4(ImVec4* pOut, const ImVec4 a, const ImVec4 b, float t); CIMGUI_API float igImSaturate(float f); CIMGUI_API float igImLengthSqr_Vec2(const ImVec2 lhs); CIMGUI_API float igImLengthSqr_Vec4(const ImVec4 lhs); CIMGUI_API float igImInvLength(const ImVec2 lhs, float fail_value); CIMGUI_API float igImTrunc_Float(float f); CIMGUI_API void igImTrunc_Vec2(ImVec2* pOut, const ImVec2 v); CIMGUI_API float igImFloor_Float(float f); CIMGUI_API void igImFloor_Vec2(ImVec2* pOut, const ImVec2 v); CIMGUI_API int igImModPositive(int a, int b); CIMGUI_API float igImDot(const ImVec2 a, const ImVec2 b); CIMGUI_API void igImRotate(ImVec2* pOut, const ImVec2 v, float cos_a, float sin_a); CIMGUI_API float igImLinearSweep(float current, float target, float speed); CIMGUI_API void igImMul(ImVec2* pOut, const ImVec2 lhs, const ImVec2 rhs); CIMGUI_API bool igImIsFloatAboveGuaranteedIntegerPrecision(float f); CIMGUI_API float igImExponentialMovingAverage(float avg, float sample, int n); CIMGUI_API void igImBezierCubicCalc(ImVec2* pOut, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, float t); CIMGUI_API void igImBezierCubicClosestPoint(ImVec2* pOut, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, const ImVec2 p, int num_segments); CIMGUI_API void igImBezierCubicClosestPointCasteljau(ImVec2* pOut, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, const ImVec2 p, float tess_tol); CIMGUI_API void igImBezierQuadraticCalc(ImVec2* pOut, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, float t); CIMGUI_API void igImLineClosestPoint(ImVec2* pOut, const ImVec2 a, const ImVec2 b, const ImVec2 p); CIMGUI_API bool igImTriangleContainsPoint(const ImVec2 a, const ImVec2 b, const ImVec2 c, const ImVec2 p); CIMGUI_API void igImTriangleClosestPoint(ImVec2* pOut, const ImVec2 a, const ImVec2 b, const ImVec2 c, const ImVec2 p); CIMGUI_API void igImTriangleBarycentricCoords(const ImVec2 a, const ImVec2 b, const ImVec2 c, const ImVec2 p, float* out_u, float* out_v, float* out_w); CIMGUI_API float igImTriangleArea(const ImVec2 a, const ImVec2 b, const ImVec2 c); CIMGUI_API bool igImTriangleIsClockwise(const ImVec2 a, const ImVec2 b, const ImVec2 c); CIMGUI_API ImVec1* ImVec1_ImVec1_Nil(void); CIMGUI_API void ImVec1_destroy(ImVec1* self); CIMGUI_API ImVec1* ImVec1_ImVec1_Float(float _x); CIMGUI_API ImVec2ih* ImVec2ih_ImVec2ih_Nil(void); CIMGUI_API void ImVec2ih_destroy(ImVec2ih* self); CIMGUI_API ImVec2ih* ImVec2ih_ImVec2ih_short(short _x, short _y); CIMGUI_API ImVec2ih* ImVec2ih_ImVec2ih_Vec2(const ImVec2 rhs); CIMGUI_API ImRect* ImRect_ImRect_Nil(void); CIMGUI_API void ImRect_destroy(ImRect* self); CIMGUI_API ImRect* ImRect_ImRect_Vec2(const ImVec2 min, const ImVec2 max); CIMGUI_API ImRect* ImRect_ImRect_Vec4(const ImVec4 v); CIMGUI_API ImRect* ImRect_ImRect_Float(float x1, float y1, float x2, float y2); CIMGUI_API void ImRect_GetCenter(ImVec2* pOut, ImRect* self); CIMGUI_API void ImRect_GetSize(ImVec2* pOut, ImRect* self); CIMGUI_API float ImRect_GetWidth(ImRect* self); CIMGUI_API float ImRect_GetHeight(ImRect* self); CIMGUI_API float ImRect_GetArea(ImRect* self); CIMGUI_API void ImRect_GetTL(ImVec2* pOut, ImRect* self); CIMGUI_API void ImRect_GetTR(ImVec2* pOut, ImRect* self); CIMGUI_API void ImRect_GetBL(ImVec2* pOut, ImRect* self); CIMGUI_API void ImRect_GetBR(ImVec2* pOut, ImRect* self); CIMGUI_API bool ImRect_Contains_Vec2(ImRect* self, const ImVec2 p); CIMGUI_API bool ImRect_Contains_Rect(ImRect* self, const ImRect r); CIMGUI_API bool ImRect_ContainsWithPad(ImRect* self, const ImVec2 p, const ImVec2 pad); CIMGUI_API bool ImRect_Overlaps(ImRect* self, const ImRect r); CIMGUI_API void ImRect_Add_Vec2(ImRect* self, const ImVec2 p); CIMGUI_API void ImRect_Add_Rect(ImRect* self, const ImRect r); CIMGUI_API void ImRect_Expand_Float(ImRect* self, const float amount); CIMGUI_API void ImRect_Expand_Vec2(ImRect* self, const ImVec2 amount); CIMGUI_API void ImRect_Translate(ImRect* self, const ImVec2 d); CIMGUI_API void ImRect_TranslateX(ImRect* self, float dx); CIMGUI_API void ImRect_TranslateY(ImRect* self, float dy); CIMGUI_API void ImRect_ClipWith(ImRect* self, const ImRect r); CIMGUI_API void ImRect_ClipWithFull(ImRect* self, const ImRect r); CIMGUI_API void ImRect_Floor(ImRect* self); CIMGUI_API bool ImRect_IsInverted(ImRect* self); CIMGUI_API void ImRect_ToVec4(ImVec4* pOut, ImRect* self); CIMGUI_API size_t igImBitArrayGetStorageSizeInBytes(int bitcount); CIMGUI_API void igImBitArrayClearAllBits(ImU32* arr, int bitcount); CIMGUI_API bool igImBitArrayTestBit(const ImU32* arr, int n); CIMGUI_API void igImBitArrayClearBit(ImU32* arr, int n); CIMGUI_API void igImBitArraySetBit(ImU32* arr, int n); CIMGUI_API void igImBitArraySetBitRange(ImU32* arr, int n, int n2); CIMGUI_API void ImBitVector_Create(ImBitVector* self, int sz); CIMGUI_API void ImBitVector_Clear(ImBitVector* self); CIMGUI_API bool ImBitVector_TestBit(ImBitVector* self, int n); CIMGUI_API void ImBitVector_SetBit(ImBitVector* self, int n); CIMGUI_API void ImBitVector_ClearBit(ImBitVector* self, int n); CIMGUI_API void ImGuiTextIndex_clear(ImGuiTextIndex* self); CIMGUI_API int ImGuiTextIndex_size(ImGuiTextIndex* self); CIMGUI_API const char* ImGuiTextIndex_get_line_begin(ImGuiTextIndex* self, const char* base, int n); CIMGUI_API const char* ImGuiTextIndex_get_line_end(ImGuiTextIndex* self, const char* base, int n); CIMGUI_API void ImGuiTextIndex_append(ImGuiTextIndex* self, const char* base, int old_size, int new_size); CIMGUI_API ImDrawListSharedData* ImDrawListSharedData_ImDrawListSharedData( void); CIMGUI_API void ImDrawListSharedData_destroy(ImDrawListSharedData* self); CIMGUI_API void ImDrawListSharedData_SetCircleTessellationMaxError( ImDrawListSharedData* self, float max_error); CIMGUI_API ImDrawDataBuilder* ImDrawDataBuilder_ImDrawDataBuilder(void); CIMGUI_API void ImDrawDataBuilder_destroy(ImDrawDataBuilder* self); CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Int(ImGuiStyleVar idx, int v); CIMGUI_API void ImGuiStyleMod_destroy(ImGuiStyleMod* self); CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Float(ImGuiStyleVar idx, float v); CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Vec2(ImGuiStyleVar idx, ImVec2 v); CIMGUI_API ImGuiComboPreviewData* ImGuiComboPreviewData_ImGuiComboPreviewData( void); CIMGUI_API void ImGuiComboPreviewData_destroy(ImGuiComboPreviewData* self); CIMGUI_API ImGuiMenuColumns* ImGuiMenuColumns_ImGuiMenuColumns(void); CIMGUI_API void ImGuiMenuColumns_destroy(ImGuiMenuColumns* self); CIMGUI_API void ImGuiMenuColumns_Update(ImGuiMenuColumns* self, float spacing, bool window_reappearing); CIMGUI_API float ImGuiMenuColumns_DeclColumns(ImGuiMenuColumns* self, float w_icon, float w_label, float w_shortcut, float w_mark); CIMGUI_API void ImGuiMenuColumns_CalcNextTotalWidth(ImGuiMenuColumns* self, bool update_offsets); CIMGUI_API ImGuiInputTextDeactivatedState* ImGuiInputTextDeactivatedState_ImGuiInputTextDeactivatedState(void); CIMGUI_API void ImGuiInputTextDeactivatedState_destroy( ImGuiInputTextDeactivatedState* self); CIMGUI_API void ImGuiInputTextDeactivatedState_ClearFreeMemory( ImGuiInputTextDeactivatedState* self); CIMGUI_API ImGuiInputTextState* ImGuiInputTextState_ImGuiInputTextState(void); CIMGUI_API void ImGuiInputTextState_destroy(ImGuiInputTextState* self); CIMGUI_API void ImGuiInputTextState_ClearText(ImGuiInputTextState* self); CIMGUI_API void ImGuiInputTextState_ClearFreeMemory(ImGuiInputTextState* self); CIMGUI_API int ImGuiInputTextState_GetUndoAvailCount(ImGuiInputTextState* self); CIMGUI_API int ImGuiInputTextState_GetRedoAvailCount(ImGuiInputTextState* self); CIMGUI_API void ImGuiInputTextState_OnKeyPressed(ImGuiInputTextState* self, int key); CIMGUI_API void ImGuiInputTextState_CursorAnimReset(ImGuiInputTextState* self); CIMGUI_API void ImGuiInputTextState_CursorClamp(ImGuiInputTextState* self); CIMGUI_API bool ImGuiInputTextState_HasSelection(ImGuiInputTextState* self); CIMGUI_API void ImGuiInputTextState_ClearSelection(ImGuiInputTextState* self); CIMGUI_API int ImGuiInputTextState_GetCursorPos(ImGuiInputTextState* self); CIMGUI_API int ImGuiInputTextState_GetSelectionStart(ImGuiInputTextState* self); CIMGUI_API int ImGuiInputTextState_GetSelectionEnd(ImGuiInputTextState* self); CIMGUI_API void ImGuiInputTextState_SelectAll(ImGuiInputTextState* self); CIMGUI_API void ImGuiInputTextState_ReloadUserBufAndSelectAll( ImGuiInputTextState* self); CIMGUI_API void ImGuiInputTextState_ReloadUserBufAndKeepSelection( ImGuiInputTextState* self); CIMGUI_API void ImGuiInputTextState_ReloadUserBufAndMoveToEnd( ImGuiInputTextState* self); CIMGUI_API ImGuiNextWindowData* ImGuiNextWindowData_ImGuiNextWindowData(void); CIMGUI_API void ImGuiNextWindowData_destroy(ImGuiNextWindowData* self); CIMGUI_API void ImGuiNextWindowData_ClearFlags(ImGuiNextWindowData* self); CIMGUI_API ImGuiNextItemData* ImGuiNextItemData_ImGuiNextItemData(void); CIMGUI_API void ImGuiNextItemData_destroy(ImGuiNextItemData* self); CIMGUI_API void ImGuiNextItemData_ClearFlags(ImGuiNextItemData* self); CIMGUI_API ImGuiLastItemData* ImGuiLastItemData_ImGuiLastItemData(void); CIMGUI_API void ImGuiLastItemData_destroy(ImGuiLastItemData* self); CIMGUI_API ImGuiStackSizes* ImGuiStackSizes_ImGuiStackSizes(void); CIMGUI_API void ImGuiStackSizes_destroy(ImGuiStackSizes* self); CIMGUI_API void ImGuiStackSizes_SetToContextState(ImGuiStackSizes* self, ImGuiContext* ctx); CIMGUI_API void ImGuiStackSizes_CompareWithContextState(ImGuiStackSizes* self, ImGuiContext* ctx); CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr); CIMGUI_API void ImGuiPtrOrIndex_destroy(ImGuiPtrOrIndex* self); CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int(int index); CIMGUI_API void* ImGuiDataVarInfo_GetVarPtr(ImGuiDataVarInfo* self, void* parent); CIMGUI_API ImGuiPopupData* ImGuiPopupData_ImGuiPopupData(void); CIMGUI_API void ImGuiPopupData_destroy(ImGuiPopupData* self); CIMGUI_API ImGuiInputEvent* ImGuiInputEvent_ImGuiInputEvent(void); CIMGUI_API void ImGuiInputEvent_destroy(ImGuiInputEvent* self); CIMGUI_API ImGuiKeyRoutingData* ImGuiKeyRoutingData_ImGuiKeyRoutingData(void); CIMGUI_API void ImGuiKeyRoutingData_destroy(ImGuiKeyRoutingData* self); CIMGUI_API ImGuiKeyRoutingTable* ImGuiKeyRoutingTable_ImGuiKeyRoutingTable( void); CIMGUI_API void ImGuiKeyRoutingTable_destroy(ImGuiKeyRoutingTable* self); CIMGUI_API void ImGuiKeyRoutingTable_Clear(ImGuiKeyRoutingTable* self); CIMGUI_API ImGuiKeyOwnerData* ImGuiKeyOwnerData_ImGuiKeyOwnerData(void); CIMGUI_API void ImGuiKeyOwnerData_destroy(ImGuiKeyOwnerData* self); CIMGUI_API ImGuiListClipperRange ImGuiListClipperRange_FromIndices(int min, int max); CIMGUI_API ImGuiListClipperRange ImGuiListClipperRange_FromPositions(float y1, float y2, int off_min, int off_max); CIMGUI_API ImGuiListClipperData* ImGuiListClipperData_ImGuiListClipperData( void); CIMGUI_API void ImGuiListClipperData_destroy(ImGuiListClipperData* self); CIMGUI_API void ImGuiListClipperData_Reset(ImGuiListClipperData* self, ImGuiListClipper* clipper); CIMGUI_API ImGuiNavItemData* ImGuiNavItemData_ImGuiNavItemData(void); CIMGUI_API void ImGuiNavItemData_destroy(ImGuiNavItemData* self); CIMGUI_API void ImGuiNavItemData_Clear(ImGuiNavItemData* self); CIMGUI_API ImGuiTypingSelectState* ImGuiTypingSelectState_ImGuiTypingSelectState(void); CIMGUI_API void ImGuiTypingSelectState_destroy(ImGuiTypingSelectState* self); CIMGUI_API void ImGuiTypingSelectState_Clear(ImGuiTypingSelectState* self); CIMGUI_API ImGuiOldColumnData* ImGuiOldColumnData_ImGuiOldColumnData(void); CIMGUI_API void ImGuiOldColumnData_destroy(ImGuiOldColumnData* self); CIMGUI_API ImGuiOldColumns* ImGuiOldColumns_ImGuiOldColumns(void); CIMGUI_API void ImGuiOldColumns_destroy(ImGuiOldColumns* self); CIMGUI_API ImGuiDockNode* ImGuiDockNode_ImGuiDockNode(ImGuiID id); CIMGUI_API void ImGuiDockNode_destroy(ImGuiDockNode* self); CIMGUI_API bool ImGuiDockNode_IsRootNode(ImGuiDockNode* self); CIMGUI_API bool ImGuiDockNode_IsDockSpace(ImGuiDockNode* self); CIMGUI_API bool ImGuiDockNode_IsFloatingNode(ImGuiDockNode* self); CIMGUI_API bool ImGuiDockNode_IsCentralNode(ImGuiDockNode* self); CIMGUI_API bool ImGuiDockNode_IsHiddenTabBar(ImGuiDockNode* self); CIMGUI_API bool ImGuiDockNode_IsNoTabBar(ImGuiDockNode* self); CIMGUI_API bool ImGuiDockNode_IsSplitNode(ImGuiDockNode* self); CIMGUI_API bool ImGuiDockNode_IsLeafNode(ImGuiDockNode* self); CIMGUI_API bool ImGuiDockNode_IsEmpty(ImGuiDockNode* self); CIMGUI_API void ImGuiDockNode_Rect(ImRect* pOut, ImGuiDockNode* self); CIMGUI_API void ImGuiDockNode_SetLocalFlags(ImGuiDockNode* self, ImGuiDockNodeFlags flags); CIMGUI_API void ImGuiDockNode_UpdateMergedFlags(ImGuiDockNode* self); CIMGUI_API ImGuiDockContext* ImGuiDockContext_ImGuiDockContext(void); CIMGUI_API void ImGuiDockContext_destroy(ImGuiDockContext* self); CIMGUI_API ImGuiViewportP* ImGuiViewportP_ImGuiViewportP(void); CIMGUI_API void ImGuiViewportP_destroy(ImGuiViewportP* self); CIMGUI_API void ImGuiViewportP_ClearRequestFlags(ImGuiViewportP* self); CIMGUI_API void ImGuiViewportP_CalcWorkRectPos(ImVec2* pOut, ImGuiViewportP* self, const ImVec2 off_min); CIMGUI_API void ImGuiViewportP_CalcWorkRectSize(ImVec2* pOut, ImGuiViewportP* self, const ImVec2 off_min, const ImVec2 off_max); CIMGUI_API void ImGuiViewportP_UpdateWorkRect(ImGuiViewportP* self); CIMGUI_API void ImGuiViewportP_GetMainRect(ImRect* pOut, ImGuiViewportP* self); CIMGUI_API void ImGuiViewportP_GetWorkRect(ImRect* pOut, ImGuiViewportP* self); CIMGUI_API void ImGuiViewportP_GetBuildWorkRect(ImRect* pOut, ImGuiViewportP* self); CIMGUI_API ImGuiWindowSettings* ImGuiWindowSettings_ImGuiWindowSettings(void); CIMGUI_API void ImGuiWindowSettings_destroy(ImGuiWindowSettings* self); CIMGUI_API char* ImGuiWindowSettings_GetName(ImGuiWindowSettings* self); CIMGUI_API ImGuiSettingsHandler* ImGuiSettingsHandler_ImGuiSettingsHandler( void); CIMGUI_API void ImGuiSettingsHandler_destroy(ImGuiSettingsHandler* self); CIMGUI_API ImGuiDebugAllocInfo* ImGuiDebugAllocInfo_ImGuiDebugAllocInfo(void); CIMGUI_API void ImGuiDebugAllocInfo_destroy(ImGuiDebugAllocInfo* self); CIMGUI_API ImGuiStackLevelInfo* ImGuiStackLevelInfo_ImGuiStackLevelInfo(void); CIMGUI_API void ImGuiStackLevelInfo_destroy(ImGuiStackLevelInfo* self); CIMGUI_API ImGuiIDStackTool* ImGuiIDStackTool_ImGuiIDStackTool(void); CIMGUI_API void ImGuiIDStackTool_destroy(ImGuiIDStackTool* self); CIMGUI_API ImGuiContextHook* ImGuiContextHook_ImGuiContextHook(void); CIMGUI_API void ImGuiContextHook_destroy(ImGuiContextHook* self); CIMGUI_API ImGuiContext* ImGuiContext_ImGuiContext( ImFontAtlas* shared_font_atlas); CIMGUI_API void ImGuiContext_destroy(ImGuiContext* self); CIMGUI_API ImGuiWindow* ImGuiWindow_ImGuiWindow(ImGuiContext* context, const char* name); CIMGUI_API void ImGuiWindow_destroy(ImGuiWindow* self); CIMGUI_API ImGuiID ImGuiWindow_GetID_Str(ImGuiWindow* self, const char* str, const char* str_end); CIMGUI_API ImGuiID ImGuiWindow_GetID_Ptr(ImGuiWindow* self, const void* ptr); CIMGUI_API ImGuiID ImGuiWindow_GetID_Int(ImGuiWindow* self, int n); CIMGUI_API ImGuiID ImGuiWindow_GetIDFromRectangle(ImGuiWindow* self, const ImRect r_abs); CIMGUI_API void ImGuiWindow_Rect(ImRect* pOut, ImGuiWindow* self); CIMGUI_API float ImGuiWindow_CalcFontSize(ImGuiWindow* self); CIMGUI_API float ImGuiWindow_TitleBarHeight(ImGuiWindow* self); CIMGUI_API void ImGuiWindow_TitleBarRect(ImRect* pOut, ImGuiWindow* self); CIMGUI_API float ImGuiWindow_MenuBarHeight(ImGuiWindow* self); CIMGUI_API void ImGuiWindow_MenuBarRect(ImRect* pOut, ImGuiWindow* self); CIMGUI_API ImGuiTabItem* ImGuiTabItem_ImGuiTabItem(void); CIMGUI_API void ImGuiTabItem_destroy(ImGuiTabItem* self); CIMGUI_API ImGuiTabBar* ImGuiTabBar_ImGuiTabBar(void); CIMGUI_API void ImGuiTabBar_destroy(ImGuiTabBar* self); CIMGUI_API ImGuiTableColumn* ImGuiTableColumn_ImGuiTableColumn(void); CIMGUI_API void ImGuiTableColumn_destroy(ImGuiTableColumn* self); CIMGUI_API ImGuiTableInstanceData* ImGuiTableInstanceData_ImGuiTableInstanceData(void); CIMGUI_API void ImGuiTableInstanceData_destroy(ImGuiTableInstanceData* self); CIMGUI_API ImGuiTable* ImGuiTable_ImGuiTable(void); CIMGUI_API void ImGuiTable_destroy(ImGuiTable* self); CIMGUI_API ImGuiTableTempData* ImGuiTableTempData_ImGuiTableTempData(void); CIMGUI_API void ImGuiTableTempData_destroy(ImGuiTableTempData* self); CIMGUI_API ImGuiTableColumnSettings* ImGuiTableColumnSettings_ImGuiTableColumnSettings(void); CIMGUI_API void ImGuiTableColumnSettings_destroy( ImGuiTableColumnSettings* self); CIMGUI_API ImGuiTableSettings* ImGuiTableSettings_ImGuiTableSettings(void); CIMGUI_API void ImGuiTableSettings_destroy(ImGuiTableSettings* self); CIMGUI_API ImGuiTableColumnSettings* ImGuiTableSettings_GetColumnSettings( ImGuiTableSettings* self); CIMGUI_API ImGuiWindow* igGetCurrentWindowRead(void); CIMGUI_API ImGuiWindow* igGetCurrentWindow(void); CIMGUI_API ImGuiWindow* igFindWindowByID(ImGuiID id); CIMGUI_API ImGuiWindow* igFindWindowByName(const char* name); CIMGUI_API void igUpdateWindowParentAndRootLinks(ImGuiWindow* window, ImGuiWindowFlags flags, ImGuiWindow* parent_window); CIMGUI_API void igUpdateWindowSkipRefresh(ImGuiWindow* window); CIMGUI_API void igCalcWindowNextAutoFitSize(ImVec2* pOut, ImGuiWindow* window); CIMGUI_API bool igIsWindowChildOf(ImGuiWindow* window, ImGuiWindow* potential_parent, bool popup_hierarchy, bool dock_hierarchy); CIMGUI_API bool igIsWindowWithinBeginStackOf(ImGuiWindow* window, ImGuiWindow* potential_parent); CIMGUI_API bool igIsWindowAbove(ImGuiWindow* potential_above, ImGuiWindow* potential_below); CIMGUI_API bool igIsWindowNavFocusable(ImGuiWindow* window); CIMGUI_API void igSetWindowPos_WindowPtr(ImGuiWindow* window, const ImVec2 pos, ImGuiCond cond); CIMGUI_API void igSetWindowSize_WindowPtr(ImGuiWindow* window, const ImVec2 size, ImGuiCond cond); CIMGUI_API void igSetWindowCollapsed_WindowPtr(ImGuiWindow* window, bool collapsed, ImGuiCond cond); CIMGUI_API void igSetWindowHitTestHole(ImGuiWindow* window, const ImVec2 pos, const ImVec2 size); CIMGUI_API void igSetWindowHiddenAndSkipItemsForCurrentFrame( ImGuiWindow* window); CIMGUI_API void igSetWindowParentWindowForFocusRoute( ImGuiWindow* window, ImGuiWindow* parent_window); CIMGUI_API void igWindowRectAbsToRel(ImRect* pOut, ImGuiWindow* window, const ImRect r); CIMGUI_API void igWindowRectRelToAbs(ImRect* pOut, ImGuiWindow* window, const ImRect r); CIMGUI_API void igWindowPosRelToAbs(ImVec2* pOut, ImGuiWindow* window, const ImVec2 p); CIMGUI_API void igFocusWindow(ImGuiWindow* window, ImGuiFocusRequestFlags flags); CIMGUI_API void igFocusTopMostWindowUnderOne(ImGuiWindow* under_this_window, ImGuiWindow* ignore_window, ImGuiViewport* filter_viewport, ImGuiFocusRequestFlags flags); CIMGUI_API void igBringWindowToFocusFront(ImGuiWindow* window); CIMGUI_API void igBringWindowToDisplayFront(ImGuiWindow* window); CIMGUI_API void igBringWindowToDisplayBack(ImGuiWindow* window); CIMGUI_API void igBringWindowToDisplayBehind(ImGuiWindow* window, ImGuiWindow* above_window); CIMGUI_API int igFindWindowDisplayIndex(ImGuiWindow* window); CIMGUI_API ImGuiWindow* igFindBottomMostVisibleWindowWithinBeginStack( ImGuiWindow* window); CIMGUI_API void igSetNextWindowRefreshPolicy(ImGuiWindowRefreshFlags flags); CIMGUI_API void igSetCurrentFont(ImFont* font); CIMGUI_API ImFont* igGetDefaultFont(void); CIMGUI_API ImDrawList* igGetForegroundDrawList_WindowPtr(ImGuiWindow* window); CIMGUI_API void igAddDrawListToDrawDataEx(ImDrawData* draw_data, ImVector_ImDrawListPtr* out_list, ImDrawList* draw_list); CIMGUI_API void igInitialize(void); CIMGUI_API void igShutdown(void); CIMGUI_API void igUpdateInputEvents(bool trickle_fast_inputs); CIMGUI_API void igUpdateHoveredWindowAndCaptureFlags(void); CIMGUI_API void igStartMouseMovingWindow(ImGuiWindow* window); CIMGUI_API void igStartMouseMovingWindowOrNode(ImGuiWindow* window, ImGuiDockNode* node, bool undock); CIMGUI_API void igUpdateMouseMovingWindowNewFrame(void); CIMGUI_API void igUpdateMouseMovingWindowEndFrame(void); CIMGUI_API ImGuiID igAddContextHook(ImGuiContext* context, const ImGuiContextHook* hook); CIMGUI_API void igRemoveContextHook(ImGuiContext* context, ImGuiID hook_to_remove); CIMGUI_API void igCallContextHooks(ImGuiContext* context, ImGuiContextHookType type); CIMGUI_API void igTranslateWindowsInViewport(ImGuiViewportP* viewport, const ImVec2 old_pos, const ImVec2 new_pos); CIMGUI_API void igScaleWindowsInViewport(ImGuiViewportP* viewport, float scale); CIMGUI_API void igDestroyPlatformWindow(ImGuiViewportP* viewport); CIMGUI_API void igSetWindowViewport(ImGuiWindow* window, ImGuiViewportP* viewport); CIMGUI_API void igSetCurrentViewport(ImGuiWindow* window, ImGuiViewportP* viewport); CIMGUI_API const ImGuiPlatformMonitor* igGetViewportPlatformMonitor( ImGuiViewport* viewport); CIMGUI_API ImGuiViewportP* igFindHoveredViewportFromPlatformWindowStack( const ImVec2 mouse_platform_pos); CIMGUI_API void igMarkIniSettingsDirty_Nil(void); CIMGUI_API void igMarkIniSettingsDirty_WindowPtr(ImGuiWindow* window); CIMGUI_API void igClearIniSettings(void); CIMGUI_API void igAddSettingsHandler(const ImGuiSettingsHandler* handler); CIMGUI_API void igRemoveSettingsHandler(const char* type_name); CIMGUI_API ImGuiSettingsHandler* igFindSettingsHandler(const char* type_name); CIMGUI_API ImGuiWindowSettings* igCreateNewWindowSettings(const char* name); CIMGUI_API ImGuiWindowSettings* igFindWindowSettingsByID(ImGuiID id); CIMGUI_API ImGuiWindowSettings* igFindWindowSettingsByWindow( ImGuiWindow* window); CIMGUI_API void igClearWindowSettings(const char* name); CIMGUI_API void igLocalizeRegisterEntries(const ImGuiLocEntry* entries, int count); CIMGUI_API const char* igLocalizeGetMsg(ImGuiLocKey key); CIMGUI_API void igSetScrollX_WindowPtr(ImGuiWindow* window, float scroll_x); CIMGUI_API void igSetScrollY_WindowPtr(ImGuiWindow* window, float scroll_y); CIMGUI_API void igSetScrollFromPosX_WindowPtr(ImGuiWindow* window, float local_x, float center_x_ratio); CIMGUI_API void igSetScrollFromPosY_WindowPtr(ImGuiWindow* window, float local_y, float center_y_ratio); CIMGUI_API void igScrollToItem(ImGuiScrollFlags flags); CIMGUI_API void igScrollToRect(ImGuiWindow* window, const ImRect rect, ImGuiScrollFlags flags); CIMGUI_API void igScrollToRectEx(ImVec2* pOut, ImGuiWindow* window, const ImRect rect, ImGuiScrollFlags flags); CIMGUI_API void igScrollToBringRectIntoView(ImGuiWindow* window, const ImRect rect); CIMGUI_API ImGuiItemStatusFlags igGetItemStatusFlags(void); CIMGUI_API ImGuiItemFlags igGetItemFlags(void); CIMGUI_API ImGuiID igGetActiveID(void); CIMGUI_API ImGuiID igGetFocusID(void); CIMGUI_API void igSetActiveID(ImGuiID id, ImGuiWindow* window); CIMGUI_API void igSetFocusID(ImGuiID id, ImGuiWindow* window); CIMGUI_API void igClearActiveID(void); CIMGUI_API ImGuiID igGetHoveredID(void); CIMGUI_API void igSetHoveredID(ImGuiID id); CIMGUI_API void igKeepAliveID(ImGuiID id); CIMGUI_API void igMarkItemEdited(ImGuiID id); CIMGUI_API void igPushOverrideID(ImGuiID id); CIMGUI_API ImGuiID igGetIDWithSeed_Str(const char* str_id_begin, const char* str_id_end, ImGuiID seed); CIMGUI_API ImGuiID igGetIDWithSeed_Int(int n, ImGuiID seed); CIMGUI_API void igItemSize_Vec2(const ImVec2 size, float text_baseline_y); CIMGUI_API void igItemSize_Rect(const ImRect bb, float text_baseline_y); CIMGUI_API bool igItemAdd(const ImRect bb, ImGuiID id, const ImRect* nav_bb, ImGuiItemFlags extra_flags); CIMGUI_API bool igItemHoverable(const ImRect bb, ImGuiID id, ImGuiItemFlags item_flags); CIMGUI_API bool igIsWindowContentHoverable(ImGuiWindow* window, ImGuiHoveredFlags flags); CIMGUI_API bool igIsClippedEx(const ImRect bb, ImGuiID id); CIMGUI_API void igSetLastItemData(ImGuiID item_id, ImGuiItemFlags in_flags, ImGuiItemStatusFlags status_flags, const ImRect item_rect); CIMGUI_API void igCalcItemSize(ImVec2* pOut, ImVec2 size, float default_w, float default_h); CIMGUI_API float igCalcWrapWidthForPos(const ImVec2 pos, float wrap_pos_x); CIMGUI_API void igPushMultiItemsWidths(int components, float width_full); CIMGUI_API bool igIsItemToggledSelection(void); CIMGUI_API void igGetContentRegionMaxAbs(ImVec2* pOut); CIMGUI_API void igShrinkWidths(ImGuiShrinkWidthItem* items, int count, float width_excess); CIMGUI_API void igPushItemFlag(ImGuiItemFlags option, bool enabled); CIMGUI_API void igPopItemFlag(void); CIMGUI_API const ImGuiDataVarInfo* igGetStyleVarInfo(ImGuiStyleVar idx); CIMGUI_API void igLogBegin(ImGuiLogType type, int auto_open_depth); CIMGUI_API void igLogToBuffer(int auto_open_depth); CIMGUI_API void igLogRenderedText(const ImVec2* ref_pos, const char* text, const char* text_end); CIMGUI_API void igLogSetNextTextDecoration(const char* prefix, const char* suffix); CIMGUI_API bool igBeginChildEx(const char* name, ImGuiID id, const ImVec2 size_arg, ImGuiChildFlags child_flags, ImGuiWindowFlags window_flags); CIMGUI_API void igOpenPopupEx(ImGuiID id, ImGuiPopupFlags popup_flags); CIMGUI_API void igClosePopupToLevel(int remaining, bool restore_focus_to_window_under_popup); CIMGUI_API void igClosePopupsOverWindow( ImGuiWindow* ref_window, bool restore_focus_to_window_under_popup); CIMGUI_API void igClosePopupsExceptModals(void); CIMGUI_API bool igIsPopupOpen_ID(ImGuiID id, ImGuiPopupFlags popup_flags); CIMGUI_API bool igBeginPopupEx(ImGuiID id, ImGuiWindowFlags extra_flags); CIMGUI_API bool igBeginTooltipEx(ImGuiTooltipFlags tooltip_flags, ImGuiWindowFlags extra_window_flags); CIMGUI_API bool igBeginTooltipHidden(void); CIMGUI_API void igGetPopupAllowedExtentRect(ImRect* pOut, ImGuiWindow* window); CIMGUI_API ImGuiWindow* igGetTopMostPopupModal(void); CIMGUI_API ImGuiWindow* igGetTopMostAndVisiblePopupModal(void); CIMGUI_API ImGuiWindow* igFindBlockingModal(ImGuiWindow* window); CIMGUI_API void igFindBestWindowPosForPopup(ImVec2* pOut, ImGuiWindow* window); CIMGUI_API void igFindBestWindowPosForPopupEx(ImVec2* pOut, const ImVec2 ref_pos, const ImVec2 size, ImGuiDir* last_dir, const ImRect r_outer, const ImRect r_avoid, ImGuiPopupPositionPolicy policy); CIMGUI_API bool igBeginViewportSideBar(const char* name, ImGuiViewport* viewport, ImGuiDir dir, float size, ImGuiWindowFlags window_flags); CIMGUI_API bool igBeginMenuEx(const char* label, const char* icon, bool enabled); CIMGUI_API bool igMenuItemEx(const char* label, const char* icon, const char* shortcut, bool selected, bool enabled); CIMGUI_API bool igBeginComboPopup(ImGuiID popup_id, const ImRect bb, ImGuiComboFlags flags); CIMGUI_API bool igBeginComboPreview(void); CIMGUI_API void igEndComboPreview(void); CIMGUI_API void igNavInitWindow(ImGuiWindow* window, bool force_reinit); CIMGUI_API void igNavInitRequestApplyResult(void); CIMGUI_API bool igNavMoveRequestButNoResultYet(void); CIMGUI_API void igNavMoveRequestSubmit(ImGuiDir move_dir, ImGuiDir clip_dir, ImGuiNavMoveFlags move_flags, ImGuiScrollFlags scroll_flags); CIMGUI_API void igNavMoveRequestForward(ImGuiDir move_dir, ImGuiDir clip_dir, ImGuiNavMoveFlags move_flags, ImGuiScrollFlags scroll_flags); CIMGUI_API void igNavMoveRequestResolveWithLastItem(ImGuiNavItemData* result); CIMGUI_API void igNavMoveRequestResolveWithPastTreeNode( ImGuiNavItemData* result, ImGuiNavTreeNodeData* tree_node_data); CIMGUI_API void igNavMoveRequestCancel(void); CIMGUI_API void igNavMoveRequestApplyResult(void); CIMGUI_API void igNavMoveRequestTryWrapping(ImGuiWindow* window, ImGuiNavMoveFlags move_flags); CIMGUI_API void igNavHighlightActivated(ImGuiID id); CIMGUI_API void igNavClearPreferredPosForAxis(ImGuiAxis axis); CIMGUI_API void igNavRestoreHighlightAfterMove(void); CIMGUI_API void igNavUpdateCurrentWindowIsScrollPushableX(void); CIMGUI_API void igSetNavWindow(ImGuiWindow* window); CIMGUI_API void igSetNavID(ImGuiID id, ImGuiNavLayer nav_layer, ImGuiID focus_scope_id, const ImRect rect_rel); CIMGUI_API void igSetNavFocusScope(ImGuiID focus_scope_id); CIMGUI_API void igFocusItem(void); CIMGUI_API void igActivateItemByID(ImGuiID id); CIMGUI_API bool igIsNamedKey(ImGuiKey key); CIMGUI_API bool igIsNamedKeyOrModKey(ImGuiKey key); CIMGUI_API bool igIsLegacyKey(ImGuiKey key); CIMGUI_API bool igIsKeyboardKey(ImGuiKey key); CIMGUI_API bool igIsGamepadKey(ImGuiKey key); CIMGUI_API bool igIsMouseKey(ImGuiKey key); CIMGUI_API bool igIsAliasKey(ImGuiKey key); CIMGUI_API bool igIsModKey(ImGuiKey key); CIMGUI_API ImGuiKeyChord igFixupKeyChord(ImGuiContext* ctx, ImGuiKeyChord key_chord); CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiContext* ctx, ImGuiKey key); CIMGUI_API ImGuiKeyData* igGetKeyData_ContextPtr(ImGuiContext* ctx, ImGuiKey key); CIMGUI_API ImGuiKeyData* igGetKeyData_Key(ImGuiKey key); CIMGUI_API const char* igGetKeyChordName(ImGuiKeyChord key_chord); CIMGUI_API ImGuiKey igMouseButtonToKey(ImGuiMouseButton button); CIMGUI_API bool igIsMouseDragPastThreshold(ImGuiMouseButton button, float lock_threshold); CIMGUI_API void igGetKeyMagnitude2d(ImVec2* pOut, ImGuiKey key_left, ImGuiKey key_right, ImGuiKey key_up, ImGuiKey key_down); CIMGUI_API float igGetNavTweakPressedAmount(ImGuiAxis axis); CIMGUI_API int igCalcTypematicRepeatAmount(float t0, float t1, float repeat_delay, float repeat_rate); CIMGUI_API void igGetTypematicRepeatRate(ImGuiInputFlags flags, float* repeat_delay, float* repeat_rate); CIMGUI_API void igTeleportMousePos(const ImVec2 pos); CIMGUI_API void igSetActiveIdUsingAllKeyboardKeys(void); CIMGUI_API bool igIsActiveIdUsingNavDir(ImGuiDir dir); CIMGUI_API ImGuiID igGetKeyOwner(ImGuiKey key); CIMGUI_API void igSetKeyOwner(ImGuiKey key, ImGuiID owner_id, ImGuiInputFlags flags); CIMGUI_API void igSetKeyOwnersForKeyChord(ImGuiKeyChord key, ImGuiID owner_id, ImGuiInputFlags flags); CIMGUI_API void igSetItemKeyOwner(ImGuiKey key, ImGuiInputFlags flags); CIMGUI_API bool igTestKeyOwner(ImGuiKey key, ImGuiID owner_id); CIMGUI_API ImGuiKeyOwnerData* igGetKeyOwnerData(ImGuiContext* ctx, ImGuiKey key); CIMGUI_API bool igIsKeyDown_ID(ImGuiKey key, ImGuiID owner_id); CIMGUI_API bool igIsKeyPressed_ID(ImGuiKey key, ImGuiID owner_id, ImGuiInputFlags flags); CIMGUI_API bool igIsKeyReleased_ID(ImGuiKey key, ImGuiID owner_id); CIMGUI_API bool igIsMouseDown_ID(ImGuiMouseButton button, ImGuiID owner_id); CIMGUI_API bool igIsMouseClicked_ID(ImGuiMouseButton button, ImGuiID owner_id, ImGuiInputFlags flags); CIMGUI_API bool igIsMouseReleased_ID(ImGuiMouseButton button, ImGuiID owner_id); CIMGUI_API bool igIsMouseDoubleClicked_ID(ImGuiMouseButton button, ImGuiID owner_id); CIMGUI_API bool igIsKeyChordPressed_ID(ImGuiKeyChord key_chord, ImGuiID owner_id, ImGuiInputFlags flags); CIMGUI_API void igSetNextItemShortcut(ImGuiKeyChord key_chord); CIMGUI_API bool igShortcut(ImGuiKeyChord key_chord, ImGuiID owner_id, ImGuiInputFlags flags); CIMGUI_API bool igSetShortcutRouting(ImGuiKeyChord key_chord, ImGuiID owner_id, ImGuiInputFlags flags); CIMGUI_API bool igTestShortcutRouting(ImGuiKeyChord key_chord, ImGuiID owner_id); CIMGUI_API ImGuiKeyRoutingData* igGetShortcutRoutingData( ImGuiKeyChord key_chord); CIMGUI_API void igDockContextInitialize(ImGuiContext* ctx); CIMGUI_API void igDockContextShutdown(ImGuiContext* ctx); CIMGUI_API void igDockContextClearNodes(ImGuiContext* ctx, ImGuiID root_id, bool clear_settings_refs); CIMGUI_API void igDockContextRebuildNodes(ImGuiContext* ctx); CIMGUI_API void igDockContextNewFrameUpdateUndocking(ImGuiContext* ctx); CIMGUI_API void igDockContextNewFrameUpdateDocking(ImGuiContext* ctx); CIMGUI_API void igDockContextEndFrame(ImGuiContext* ctx); CIMGUI_API ImGuiID igDockContextGenNodeID(ImGuiContext* ctx); CIMGUI_API void igDockContextQueueDock(ImGuiContext* ctx, ImGuiWindow* target, ImGuiDockNode* target_node, ImGuiWindow* payload, ImGuiDir split_dir, float split_ratio, bool split_outer); CIMGUI_API void igDockContextQueueUndockWindow(ImGuiContext* ctx, ImGuiWindow* window); CIMGUI_API void igDockContextQueueUndockNode(ImGuiContext* ctx, ImGuiDockNode* node); CIMGUI_API void igDockContextProcessUndockWindow( ImGuiContext* ctx, ImGuiWindow* window, bool clear_persistent_docking_ref); CIMGUI_API void igDockContextProcessUndockNode(ImGuiContext* ctx, ImGuiDockNode* node); CIMGUI_API bool igDockContextCalcDropPosForDocking(ImGuiWindow* target, ImGuiDockNode* target_node, ImGuiWindow* payload_window, ImGuiDockNode* payload_node, ImGuiDir split_dir, bool split_outer, ImVec2* out_pos); CIMGUI_API ImGuiDockNode* igDockContextFindNodeByID(ImGuiContext* ctx, ImGuiID id); CIMGUI_API void igDockNodeWindowMenuHandler_Default(ImGuiContext* ctx, ImGuiDockNode* node, ImGuiTabBar* tab_bar); CIMGUI_API bool igDockNodeBeginAmendTabBar(ImGuiDockNode* node); CIMGUI_API void igDockNodeEndAmendTabBar(void); CIMGUI_API ImGuiDockNode* igDockNodeGetRootNode(ImGuiDockNode* node); CIMGUI_API bool igDockNodeIsInHierarchyOf(ImGuiDockNode* node, ImGuiDockNode* parent); CIMGUI_API int igDockNodeGetDepth(const ImGuiDockNode* node); CIMGUI_API ImGuiID igDockNodeGetWindowMenuButtonId(const ImGuiDockNode* node); CIMGUI_API ImGuiDockNode* igGetWindowDockNode(void); CIMGUI_API bool igGetWindowAlwaysWantOwnTabBar(ImGuiWindow* window); CIMGUI_API void igBeginDocked(ImGuiWindow* window, bool* p_open); CIMGUI_API void igBeginDockableDragDropSource(ImGuiWindow* window); CIMGUI_API void igBeginDockableDragDropTarget(ImGuiWindow* window); CIMGUI_API void igSetWindowDock(ImGuiWindow* window, ImGuiID dock_id, ImGuiCond cond); CIMGUI_API void igDockBuilderDockWindow(const char* window_name, ImGuiID node_id); CIMGUI_API ImGuiDockNode* igDockBuilderGetNode(ImGuiID node_id); CIMGUI_API ImGuiDockNode* igDockBuilderGetCentralNode(ImGuiID node_id); CIMGUI_API ImGuiID igDockBuilderAddNode(ImGuiID node_id, ImGuiDockNodeFlags flags); CIMGUI_API void igDockBuilderRemoveNode(ImGuiID node_id); CIMGUI_API void igDockBuilderRemoveNodeDockedWindows(ImGuiID node_id, bool clear_settings_refs); CIMGUI_API void igDockBuilderRemoveNodeChildNodes(ImGuiID node_id); CIMGUI_API void igDockBuilderSetNodePos(ImGuiID node_id, ImVec2 pos); CIMGUI_API void igDockBuilderSetNodeSize(ImGuiID node_id, ImVec2 size); CIMGUI_API ImGuiID igDockBuilderSplitNode(ImGuiID node_id, ImGuiDir split_dir, float size_ratio_for_node_at_dir, ImGuiID* out_id_at_dir, ImGuiID* out_id_at_opposite_dir); CIMGUI_API void igDockBuilderCopyDockSpace( ImGuiID src_dockspace_id, ImGuiID dst_dockspace_id, ImVector_const_charPtr* in_window_remap_pairs); CIMGUI_API void igDockBuilderCopyNode(ImGuiID src_node_id, ImGuiID dst_node_id, ImVector_ImGuiID* out_node_remap_pairs); CIMGUI_API void igDockBuilderCopyWindowSettings(const char* src_name, const char* dst_name); CIMGUI_API void igDockBuilderFinish(ImGuiID node_id); CIMGUI_API void igPushFocusScope(ImGuiID id); CIMGUI_API void igPopFocusScope(void); CIMGUI_API ImGuiID igGetCurrentFocusScope(void); CIMGUI_API bool igIsDragDropActive(void); CIMGUI_API bool igBeginDragDropTargetCustom(const ImRect bb, ImGuiID id); CIMGUI_API void igClearDragDrop(void); CIMGUI_API bool igIsDragDropPayloadBeingAccepted(void); CIMGUI_API void igRenderDragDropTargetRect(const ImRect bb, const ImRect item_clip_rect); CIMGUI_API ImGuiTypingSelectRequest* igGetTypingSelectRequest( ImGuiTypingSelectFlags flags); CIMGUI_API int igTypingSelectFindMatch(ImGuiTypingSelectRequest* req, int items_count, const char* (*get_item_name_func)(void*, int), void* user_data, int nav_item_idx); CIMGUI_API int igTypingSelectFindNextSingleCharMatch( ImGuiTypingSelectRequest* req, int items_count, const char* (*get_item_name_func)(void*, int), void* user_data, int nav_item_idx); CIMGUI_API int igTypingSelectFindBestLeadingMatch( ImGuiTypingSelectRequest* req, int items_count, const char* (*get_item_name_func)(void*, int), void* user_data); CIMGUI_API void igSetWindowClipRectBeforeSetChannel(ImGuiWindow* window, const ImRect clip_rect); CIMGUI_API void igBeginColumns(const char* str_id, int count, ImGuiOldColumnFlags flags); CIMGUI_API void igEndColumns(void); CIMGUI_API void igPushColumnClipRect(int column_index); CIMGUI_API void igPushColumnsBackground(void); CIMGUI_API void igPopColumnsBackground(void); CIMGUI_API ImGuiID igGetColumnsID(const char* str_id, int count); CIMGUI_API ImGuiOldColumns* igFindOrCreateColumns(ImGuiWindow* window, ImGuiID id); CIMGUI_API float igGetColumnOffsetFromNorm(const ImGuiOldColumns* columns, float offset_norm); CIMGUI_API float igGetColumnNormFromOffset(const ImGuiOldColumns* columns, float offset); CIMGUI_API void igTableOpenContextMenu(int column_n); CIMGUI_API void igTableSetColumnWidth(int column_n, float width); CIMGUI_API void igTableSetColumnSortDirection(int column_n, ImGuiSortDirection sort_direction, bool append_to_sort_specs); CIMGUI_API int igTableGetHoveredColumn(void); CIMGUI_API int igTableGetHoveredRow(void); CIMGUI_API float igTableGetHeaderRowHeight(void); CIMGUI_API float igTableGetHeaderAngledMaxLabelWidth(void); CIMGUI_API void igTablePushBackgroundChannel(void); CIMGUI_API void igTablePopBackgroundChannel(void); CIMGUI_API void igTableAngledHeadersRowEx(ImGuiID row_id, float angle, float max_label_width, const ImGuiTableHeaderData* data, int data_count); CIMGUI_API ImGuiTable* igGetCurrentTable(void); CIMGUI_API ImGuiTable* igTableFindByID(ImGuiID id); CIMGUI_API bool igBeginTableEx(const char* name, ImGuiID id, int columns_count, ImGuiTableFlags flags, const ImVec2 outer_size, float inner_width); CIMGUI_API void igTableBeginInitMemory(ImGuiTable* table, int columns_count); CIMGUI_API void igTableBeginApplyRequests(ImGuiTable* table); CIMGUI_API void igTableSetupDrawChannels(ImGuiTable* table); CIMGUI_API void igTableUpdateLayout(ImGuiTable* table); CIMGUI_API void igTableUpdateBorders(ImGuiTable* table); CIMGUI_API void igTableUpdateColumnsWeightFromWidth(ImGuiTable* table); CIMGUI_API void igTableDrawBorders(ImGuiTable* table); CIMGUI_API void igTableDrawDefaultContextMenu( ImGuiTable* table, ImGuiTableFlags flags_for_section_to_display); CIMGUI_API bool igTableBeginContextMenuPopup(ImGuiTable* table); CIMGUI_API void igTableMergeDrawChannels(ImGuiTable* table); CIMGUI_API ImGuiTableInstanceData* igTableGetInstanceData(ImGuiTable* table, int instance_no); CIMGUI_API ImGuiID igTableGetInstanceID(ImGuiTable* table, int instance_no); CIMGUI_API void igTableSortSpecsSanitize(ImGuiTable* table); CIMGUI_API void igTableSortSpecsBuild(ImGuiTable* table); CIMGUI_API ImGuiSortDirection igTableGetColumnNextSortDirection(ImGuiTableColumn* column); CIMGUI_API void igTableFixColumnSortDirection(ImGuiTable* table, ImGuiTableColumn* column); CIMGUI_API float igTableGetColumnWidthAuto(ImGuiTable* table, ImGuiTableColumn* column); CIMGUI_API void igTableBeginRow(ImGuiTable* table); CIMGUI_API void igTableEndRow(ImGuiTable* table); CIMGUI_API void igTableBeginCell(ImGuiTable* table, int column_n); CIMGUI_API void igTableEndCell(ImGuiTable* table); CIMGUI_API void igTableGetCellBgRect(ImRect* pOut, const ImGuiTable* table, int column_n); CIMGUI_API const char* igTableGetColumnName_TablePtr(const ImGuiTable* table, int column_n); CIMGUI_API ImGuiID igTableGetColumnResizeID(ImGuiTable* table, int column_n, int instance_no); CIMGUI_API float igTableGetMaxColumnWidth(const ImGuiTable* table, int column_n); CIMGUI_API void igTableSetColumnWidthAutoSingle(ImGuiTable* table, int column_n); CIMGUI_API void igTableSetColumnWidthAutoAll(ImGuiTable* table); CIMGUI_API void igTableRemove(ImGuiTable* table); CIMGUI_API void igTableGcCompactTransientBuffers_TablePtr(ImGuiTable* table); CIMGUI_API void igTableGcCompactTransientBuffers_TableTempDataPtr( ImGuiTableTempData* table); CIMGUI_API void igTableGcCompactSettings(void); CIMGUI_API void igTableLoadSettings(ImGuiTable* table); CIMGUI_API void igTableSaveSettings(ImGuiTable* table); CIMGUI_API void igTableResetSettings(ImGuiTable* table); CIMGUI_API ImGuiTableSettings* igTableGetBoundSettings(ImGuiTable* table); CIMGUI_API void igTableSettingsAddSettingsHandler(void); CIMGUI_API ImGuiTableSettings* igTableSettingsCreate(ImGuiID id, int columns_count); CIMGUI_API ImGuiTableSettings* igTableSettingsFindByID(ImGuiID id); CIMGUI_API ImGuiTabBar* igGetCurrentTabBar(void); CIMGUI_API bool igBeginTabBarEx(ImGuiTabBar* tab_bar, const ImRect bb, ImGuiTabBarFlags flags); CIMGUI_API ImGuiTabItem* igTabBarFindTabByID(ImGuiTabBar* tab_bar, ImGuiID tab_id); CIMGUI_API ImGuiTabItem* igTabBarFindTabByOrder(ImGuiTabBar* tab_bar, int order); CIMGUI_API ImGuiTabItem* igTabBarFindMostRecentlySelectedTabForActiveWindow( ImGuiTabBar* tab_bar); CIMGUI_API ImGuiTabItem* igTabBarGetCurrentTab(ImGuiTabBar* tab_bar); CIMGUI_API int igTabBarGetTabOrder(ImGuiTabBar* tab_bar, ImGuiTabItem* tab); CIMGUI_API const char* igTabBarGetTabName(ImGuiTabBar* tab_bar, ImGuiTabItem* tab); CIMGUI_API void igTabBarAddTab(ImGuiTabBar* tab_bar, ImGuiTabItemFlags tab_flags, ImGuiWindow* window); CIMGUI_API void igTabBarRemoveTab(ImGuiTabBar* tab_bar, ImGuiID tab_id); CIMGUI_API void igTabBarCloseTab(ImGuiTabBar* tab_bar, ImGuiTabItem* tab); CIMGUI_API void igTabBarQueueFocus(ImGuiTabBar* tab_bar, ImGuiTabItem* tab); CIMGUI_API void igTabBarQueueReorder(ImGuiTabBar* tab_bar, ImGuiTabItem* tab, int offset); CIMGUI_API void igTabBarQueueReorderFromMousePos(ImGuiTabBar* tab_bar, ImGuiTabItem* tab, ImVec2 mouse_pos); CIMGUI_API bool igTabBarProcessReorder(ImGuiTabBar* tab_bar); CIMGUI_API bool igTabItemEx(ImGuiTabBar* tab_bar, const char* label, bool* p_open, ImGuiTabItemFlags flags, ImGuiWindow* docked_window); CIMGUI_API void igTabItemCalcSize_Str(ImVec2* pOut, const char* label, bool has_close_button_or_unsaved_marker); CIMGUI_API void igTabItemCalcSize_WindowPtr(ImVec2* pOut, ImGuiWindow* window); CIMGUI_API void igTabItemBackground(ImDrawList* draw_list, const ImRect bb, ImGuiTabItemFlags flags, ImU32 col); CIMGUI_API void igTabItemLabelAndCloseButton(ImDrawList* draw_list, const ImRect bb, ImGuiTabItemFlags flags, ImVec2 frame_padding, const char* label, ImGuiID tab_id, ImGuiID close_button_id, bool is_contents_visible, bool* out_just_closed, bool* out_text_clipped); CIMGUI_API void igRenderText(ImVec2 pos, const char* text, const char* text_end, bool hide_text_after_hash); CIMGUI_API void igRenderTextWrapped(ImVec2 pos, const char* text, const char* text_end, float wrap_width); CIMGUI_API void igRenderTextClipped(const ImVec2 pos_min, const ImVec2 pos_max, const char* text, const char* text_end, const ImVec2* text_size_if_known, const ImVec2 align, const ImRect* clip_rect); CIMGUI_API void igRenderTextClippedEx(ImDrawList* draw_list, const ImVec2 pos_min, const ImVec2 pos_max, const char* text, const char* text_end, const ImVec2* text_size_if_known, const ImVec2 align, const ImRect* clip_rect); CIMGUI_API void igRenderTextEllipsis(ImDrawList* draw_list, const ImVec2 pos_min, const ImVec2 pos_max, float clip_max_x, float ellipsis_max_x, const char* text, const char* text_end, const ImVec2* text_size_if_known); CIMGUI_API void igRenderFrame(ImVec2 p_min, ImVec2 p_max, ImU32 fill_col, bool border, float rounding); CIMGUI_API void igRenderFrameBorder(ImVec2 p_min, ImVec2 p_max, float rounding); CIMGUI_API void igRenderColorRectWithAlphaCheckerboard(ImDrawList* draw_list, ImVec2 p_min, ImVec2 p_max, ImU32 fill_col, float grid_step, ImVec2 grid_off, float rounding, ImDrawFlags flags); CIMGUI_API void igRenderNavHighlight(const ImRect bb, ImGuiID id, ImGuiNavHighlightFlags flags); CIMGUI_API const char* igFindRenderedTextEnd(const char* text, const char* text_end); CIMGUI_API void igRenderMouseCursor(ImVec2 pos, float scale, ImGuiMouseCursor mouse_cursor, ImU32 col_fill, ImU32 col_border, ImU32 col_shadow); CIMGUI_API void igRenderArrow(ImDrawList* draw_list, ImVec2 pos, ImU32 col, ImGuiDir dir, float scale); CIMGUI_API void igRenderBullet(ImDrawList* draw_list, ImVec2 pos, ImU32 col); CIMGUI_API void igRenderCheckMark(ImDrawList* draw_list, ImVec2 pos, ImU32 col, float sz); CIMGUI_API void igRenderArrowPointingAt(ImDrawList* draw_list, ImVec2 pos, ImVec2 half_sz, ImGuiDir direction, ImU32 col); CIMGUI_API void igRenderArrowDockMenu(ImDrawList* draw_list, ImVec2 p_min, float sz, ImU32 col); CIMGUI_API void igRenderRectFilledRangeH(ImDrawList* draw_list, const ImRect rect, ImU32 col, float x_start_norm, float x_end_norm, float rounding); CIMGUI_API void igRenderRectFilledWithHole(ImDrawList* draw_list, const ImRect outer, const ImRect inner, ImU32 col, float rounding); CIMGUI_API ImDrawFlags igCalcRoundingFlagsForRectInRect(const ImRect r_in, const ImRect r_outer, float threshold); CIMGUI_API void igTextEx(const char* text, const char* text_end, ImGuiTextFlags flags); CIMGUI_API bool igButtonEx(const char* label, const ImVec2 size_arg, ImGuiButtonFlags flags); CIMGUI_API bool igArrowButtonEx(const char* str_id, ImGuiDir dir, ImVec2 size_arg, ImGuiButtonFlags flags); CIMGUI_API bool igImageButtonEx(ImGuiID id, ImTextureID texture_id, const ImVec2 image_size, const ImVec2 uv0, const ImVec2 uv1, const ImVec4 bg_col, const ImVec4 tint_col, ImGuiButtonFlags flags); CIMGUI_API void igSeparatorEx(ImGuiSeparatorFlags flags, float thickness); CIMGUI_API void igSeparatorTextEx(ImGuiID id, const char* label, const char* label_end, float extra_width); CIMGUI_API bool igCheckboxFlags_S64Ptr(const char* label, ImS64* flags, ImS64 flags_value); CIMGUI_API bool igCheckboxFlags_U64Ptr(const char* label, ImU64* flags, ImU64 flags_value); CIMGUI_API bool igCloseButton(ImGuiID id, const ImVec2 pos); CIMGUI_API bool igCollapseButton(ImGuiID id, const ImVec2 pos, ImGuiDockNode* dock_node); CIMGUI_API void igScrollbar(ImGuiAxis axis); CIMGUI_API bool igScrollbarEx(const ImRect bb, ImGuiID id, ImGuiAxis axis, ImS64* p_scroll_v, ImS64 avail_v, ImS64 contents_v, ImDrawFlags flags); CIMGUI_API void igGetWindowScrollbarRect(ImRect* pOut, ImGuiWindow* window, ImGuiAxis axis); CIMGUI_API ImGuiID igGetWindowScrollbarID(ImGuiWindow* window, ImGuiAxis axis); CIMGUI_API ImGuiID igGetWindowResizeCornerID(ImGuiWindow* window, int n); CIMGUI_API ImGuiID igGetWindowResizeBorderID(ImGuiWindow* window, ImGuiDir dir); CIMGUI_API bool igButtonBehavior(const ImRect bb, ImGuiID id, bool* out_hovered, bool* out_held, ImGuiButtonFlags flags); CIMGUI_API bool igDragBehavior(ImGuiID id, ImGuiDataType data_type, void* p_v, float v_speed, const void* p_min, const void* p_max, const char* format, ImGuiSliderFlags flags); CIMGUI_API bool igSliderBehavior(const ImRect bb, ImGuiID id, ImGuiDataType data_type, void* p_v, const void* p_min, const void* p_max, const char* format, ImGuiSliderFlags flags, ImRect* out_grab_bb); CIMGUI_API bool igSplitterBehavior(const ImRect bb, ImGuiID id, ImGuiAxis axis, float* size1, float* size2, float min_size1, float min_size2, float hover_extend, float hover_visibility_delay, ImU32 bg_col); CIMGUI_API bool igTreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* label, const char* label_end); CIMGUI_API void igTreePushOverrideID(ImGuiID id); CIMGUI_API void igTreeNodeSetOpen(ImGuiID id, bool open); CIMGUI_API bool igTreeNodeUpdateNextOpen(ImGuiID id, ImGuiTreeNodeFlags flags); CIMGUI_API void igSetNextItemSelectionUserData( ImGuiSelectionUserData selection_user_data); CIMGUI_API const ImGuiDataTypeInfo* igDataTypeGetInfo(ImGuiDataType data_type); CIMGUI_API int igDataTypeFormatString(char* buf, int buf_size, ImGuiDataType data_type, const void* p_data, const char* format); CIMGUI_API void igDataTypeApplyOp(ImGuiDataType data_type, int op, void* output, const void* arg_1, const void* arg_2); CIMGUI_API bool igDataTypeApplyFromText(const char* buf, ImGuiDataType data_type, void* p_data, const char* format); CIMGUI_API int igDataTypeCompare(ImGuiDataType data_type, const void* arg_1, const void* arg_2); CIMGUI_API bool igDataTypeClamp(ImGuiDataType data_type, void* p_data, const void* p_min, const void* p_max); CIMGUI_API bool igInputTextEx(const char* label, const char* hint, char* buf, int buf_size, const ImVec2 size_arg, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* user_data); CIMGUI_API void igInputTextDeactivateHook(ImGuiID id); CIMGUI_API bool igTempInputText(const ImRect bb, ImGuiID id, const char* label, char* buf, int buf_size, ImGuiInputTextFlags flags); CIMGUI_API bool igTempInputScalar(const ImRect bb, ImGuiID id, const char* label, ImGuiDataType data_type, void* p_data, const char* format, const void* p_clamp_min, const void* p_clamp_max); CIMGUI_API bool igTempInputIsActive(ImGuiID id); CIMGUI_API ImGuiInputTextState* igGetInputTextState(ImGuiID id); CIMGUI_API void igColorTooltip(const char* text, const float* col, ImGuiColorEditFlags flags); CIMGUI_API void igColorEditOptionsPopup(const float* col, ImGuiColorEditFlags flags); CIMGUI_API void igColorPickerOptionsPopup(const float* ref_col, ImGuiColorEditFlags flags); CIMGUI_API int igPlotEx(ImGuiPlotType plot_type, const char* label, float (*values_getter)(void* data, int idx), void* data, int values_count, int values_offset, const char* overlay_text, float scale_min, float scale_max, const ImVec2 size_arg); CIMGUI_API void igShadeVertsLinearColorGradientKeepAlpha(ImDrawList* draw_list, int vert_start_idx, int vert_end_idx, ImVec2 gradient_p0, ImVec2 gradient_p1, ImU32 col0, ImU32 col1); CIMGUI_API void igShadeVertsLinearUV(ImDrawList* draw_list, int vert_start_idx, int vert_end_idx, const ImVec2 a, const ImVec2 b, const ImVec2 uv_a, const ImVec2 uv_b, bool clamp); CIMGUI_API void igShadeVertsTransformPos(ImDrawList* draw_list, int vert_start_idx, int vert_end_idx, const ImVec2 pivot_in, float cos_a, float sin_a, const ImVec2 pivot_out); CIMGUI_API void igGcCompactTransientMiscBuffers(void); CIMGUI_API void igGcCompactTransientWindowBuffers(ImGuiWindow* window); CIMGUI_API void igGcAwakeTransientWindowBuffers(ImGuiWindow* window); CIMGUI_API void igDebugLog(const char* fmt, ...); CIMGUI_API void igDebugLogV(const char* fmt, va_list args); CIMGUI_API void igDebugAllocHook(ImGuiDebugAllocInfo* info, int frame_count, void* ptr, size_t size); CIMGUI_API void igErrorCheckEndFrameRecover(ImGuiErrorLogCallback log_callback, void* user_data); CIMGUI_API void igErrorCheckEndWindowRecover(ImGuiErrorLogCallback log_callback, void* user_data); CIMGUI_API void igErrorCheckUsingSetCursorPosToExtendParentBoundaries(void); CIMGUI_API void igDebugDrawCursorPos(ImU32 col); CIMGUI_API void igDebugDrawLineExtents(ImU32 col); CIMGUI_API void igDebugDrawItemRect(ImU32 col); CIMGUI_API void igDebugLocateItem(ImGuiID target_id); CIMGUI_API void igDebugLocateItemOnHover(ImGuiID target_id); CIMGUI_API void igDebugLocateItemResolveWithLastItem(void); CIMGUI_API void igDebugBreakClearData(void); CIMGUI_API bool igDebugBreakButton(const char* label, const char* description_of_location); CIMGUI_API void igDebugBreakButtonTooltip(bool keyboard_only, const char* description_of_location); CIMGUI_API void igShowFontAtlas(ImFontAtlas* atlas); CIMGUI_API void igDebugHookIdInfo(ImGuiID id, ImGuiDataType data_type, const void* data_id, const void* data_id_end); CIMGUI_API void igDebugNodeColumns(ImGuiOldColumns* columns); CIMGUI_API void igDebugNodeDockNode(ImGuiDockNode* node, const char* label); CIMGUI_API void igDebugNodeDrawList(ImGuiWindow* window, ImGuiViewportP* viewport, const ImDrawList* draw_list, const char* label); CIMGUI_API void igDebugNodeDrawCmdShowMeshAndBoundingBox( ImDrawList* out_draw_list, const ImDrawList* draw_list, const ImDrawCmd* draw_cmd, bool show_mesh, bool show_aabb); CIMGUI_API void igDebugNodeFont(ImFont* font); CIMGUI_API void igDebugNodeFontGlyph(ImFont* font, const ImFontGlyph* glyph); CIMGUI_API void igDebugNodeStorage(ImGuiStorage* storage, const char* label); CIMGUI_API void igDebugNodeTabBar(ImGuiTabBar* tab_bar, const char* label); CIMGUI_API void igDebugNodeTable(ImGuiTable* table); CIMGUI_API void igDebugNodeTableSettings(ImGuiTableSettings* settings); CIMGUI_API void igDebugNodeInputTextState(ImGuiInputTextState* state); CIMGUI_API void igDebugNodeTypingSelectState(ImGuiTypingSelectState* state); CIMGUI_API void igDebugNodeWindow(ImGuiWindow* window, const char* label); CIMGUI_API void igDebugNodeWindowSettings(ImGuiWindowSettings* settings); CIMGUI_API void igDebugNodeWindowsList(ImVector_ImGuiWindowPtr* windows, const char* label); CIMGUI_API void igDebugNodeWindowsListByBeginStackParent( ImGuiWindow** windows, int windows_size, ImGuiWindow* parent_in_begin_stack); CIMGUI_API void igDebugNodeViewport(ImGuiViewportP* viewport); CIMGUI_API void igDebugRenderKeyboardPreview(ImDrawList* draw_list); CIMGUI_API void igDebugRenderViewportThumbnail(ImDrawList* draw_list, ImGuiViewportP* viewport, const ImRect bb); CIMGUI_API void igImFontAtlasUpdateConfigDataPointers(ImFontAtlas* atlas); CIMGUI_API void igImFontAtlasBuildInit(ImFontAtlas* atlas); CIMGUI_API void igImFontAtlasBuildSetupFont(ImFontAtlas* atlas, ImFont* font, ImFontConfig* font_config, float ascent, float descent); CIMGUI_API void igImFontAtlasBuildPackCustomRects(ImFontAtlas* atlas, void* stbrp_context_opaque); CIMGUI_API void igImFontAtlasBuildFinish(ImFontAtlas* atlas); CIMGUI_API void igImFontAtlasBuildRender8bppRectFromString( ImFontAtlas* atlas, int x, int y, int w, int h, const char* in_str, char in_marker_char, unsigned char in_marker_pixel_value); CIMGUI_API void igImFontAtlasBuildRender32bppRectFromString( ImFontAtlas* atlas, int x, int y, int w, int h, const char* in_str, char in_marker_char, unsigned int in_marker_pixel_value); CIMGUI_API void igImFontAtlasBuildMultiplyCalcLookupTable( unsigned char out_table[256], float in_multiply_factor); CIMGUI_API void igImFontAtlasBuildMultiplyRectAlpha8( const unsigned char table[256], unsigned char* pixels, int x, int y, int w, int h, int stride); /////////////////////////hand written functions // no LogTextV CIMGUI_API void igLogText(CONST char* fmt, ...); // no appendfV CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer* buffer, const char* fmt, ...); // for getting FLT_MAX in bindings CIMGUI_API float igGET_FLT_MAX(void); // for getting FLT_MIN in bindings CIMGUI_API float igGET_FLT_MIN(void); CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create(void); CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self); CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p); CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p); #endif // CIMGUI_INCLUDED