cimgui_internal.h generation

This commit is contained in:
sonoro1234
2019-11-28 11:59:25 +01:00
parent 8096fb69fe
commit 4d7a7ac09f
6 changed files with 1677 additions and 4 deletions

View File

@@ -134,7 +134,8 @@ typedef unsigned int ImU32;
typedef int64_t ImS64;
typedef uint64_t ImU64;
typedef void (*ImDrawCallback)(const ImDrawList* parent_list, const ImDrawCmd* cmd);
typedef unsigned short ImDrawIdx;typedef struct ImVector{int Size;int Capacity;void* Data;} ImVector;
typedef unsigned short ImDrawIdx;
typedef struct ImVector{int Size;int Capacity;void* Data;} ImVector;
typedef struct ImVector_float {int Size;int Capacity;float* Data;} ImVector_float;
typedef struct ImVector_ImWchar {int Size;int Capacity;ImWchar* Data;} ImVector_ImWchar;
typedef struct ImVector_ImDrawVert {int Size;int Capacity;ImDrawVert* Data;} ImVector_ImDrawVert;

815
cimgui_internal.h Normal file
View File

@@ -0,0 +1,815 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.74" from Dear ImGui https://github.com/ocornut/imgui
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct ImGuiPtrOrIndex ImGuiPtrOrIndex;
typedef struct ImGuiShrinkWidthItem ImGuiShrinkWidthItem;
typedef struct ImVec2ih ImVec2ih;
typedef struct ImVec1 ImVec1;
typedef struct ImGuiWindowSettings ImGuiWindowSettings;
typedef struct ImGuiWindowTempData ImGuiWindowTempData;
typedef struct ImGuiWindow ImGuiWindow;
typedef struct ImGuiTabItem ImGuiTabItem;
typedef struct ImGuiTabBar ImGuiTabBar;
typedef struct ImGuiStyleMod ImGuiStyleMod;
typedef struct ImGuiSettingsHandler ImGuiSettingsHandler;
typedef struct ImGuiPopupData ImGuiPopupData;
typedef struct ImGuiNextItemData ImGuiNextItemData;
typedef struct ImGuiNextWindowData ImGuiNextWindowData;
typedef struct ImGuiNavMoveResult ImGuiNavMoveResult;
typedef struct ImGuiMenuColumns ImGuiMenuColumns;
typedef struct ImGuiItemHoveredDataBackup ImGuiItemHoveredDataBackup;
typedef struct ImGuiInputTextState ImGuiInputTextState;
typedef struct ImGuiGroupData ImGuiGroupData;
typedef struct ImGuiDataTypeInfo ImGuiDataTypeInfo;
typedef struct ImGuiContext ImGuiContext;
typedef struct ImGuiColumns ImGuiColumns;
typedef struct ImGuiColumnData ImGuiColumnData;
typedef struct ImGuiColorMod ImGuiColorMod;
typedef struct ImDrawListSharedData ImDrawListSharedData;
typedef struct ImDrawDataBuilder ImDrawDataBuilder;
typedef struct ImRect ImRect;
typedef struct ImBoolVector ImBoolVector;
struct ImBoolVector;
struct ImRect;
struct ImDrawDataBuilder;
struct ImDrawListSharedData;
struct ImGuiColorMod;
struct ImGuiColumnData;
struct ImGuiColumns;
struct ImGuiContext;
struct ImGuiDataTypeInfo;
struct ImGuiGroupData;
struct ImGuiInputTextState;
struct ImGuiItemHoveredDataBackup;
struct ImGuiMenuColumns;
struct ImGuiNavMoveResult;
struct ImGuiNextWindowData;
struct ImGuiNextItemData;
struct ImGuiPopupData;
struct ImGuiSettingsHandler;
struct ImGuiStyleMod;
struct ImGuiTabBar;
struct ImGuiTabItem;
struct ImGuiWindow;
struct ImGuiWindowTempData;
struct ImGuiWindowSettings;
typedef int ImGuiLayoutType;
typedef int ImGuiButtonFlags;
typedef int ImGuiColumnsFlags;
typedef int ImGuiDragFlags;
typedef int ImGuiItemFlags;
typedef int ImGuiItemStatusFlags;
typedef int ImGuiNavHighlightFlags;
typedef int ImGuiNavDirSourceFlags;
typedef int ImGuiNavMoveFlags;
typedef int ImGuiNextItemDataFlags;
typedef int ImGuiNextWindowDataFlags;
typedef int ImGuiSeparatorFlags;
typedef int ImGuiSliderFlags;
typedef int ImGuiTextFlags;
extern ImGuiContext* GImGui;
typedef FILE* ImFileHandle;
typedef int ImPoolIdx;typedef struct ImVector_unsigned_char {int Size;int Capacity;unsigned char* Data;} ImVector_unsigned_char;
typedef struct ImVector_ImGuiSettingsHandler {int Size;int Capacity;ImGuiSettingsHandler* Data;} ImVector_ImGuiSettingsHandler;
typedef struct ImVector_ImGuiStyleMod {int Size;int Capacity;ImGuiStyleMod* Data;} ImVector_ImGuiStyleMod;
typedef struct ImVector_ImGuiPopupData {int Size;int Capacity;ImGuiPopupData* Data;} ImVector_ImGuiPopupData;
typedef struct ImVector_ImGuiItemFlags {int Size;int Capacity;ImGuiItemFlags* Data;} ImVector_ImGuiItemFlags;
typedef struct ImVector_ImGuiWindowPtr {int Size;int Capacity;ImGuiWindow** Data;} ImVector_ImGuiWindowPtr;
typedef struct ImVector_ImGuiTabItem {int Size;int Capacity;ImGuiTabItem* Data;} ImVector_ImGuiTabItem;
typedef struct ImVector_ImGuiShrinkWidthItem {int Size;int Capacity;ImGuiShrinkWidthItem* Data;} ImVector_ImGuiShrinkWidthItem;
typedef struct ImVector_ImGuiColumns {int Size;int Capacity;ImGuiColumns* Data;} ImVector_ImGuiColumns;
typedef struct ImVector_ImGuiID {int Size;int Capacity;ImGuiID* Data;} ImVector_ImGuiID;
typedef struct ImVector_ImGuiGroupData {int Size;int Capacity;ImGuiGroupData* Data;} ImVector_ImGuiGroupData;
typedef struct ImVector_ImGuiColumnData {int Size;int Capacity;ImGuiColumnData* Data;} ImVector_ImGuiColumnData;
typedef struct ImVector_int {int Size;int Capacity;int* Data;} ImVector_int;
typedef struct ImVector_ImGuiPtrOrIndex {int Size;int Capacity;ImGuiPtrOrIndex* Data;} ImVector_ImGuiPtrOrIndex;
typedef struct ImVector_ImDrawListPtr {int Size;int Capacity;ImDrawList** Data;} ImVector_ImDrawListPtr;
typedef struct ImVector_ImGuiColorMod {int Size;int Capacity;ImGuiColorMod* Data;} ImVector_ImGuiColorMod;
typedef struct ImVector_ImGuiWindowSettings {int Size;int Capacity;ImGuiWindowSettings* Data;} ImVector_ImGuiWindowSettings;
typedef struct ImChunkStream_ImGuiWindowSettings {ImVector_ImGuiWindowSettings Buf;} ImChunkStream_ImGuiWindowSettings;
typedef struct ImVector_ImGuiTabBar {int Size;int Capacity;ImGuiTabBar* Data;} ImVector_ImGuiTabBar;
typedef struct ImPool_ImGuiTabBar {ImVector_ImGuiTabBar Buf;ImGuiStorage Map;ImPoolIdx FreeIdx;} ImPool_ImGuiTabBar;
typedef struct
{
int where;
int insert_length;
int delete_length;
int char_storage;
} StbUndoRecord;
typedef struct
{
StbUndoRecord undo_rec [99];
ImWchar undo_char[999];
short undo_point, redo_point;
int undo_char_point, redo_char_point;
} StbUndoState;
typedef struct
{
int cursor;
int select_start;
int select_end;
unsigned char insert_mode;
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;
} STB_TexteditState;
typedef struct
{
float x0,x1;
float baseline_y_delta;
float ymin,ymax;
int num_chars;
} StbTexteditRow;
struct ImBoolVector
{
ImVector_int Storage;
};
typedef enum {
ImGuiButtonFlags_None = 0,
ImGuiButtonFlags_Repeat = 1 << 0,
ImGuiButtonFlags_PressedOnClickRelease = 1 << 1,
ImGuiButtonFlags_PressedOnClick = 1 << 2,
ImGuiButtonFlags_PressedOnRelease = 1 << 3,
ImGuiButtonFlags_PressedOnDoubleClick = 1 << 4,
ImGuiButtonFlags_FlattenChildren = 1 << 5,
ImGuiButtonFlags_AllowItemOverlap = 1 << 6,
ImGuiButtonFlags_DontClosePopups = 1 << 7,
ImGuiButtonFlags_Disabled = 1 << 8,
ImGuiButtonFlags_AlignTextBaseLine = 1 << 9,
ImGuiButtonFlags_NoKeyModifiers = 1 << 10,
ImGuiButtonFlags_NoHoldingActiveID = 1 << 11,
ImGuiButtonFlags_PressedOnDragDropHold = 1 << 12,
ImGuiButtonFlags_NoNavFocus = 1 << 13,
ImGuiButtonFlags_NoHoveredOnNav = 1 << 14
}ImGuiButtonFlags_;
typedef enum {
ImGuiSliderFlags_None = 0,
ImGuiSliderFlags_Vertical = 1 << 0
}ImGuiSliderFlags_;
typedef enum {
ImGuiDragFlags_None = 0,
ImGuiDragFlags_Vertical = 1 << 0
}ImGuiDragFlags_;
typedef enum {
ImGuiColumnsFlags_None = 0,
ImGuiColumnsFlags_NoBorder = 1 << 0,
ImGuiColumnsFlags_NoResize = 1 << 1,
ImGuiColumnsFlags_NoPreserveWidths = 1 << 2,
ImGuiColumnsFlags_NoForceWithinWindow = 1 << 3,
ImGuiColumnsFlags_GrowParentContentsSize= 1 << 4
}ImGuiColumnsFlags_;
typedef enum {
ImGuiSelectableFlags_NoHoldingActiveID = 1 << 20,
ImGuiSelectableFlags_PressedOnClick = 1 << 21,
ImGuiSelectableFlags_PressedOnRelease = 1 << 22,
ImGuiSelectableFlags_DrawFillAvailWidth = 1 << 23,
ImGuiSelectableFlags_DrawHoveredWhenHeld= 1 << 24,
ImGuiSelectableFlags_SetNavIdOnHover = 1 << 25
}ImGuiSelectableFlagsPrivate_;
typedef enum {
ImGuiTreeNodeFlags_ClipLabelForTrailingButton = 1 << 20
}ImGuiTreeNodeFlagsPrivate_;
typedef enum {
ImGuiSeparatorFlags_None = 0,
ImGuiSeparatorFlags_Horizontal = 1 << 0,
ImGuiSeparatorFlags_Vertical = 1 << 1,
ImGuiSeparatorFlags_SpanAllColumns = 1 << 2
}ImGuiSeparatorFlags_;
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_Default_ = 0
}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_;
typedef enum {
ImGuiTextFlags_None = 0,
ImGuiTextFlags_NoWidthForLargeClippedText = 1 << 0
}ImGuiTextFlags_;
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;
typedef enum {
ImGuiInputSource_None = 0,
ImGuiInputSource_Mouse,
ImGuiInputSource_Nav,
ImGuiInputSource_NavKeyboard,
ImGuiInputSource_NavGamepad,
ImGuiInputSource_COUNT
}ImGuiInputSource;
typedef enum {
ImGuiInputReadMode_Down,
ImGuiInputReadMode_Pressed,
ImGuiInputReadMode_Released,
ImGuiInputReadMode_Repeat,
ImGuiInputReadMode_RepeatSlow,
ImGuiInputReadMode_RepeatFast
}ImGuiInputReadMode;
typedef enum {
ImGuiNavHighlightFlags_None = 0,
ImGuiNavHighlightFlags_TypeDefault = 1 << 0,
ImGuiNavHighlightFlags_TypeThin = 1 << 1,
ImGuiNavHighlightFlags_AlwaysDraw = 1 << 2,
ImGuiNavHighlightFlags_NoRounding = 1 << 3
}ImGuiNavHighlightFlags_;
typedef enum {
ImGuiNavDirSourceFlags_None = 0,
ImGuiNavDirSourceFlags_Keyboard = 1 << 0,
ImGuiNavDirSourceFlags_PadDPad = 1 << 1,
ImGuiNavDirSourceFlags_PadLStick = 1 << 2
}ImGuiNavDirSourceFlags_;
typedef enum {
ImGuiNavMoveFlags_None = 0,
ImGuiNavMoveFlags_LoopX = 1 << 0,
ImGuiNavMoveFlags_LoopY = 1 << 1,
ImGuiNavMoveFlags_WrapX = 1 << 2,
ImGuiNavMoveFlags_WrapY = 1 << 3,
ImGuiNavMoveFlags_AllowCurrentNavId = 1 << 4,
ImGuiNavMoveFlags_AlsoScoreVisibleSet = 1 << 5,
ImGuiNavMoveFlags_ScrollToEdge = 1 << 6
}ImGuiNavMoveFlags_;
typedef enum {
ImGuiNavForward_None,
ImGuiNavForward_ForwardQueued,
ImGuiNavForward_ForwardActive
}ImGuiNavForward;
typedef enum {
ImGuiNavLayer_Main = 0,
ImGuiNavLayer_Menu = 1,
ImGuiNavLayer_COUNT
}ImGuiNavLayer;
typedef enum {
ImGuiPopupPositionPolicy_Default,
ImGuiPopupPositionPolicy_ComboBox
}ImGuiPopupPositionPolicy;
struct ImVec1
{
float x;
};
struct ImVec2ih
{
short x, y;
};
struct ImRect
{
ImVec2 Min;
ImVec2 Max;
};
struct ImGuiDataTypeInfo
{
size_t Size;
const char* PrintFmt;
const char* ScanFmt;
};
struct ImGuiColorMod
{
ImGuiCol Col;
ImVec4 BackupValue;
};
struct ImGuiStyleMod
{
ImGuiStyleVar VarIdx;
union { int BackupInt[2]; float BackupFloat[2]; };
};
struct ImGuiGroupData
{
ImVec2 BackupCursorPos;
ImVec2 BackupCursorMaxPos;
ImVec1 BackupIndent;
ImVec1 BackupGroupOffset;
ImVec2 BackupCurrLineSize;
float BackupCurrLineTextBaseOffset;
ImGuiID BackupActiveIdIsAlive;
bool BackupActiveIdPreviousFrameIsAlive;
bool EmitItem;
};
struct ImGuiMenuColumns
{
float Spacing;
float Width, NextWidth;
float Pos[3], NextWidths[3];
};
struct ImGuiInputTextState
{
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;
ImGuiInputTextFlags UserFlags;
ImGuiInputTextCallback UserCallback;
void* UserCallbackData;
};
struct ImGuiWindowSettings
{
ImGuiID ID;
ImVec2ih Pos;
ImVec2ih Size;
bool Collapsed;
};
struct ImGuiSettingsHandler
{
const char* TypeName;
ImGuiID TypeHash;
void* (*ReadOpenFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, const char* name);
void (*ReadLineFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, void* entry, const char* line);
void (*WriteAllFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, ImGuiTextBuffer* out_buf);
void* UserData;
};
struct ImGuiPopupData
{
ImGuiID PopupId;
ImGuiWindow* Window;
ImGuiWindow* SourceWindow;
int OpenFrameCount;
ImGuiID OpenParentId;
ImVec2 OpenPopupPos;
ImVec2 OpenMousePos;
};
struct ImGuiColumnData
{
float OffsetNorm;
float OffsetNormBeforeResize;
ImGuiColumnsFlags Flags;
ImRect ClipRect;
};
struct ImGuiColumns
{
ImGuiID ID;
ImGuiColumnsFlags Flags;
bool IsFirstFrame;
bool IsBeingResized;
int Current;
int Count;
float OffMinX, OffMaxX;
float LineMinY, LineMaxY;
float HostCursorPosY;
float HostCursorMaxPosX;
ImRect HostClipRect;
ImRect HostWorkRect;
ImVector_ImGuiColumnData Columns;
};
struct ImDrawListSharedData
{
ImVec2 TexUvWhitePixel;
ImFont* Font;
float FontSize;
float CurveTessellationTol;
ImVec4 ClipRectFullscreen;
ImDrawListFlags InitialFlags;
ImVec2 CircleVtx12[12];
};
struct ImDrawDataBuilder
{
ImVector_ImDrawListPtr Layers[2];
};
struct ImGuiNavMoveResult
{
ImGuiID ID;
ImGuiID SelectScopeId;
ImGuiWindow* Window;
float DistBox;
float DistCenter;
float DistAxial;
ImRect RectRel;
};
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_;
struct ImGuiNextWindowData
{
ImGuiNextWindowDataFlags Flags;
ImGuiCond PosCond;
ImGuiCond SizeCond;
ImGuiCond CollapsedCond;
ImVec2 PosVal;
ImVec2 PosPivotVal;
ImVec2 SizeVal;
ImVec2 ContentSizeVal;
bool CollapsedVal;
ImRect SizeConstraintRect;
ImGuiSizeCallback SizeCallback;
void* SizeCallbackUserData;
float BgAlphaVal;
ImVec2 MenuBarOffsetMinVal;
};
typedef enum {
ImGuiNextItemDataFlags_None = 0,
ImGuiNextItemDataFlags_HasWidth = 1 << 0,
ImGuiNextItemDataFlags_HasOpen = 1 << 1
}ImGuiNextItemDataFlags_;
struct ImGuiNextItemData
{
ImGuiNextItemDataFlags Flags;
float Width;
bool OpenVal;
ImGuiCond OpenCond;
};
struct ImGuiShrinkWidthItem
{
int Index;
float Width;
};
struct ImGuiPtrOrIndex
{
void* Ptr;
int Index;
};
struct ImGuiContext
{
bool Initialized;
bool FontAtlasOwnedByContext;
ImGuiIO IO;
ImGuiStyle Style;
ImFont* Font;
float FontSize;
float FontBaseSize;
ImDrawListSharedData DrawListSharedData;
double Time;
int FrameCount;
int FrameCountEnded;
int FrameCountRendered;
bool WithinFrameScope;
bool WithinFrameScopeWithImplicitWindow;
bool WithinEndChild;
ImVector_ImGuiWindowPtr Windows;
ImVector_ImGuiWindowPtr WindowsFocusOrder;
ImVector_ImGuiWindowPtr WindowsSortBuffer;
ImVector_ImGuiWindowPtr CurrentWindowStack;
ImGuiStorage WindowsById;
int WindowsActiveCount;
ImGuiWindow* CurrentWindow;
ImGuiWindow* HoveredWindow;
ImGuiWindow* HoveredRootWindow;
ImGuiWindow* MovingWindow;
ImGuiWindow* WheelingWindow;
ImVec2 WheelingWindowRefMousePos;
float WheelingWindowTimer;
ImGuiID HoveredId;
bool HoveredIdAllowOverlap;
ImGuiID HoveredIdPreviousFrame;
float HoveredIdTimer;
float HoveredIdNotActiveTimer;
ImGuiID ActiveId;
ImGuiID ActiveIdIsAlive;
float ActiveIdTimer;
bool ActiveIdIsJustActivated;
bool ActiveIdAllowOverlap;
bool ActiveIdHasBeenPressedBefore;
bool ActiveIdHasBeenEditedBefore;
bool ActiveIdHasBeenEditedThisFrame;
ImU32 ActiveIdUsingNavDirMask;
ImU32 ActiveIdUsingNavInputMask;
ImU64 ActiveIdUsingKeyInputMask;
ImVec2 ActiveIdClickOffset;
ImGuiWindow* ActiveIdWindow;
ImGuiInputSource ActiveIdSource;
ImGuiID ActiveIdPreviousFrame;
bool ActiveIdPreviousFrameIsAlive;
bool ActiveIdPreviousFrameHasBeenEditedBefore;
ImGuiWindow* ActiveIdPreviousFrameWindow;
ImGuiID LastActiveId;
float LastActiveIdTimer;
ImGuiNextWindowData NextWindowData;
ImGuiNextItemData NextItemData;
ImVector_ImGuiColorMod ColorModifiers;
ImVector_ImGuiStyleMod StyleModifiers;
ImVector_ImFontPtr FontStack;
ImVector_ImGuiPopupData OpenPopupStack;
ImVector_ImGuiPopupData BeginPopupStack;
ImGuiWindow* NavWindow;
ImGuiID NavId;
ImGuiID NavActivateId;
ImGuiID NavActivateDownId;
ImGuiID NavActivatePressedId;
ImGuiID NavInputId;
ImGuiID NavJustTabbedId;
ImGuiID NavJustMovedToId;
ImGuiID NavJustMovedToMultiSelectScopeId;
ImGuiID NavNextActivateId;
ImGuiInputSource NavInputSource;
ImRect NavScoringRectScreen;
int NavScoringCount;
ImGuiWindow* NavWindowingTarget;
ImGuiWindow* NavWindowingTargetAnim;
ImGuiWindow* NavWindowingList;
float NavWindowingTimer;
float NavWindowingHighlightAlpha;
bool NavWindowingToggleLayer;
ImGuiNavLayer NavLayer;
int NavIdTabCounter;
bool NavIdIsAlive;
bool NavMousePosDirty;
bool NavDisableHighlight;
bool NavDisableMouseHover;
bool NavAnyRequest;
bool NavInitRequest;
bool NavInitRequestFromMove;
ImGuiID NavInitResultId;
ImRect NavInitResultRectRel;
bool NavMoveFromClampedRefRect;
bool NavMoveRequest;
ImGuiNavMoveFlags NavMoveRequestFlags;
ImGuiNavForward NavMoveRequestForward;
ImGuiDir NavMoveDir, NavMoveDirLast;
ImGuiDir NavMoveClipDir;
ImGuiNavMoveResult NavMoveResultLocal;
ImGuiNavMoveResult NavMoveResultLocalVisibleSet;
ImGuiNavMoveResult NavMoveResultOther;
ImGuiWindow* FocusRequestCurrWindow;
ImGuiWindow* FocusRequestNextWindow;
int FocusRequestCurrCounterAll;
int FocusRequestCurrCounterTab;
int FocusRequestNextCounterAll;
int FocusRequestNextCounterTab;
bool FocusTabPressed;
ImDrawData DrawData;
ImDrawDataBuilder DrawDataBuilder;
float DimBgRatio;
ImDrawList BackgroundDrawList;
ImDrawList ForegroundDrawList;
ImGuiMouseCursor MouseCursor;
bool DragDropActive;
bool DragDropWithinSourceOrTarget;
ImGuiDragDropFlags DragDropSourceFlags;
int DragDropSourceFrameCount;
int DragDropMouseButton;
ImGuiPayload DragDropPayload;
ImRect DragDropTargetRect;
ImGuiID DragDropTargetId;
ImGuiDragDropFlags DragDropAcceptFlags;
float DragDropAcceptIdCurrRectSurface;
ImGuiID DragDropAcceptIdCurr;
ImGuiID DragDropAcceptIdPrev;
int DragDropAcceptFrameCount;
ImVector_unsigned_char DragDropPayloadBufHeap;
unsigned char DragDropPayloadBufLocal[16];
ImGuiTabBar* CurrentTabBar;
ImPool_ImGuiTabBar TabBars;
ImVector_ImGuiPtrOrIndex CurrentTabBarStack;
ImVector_ImGuiShrinkWidthItem ShrinkWidthBuffer;
ImVec2 LastValidMousePos;
ImGuiInputTextState InputTextState;
ImFont InputTextPasswordFont;
ImGuiID TempInputTextId;
ImGuiColorEditFlags ColorEditOptions;
float ColorEditLastHue;
float ColorEditLastColor[3];
ImVec4 ColorPickerRef;
bool DragCurrentAccumDirty;
float DragCurrentAccum;
float DragSpeedDefaultRatio;
float ScrollbarClickDeltaToGrabCenter;
int TooltipOverrideCount;
ImVector_char PrivateClipboard;
ImGuiID MultiSelectScopeId;
ImVec2 PlatformImePos;
ImVec2 PlatformImeLastPos;
bool SettingsLoaded;
float SettingsDirtyTimer;
ImGuiTextBuffer SettingsIniData;
ImVector_ImGuiSettingsHandler SettingsHandlers;
ImChunkStream_ImGuiWindowSettings SettingsWindows;
bool LogEnabled;
ImGuiLogType LogType;
ImFileHandle LogFile;
ImGuiTextBuffer LogBuffer;
float LogLinePosY;
bool LogLineFirstItem;
int LogDepthRef;
int LogDepthToExpand;
int LogDepthToExpandDefault;
bool DebugItemPickerActive;
ImGuiID DebugItemPickerBreakID;
float FramerateSecPerFrame[120];
int FramerateSecPerFrameIdx;
float FramerateSecPerFrameAccum;
int WantCaptureMouseNextFrame;
int WantCaptureKeyboardNextFrame;
int WantTextInputNextFrame;
char TempBuffer[1024*3+1];
};
struct ImGuiWindowTempData
{
ImVec2 CursorPos;
ImVec2 CursorPosPrevLine;
ImVec2 CursorStartPos;
ImVec2 CursorMaxPos;
ImVec2 CurrLineSize;
ImVec2 PrevLineSize;
float CurrLineTextBaseOffset;
float PrevLineTextBaseOffset;
int TreeDepth;
ImU32 TreeMayJumpToParentOnPopMask;
ImGuiID LastItemId;
ImGuiItemStatusFlags LastItemStatusFlags;
ImRect LastItemRect;
ImRect LastItemDisplayRect;
ImGuiNavLayer NavLayerCurrent;
int NavLayerCurrentMask;
int NavLayerActiveMask;
int NavLayerActiveMaskNext;
bool NavHideHighlightOneFrame;
bool NavHasScroll;
bool MenuBarAppending;
ImVec2 MenuBarOffset;
ImVector_ImGuiWindowPtr ChildWindows;
ImGuiStorage* StateStorage;
ImGuiLayoutType LayoutType;
ImGuiLayoutType ParentLayoutType;
int FocusCounterAll;
int FocusCounterTab;
ImGuiItemFlags ItemFlags;
float ItemWidth;
float TextWrapPos;
ImVector_ImGuiItemFlags ItemFlagsStack;
ImVector_float ItemWidthStack;
ImVector_float TextWrapPosStack;
ImVector_ImGuiGroupData GroupStack;
short StackSizesBackup[6];
ImVec1 Indent;
ImVec1 GroupOffset;
ImVec1 ColumnsOffset;
ImGuiColumns* CurrentColumns;
};
struct ImGuiWindow
{
char* Name;
ImGuiID ID;
ImGuiWindowFlags Flags;
ImVec2 Pos;
ImVec2 Size;
ImVec2 SizeFull;
ImVec2 ContentSize;
ImVec2 ContentSizeExplicit;
ImVec2 WindowPadding;
float WindowRounding;
float WindowBorderSize;
int NameBufLen;
ImGuiID MoveId;
ImGuiID ChildId;
ImVec2 Scroll;
ImVec2 ScrollMax;
ImVec2 ScrollTarget;
ImVec2 ScrollTargetCenterRatio;
ImVec2 ScrollbarSizes;
bool ScrollbarX, ScrollbarY;
bool Active;
bool WasActive;
bool WriteAccessed;
bool Collapsed;
bool WantCollapseToggle;
bool SkipItems;
bool Appearing;
bool Hidden;
bool HasCloseButton;
signed char ResizeBorderHeld;
short BeginCount;
short BeginOrderWithinParent;
short BeginOrderWithinContext;
ImGuiID PopupId;
ImS8 AutoFitFramesX, AutoFitFramesY;
ImS8 AutoFitChildAxises;
bool AutoFitOnlyGrows;
ImGuiDir AutoPosLastDirection;
int HiddenFramesCanSkipItems;
int HiddenFramesCannotSkipItems;
ImGuiCond SetWindowPosAllowFlags;
ImGuiCond SetWindowSizeAllowFlags;
ImGuiCond SetWindowCollapsedAllowFlags;
ImVec2 SetWindowPosVal;
ImVec2 SetWindowPosPivot;
ImVector_ImGuiID IDStack;
ImGuiWindowTempData DC;
ImRect OuterRectClipped;
ImRect InnerRect;
ImRect InnerClipRect;
ImRect WorkRect;
ImRect ClipRect;
ImRect ContentRegionRect;
int LastFrameActive;
float LastTimeActive;
float ItemWidthDefault;
ImGuiMenuColumns MenuColumns;
ImGuiStorage StateStorage;
ImVector_ImGuiColumns ColumnsStorage;
float FontWindowScale;
int SettingsOffset;
ImDrawList* DrawList;
ImDrawList DrawListInst;
ImGuiWindow* ParentWindow;
ImGuiWindow* RootWindow;
ImGuiWindow* RootWindowForTitleBarHighlight;
ImGuiWindow* RootWindowForNav;
ImGuiWindow* NavLastChildNavWindow;
ImGuiID NavLastIds[ImGuiNavLayer_COUNT];
ImRect NavRectRel[ImGuiNavLayer_COUNT];
bool MemoryCompacted;
int MemoryDrawListIdxCapacity;
int MemoryDrawListVtxCapacity;
};
struct ImGuiItemHoveredDataBackup
{
ImGuiID LastItemId;
ImGuiItemStatusFlags LastItemStatusFlags;
ImRect LastItemRect;
ImRect LastItemDisplayRect;
};
typedef enum {
ImGuiTabBarFlags_DockNode = 1 << 20,
ImGuiTabBarFlags_IsFocused = 1 << 21,
ImGuiTabBarFlags_SaveSettings = 1 << 22
}ImGuiTabBarFlagsPrivate_;
typedef enum {
ImGuiTabItemFlags_NoCloseButton = 1 << 20
}ImGuiTabItemFlagsPrivate_;
struct ImGuiTabItem
{
ImGuiID ID;
ImGuiTabItemFlags Flags;
int LastFrameVisible;
int LastFrameSelected;
int NameOffset;
float Offset;
float Width;
float ContentWidth;
};
struct ImGuiTabBar
{
ImVector_ImGuiTabItem Tabs;
ImGuiID ID;
ImGuiID SelectedTabId;
ImGuiID NextSelectedTabId;
ImGuiID VisibleTabId;
int CurrFrameVisible;
int PrevFrameVisible;
ImRect BarRect;
float LastTabContentHeight;
float OffsetMax;
float OffsetMaxIdeal;
float OffsetNextTab;
float ScrollingAnim;
float ScrollingTarget;
float ScrollingTargetDistToVisibility;
float ScrollingSpeed;
ImGuiTabBarFlags Flags;
ImGuiID ReorderRequestTabId;
ImS8 ReorderRequestDir;
bool WantLayout;
bool VisibleTabWasSubmitted;
short LastTabItemIdx;
ImVec2 FramePadding;
ImGuiTextBuffer TabsNames;
};
#endif

View File

@@ -820,6 +820,8 @@ function M.Parser()
end
--clean mutable
it2 = it2:gsub("mutable","")
--clean namespaces
it2 = it2:gsub("%w+::","")
--skip static variables
if not (it.re_name == "vardef_re" and it2:match"static") then
table.insert(outtab,it2)
@@ -850,6 +852,20 @@ function M.Parser()
end
end
end
--get structs in namespace
for i,it in ipairs(itemsarr) do
if it.re_name == "namespace_re" then
local nsp = it.item:match("%b{}"):sub(2,-2)
local namespace = it.item:match("namespace%s+(%S+)")
local nspparr,itemsnsp = parseItems(nsp)
for insp,itnsp in ipairs(nspparr) do
if itnsp.re_name == "struct_re" then --or itnsp.re_name == "functionD_re" then
--print("in mamespace",itnsp.item,namespace)
table.insert(outtab,itnsp.item)
end
end
end
end
--then structs and enums
for i,it in ipairs(itemsarr) do
if it.re_name == "enum_re" then

View File

@@ -433,7 +433,7 @@ local serializeTableF = cpp2ffi.serializeTableF
----------custom ImVector templates
local function generate_templates(code,templates)
table.insert(code,[[typedef struct ImVector{int Size;int Capacity;void* Data;} ImVector;]].."\n")
table.insert(code,"\n"..[[typedef struct ImVector{int Size;int Capacity;void* Data;} ImVector;]].."\n")
for ttype,v in pairs(templates) do
--local te = k:gsub("%s","_")
--te = te:gsub("%*","Ptr")
@@ -442,10 +442,16 @@ local function generate_templates(code,templates)
table.insert(code,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n")
end
elseif ttype == "ImPool" then
--declare ImGuiStorage
for te,newte in pairs(v) do
table.insert(code,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n")
table.insert(code,"typedef struct ImPool_"..newte.." {ImVector_"..te.." Buf;ImGuiStorage Map;ImPoolIdx FreeIdx;} ImPool_"..newte..";\n")
end
elseif ttype == "ImChunkStream" then
for te,newte in pairs(v) do
table.insert(code,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n")
table.insert(code,"typedef struct ImChunkStream_"..newte.." {ImVector_"..te.." Buf;} ImChunkStream_"..newte..";\n")
end
end
end
end
@@ -482,6 +488,7 @@ local function cimgui_generation(parser)
local outtab = {}
generate_templates(outtab,parser.templates)
local cstructsstr = outpre..table.concat(outtab,"")..outpost..(extra or "")
hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr)
@@ -562,7 +569,25 @@ print("------------------generation with "..COMPILER.."------------------------"
local parser1 = parseImGuiHeader([[../imgui/imgui.h]],{[[imgui]]})
parser1:do_parse()
----------- add ImGuiContext from imgui_internal.h
---------- generate cimgui_internal.h
local parser1i = parseImGuiHeader([[../imgui/imgui_internal.h]],{[[imgui_internal]],[[imstb_textedit]]})
parser1i:do_parse()
local outpre,outpost = parser1i:gen_structs_and_enums()
--avoid T
parser1i.templates.ImVector.T = nil
for k,v in pairs(parser1i.templates.ImVector) do
if parser1.templates.ImVector[k] then parser1i.templates.ImVector[k]=nil end
end
local outtab = {}
generate_templates(outtab,parser1i.templates)
--drop first
table.remove(outtab,1)
local cstructsstr = outpre..table.concat(outtab,"")..outpost..(extra or "")
local cfuncsstr = func_header_generate(parser1i)
save_data("./output/cimgui_internal.h",cimgui_header,"#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n",cstructsstr,"\n#endif\n")--,cfuncsstr)
copyfile("./output/cimgui_internal.h", "../cimgui_internal.h")
----------- add only ImGuiContext from imgui_internal.h to parser1
--[=[
local parser1i = parseImGuiHeader([[../imgui/imgui_internal.h]],{[[imgui_internal]],[[imstb_textedit]]})
parser1i:do_parse()

View File

@@ -134,7 +134,8 @@ typedef unsigned int ImU32;
typedef int64_t ImS64;
typedef uint64_t ImU64;
typedef void (*ImDrawCallback)(const ImDrawList* parent_list, const ImDrawCmd* cmd);
typedef unsigned short ImDrawIdx;typedef struct ImVector{int Size;int Capacity;void* Data;} ImVector;
typedef unsigned short ImDrawIdx;
typedef struct ImVector{int Size;int Capacity;void* Data;} ImVector;
typedef struct ImVector_float {int Size;int Capacity;float* Data;} ImVector_float;
typedef struct ImVector_ImWchar {int Size;int Capacity;ImWchar* Data;} ImVector_ImWchar;
typedef struct ImVector_ImDrawVert {int Size;int Capacity;ImDrawVert* Data;} ImVector_ImDrawVert;

View File

@@ -0,0 +1,815 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.74" from Dear ImGui https://github.com/ocornut/imgui
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct ImGuiPtrOrIndex ImGuiPtrOrIndex;
typedef struct ImGuiShrinkWidthItem ImGuiShrinkWidthItem;
typedef struct ImVec2ih ImVec2ih;
typedef struct ImVec1 ImVec1;
typedef struct ImGuiWindowSettings ImGuiWindowSettings;
typedef struct ImGuiWindowTempData ImGuiWindowTempData;
typedef struct ImGuiWindow ImGuiWindow;
typedef struct ImGuiTabItem ImGuiTabItem;
typedef struct ImGuiTabBar ImGuiTabBar;
typedef struct ImGuiStyleMod ImGuiStyleMod;
typedef struct ImGuiSettingsHandler ImGuiSettingsHandler;
typedef struct ImGuiPopupData ImGuiPopupData;
typedef struct ImGuiNextItemData ImGuiNextItemData;
typedef struct ImGuiNextWindowData ImGuiNextWindowData;
typedef struct ImGuiNavMoveResult ImGuiNavMoveResult;
typedef struct ImGuiMenuColumns ImGuiMenuColumns;
typedef struct ImGuiItemHoveredDataBackup ImGuiItemHoveredDataBackup;
typedef struct ImGuiInputTextState ImGuiInputTextState;
typedef struct ImGuiGroupData ImGuiGroupData;
typedef struct ImGuiDataTypeInfo ImGuiDataTypeInfo;
typedef struct ImGuiContext ImGuiContext;
typedef struct ImGuiColumns ImGuiColumns;
typedef struct ImGuiColumnData ImGuiColumnData;
typedef struct ImGuiColorMod ImGuiColorMod;
typedef struct ImDrawListSharedData ImDrawListSharedData;
typedef struct ImDrawDataBuilder ImDrawDataBuilder;
typedef struct ImRect ImRect;
typedef struct ImBoolVector ImBoolVector;
struct ImBoolVector;
struct ImRect;
struct ImDrawDataBuilder;
struct ImDrawListSharedData;
struct ImGuiColorMod;
struct ImGuiColumnData;
struct ImGuiColumns;
struct ImGuiContext;
struct ImGuiDataTypeInfo;
struct ImGuiGroupData;
struct ImGuiInputTextState;
struct ImGuiItemHoveredDataBackup;
struct ImGuiMenuColumns;
struct ImGuiNavMoveResult;
struct ImGuiNextWindowData;
struct ImGuiNextItemData;
struct ImGuiPopupData;
struct ImGuiSettingsHandler;
struct ImGuiStyleMod;
struct ImGuiTabBar;
struct ImGuiTabItem;
struct ImGuiWindow;
struct ImGuiWindowTempData;
struct ImGuiWindowSettings;
typedef int ImGuiLayoutType;
typedef int ImGuiButtonFlags;
typedef int ImGuiColumnsFlags;
typedef int ImGuiDragFlags;
typedef int ImGuiItemFlags;
typedef int ImGuiItemStatusFlags;
typedef int ImGuiNavHighlightFlags;
typedef int ImGuiNavDirSourceFlags;
typedef int ImGuiNavMoveFlags;
typedef int ImGuiNextItemDataFlags;
typedef int ImGuiNextWindowDataFlags;
typedef int ImGuiSeparatorFlags;
typedef int ImGuiSliderFlags;
typedef int ImGuiTextFlags;
extern ImGuiContext* GImGui;
typedef FILE* ImFileHandle;
typedef int ImPoolIdx;typedef struct ImVector_unsigned_char {int Size;int Capacity;unsigned char* Data;} ImVector_unsigned_char;
typedef struct ImVector_ImGuiSettingsHandler {int Size;int Capacity;ImGuiSettingsHandler* Data;} ImVector_ImGuiSettingsHandler;
typedef struct ImVector_ImGuiStyleMod {int Size;int Capacity;ImGuiStyleMod* Data;} ImVector_ImGuiStyleMod;
typedef struct ImVector_ImGuiPopupData {int Size;int Capacity;ImGuiPopupData* Data;} ImVector_ImGuiPopupData;
typedef struct ImVector_ImGuiItemFlags {int Size;int Capacity;ImGuiItemFlags* Data;} ImVector_ImGuiItemFlags;
typedef struct ImVector_ImGuiWindowPtr {int Size;int Capacity;ImGuiWindow** Data;} ImVector_ImGuiWindowPtr;
typedef struct ImVector_ImGuiTabItem {int Size;int Capacity;ImGuiTabItem* Data;} ImVector_ImGuiTabItem;
typedef struct ImVector_ImGuiShrinkWidthItem {int Size;int Capacity;ImGuiShrinkWidthItem* Data;} ImVector_ImGuiShrinkWidthItem;
typedef struct ImVector_ImGuiColumns {int Size;int Capacity;ImGuiColumns* Data;} ImVector_ImGuiColumns;
typedef struct ImVector_ImGuiID {int Size;int Capacity;ImGuiID* Data;} ImVector_ImGuiID;
typedef struct ImVector_ImGuiGroupData {int Size;int Capacity;ImGuiGroupData* Data;} ImVector_ImGuiGroupData;
typedef struct ImVector_ImGuiColumnData {int Size;int Capacity;ImGuiColumnData* Data;} ImVector_ImGuiColumnData;
typedef struct ImVector_int {int Size;int Capacity;int* Data;} ImVector_int;
typedef struct ImVector_ImGuiPtrOrIndex {int Size;int Capacity;ImGuiPtrOrIndex* Data;} ImVector_ImGuiPtrOrIndex;
typedef struct ImVector_ImDrawListPtr {int Size;int Capacity;ImDrawList** Data;} ImVector_ImDrawListPtr;
typedef struct ImVector_ImGuiColorMod {int Size;int Capacity;ImGuiColorMod* Data;} ImVector_ImGuiColorMod;
typedef struct ImVector_ImGuiWindowSettings {int Size;int Capacity;ImGuiWindowSettings* Data;} ImVector_ImGuiWindowSettings;
typedef struct ImChunkStream_ImGuiWindowSettings {ImVector_ImGuiWindowSettings Buf;} ImChunkStream_ImGuiWindowSettings;
typedef struct ImVector_ImGuiTabBar {int Size;int Capacity;ImGuiTabBar* Data;} ImVector_ImGuiTabBar;
typedef struct ImPool_ImGuiTabBar {ImVector_ImGuiTabBar Buf;ImGuiStorage Map;ImPoolIdx FreeIdx;} ImPool_ImGuiTabBar;
typedef struct
{
int where;
int insert_length;
int delete_length;
int char_storage;
} StbUndoRecord;
typedef struct
{
StbUndoRecord undo_rec [99];
ImWchar undo_char[999];
short undo_point, redo_point;
int undo_char_point, redo_char_point;
} StbUndoState;
typedef struct
{
int cursor;
int select_start;
int select_end;
unsigned char insert_mode;
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;
} STB_TexteditState;
typedef struct
{
float x0,x1;
float baseline_y_delta;
float ymin,ymax;
int num_chars;
} StbTexteditRow;
struct ImBoolVector
{
ImVector_int Storage;
};
typedef enum {
ImGuiButtonFlags_None = 0,
ImGuiButtonFlags_Repeat = 1 << 0,
ImGuiButtonFlags_PressedOnClickRelease = 1 << 1,
ImGuiButtonFlags_PressedOnClick = 1 << 2,
ImGuiButtonFlags_PressedOnRelease = 1 << 3,
ImGuiButtonFlags_PressedOnDoubleClick = 1 << 4,
ImGuiButtonFlags_FlattenChildren = 1 << 5,
ImGuiButtonFlags_AllowItemOverlap = 1 << 6,
ImGuiButtonFlags_DontClosePopups = 1 << 7,
ImGuiButtonFlags_Disabled = 1 << 8,
ImGuiButtonFlags_AlignTextBaseLine = 1 << 9,
ImGuiButtonFlags_NoKeyModifiers = 1 << 10,
ImGuiButtonFlags_NoHoldingActiveID = 1 << 11,
ImGuiButtonFlags_PressedOnDragDropHold = 1 << 12,
ImGuiButtonFlags_NoNavFocus = 1 << 13,
ImGuiButtonFlags_NoHoveredOnNav = 1 << 14
}ImGuiButtonFlags_;
typedef enum {
ImGuiSliderFlags_None = 0,
ImGuiSliderFlags_Vertical = 1 << 0
}ImGuiSliderFlags_;
typedef enum {
ImGuiDragFlags_None = 0,
ImGuiDragFlags_Vertical = 1 << 0
}ImGuiDragFlags_;
typedef enum {
ImGuiColumnsFlags_None = 0,
ImGuiColumnsFlags_NoBorder = 1 << 0,
ImGuiColumnsFlags_NoResize = 1 << 1,
ImGuiColumnsFlags_NoPreserveWidths = 1 << 2,
ImGuiColumnsFlags_NoForceWithinWindow = 1 << 3,
ImGuiColumnsFlags_GrowParentContentsSize= 1 << 4
}ImGuiColumnsFlags_;
typedef enum {
ImGuiSelectableFlags_NoHoldingActiveID = 1 << 20,
ImGuiSelectableFlags_PressedOnClick = 1 << 21,
ImGuiSelectableFlags_PressedOnRelease = 1 << 22,
ImGuiSelectableFlags_DrawFillAvailWidth = 1 << 23,
ImGuiSelectableFlags_DrawHoveredWhenHeld= 1 << 24,
ImGuiSelectableFlags_SetNavIdOnHover = 1 << 25
}ImGuiSelectableFlagsPrivate_;
typedef enum {
ImGuiTreeNodeFlags_ClipLabelForTrailingButton = 1 << 20
}ImGuiTreeNodeFlagsPrivate_;
typedef enum {
ImGuiSeparatorFlags_None = 0,
ImGuiSeparatorFlags_Horizontal = 1 << 0,
ImGuiSeparatorFlags_Vertical = 1 << 1,
ImGuiSeparatorFlags_SpanAllColumns = 1 << 2
}ImGuiSeparatorFlags_;
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_Default_ = 0
}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_;
typedef enum {
ImGuiTextFlags_None = 0,
ImGuiTextFlags_NoWidthForLargeClippedText = 1 << 0
}ImGuiTextFlags_;
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;
typedef enum {
ImGuiInputSource_None = 0,
ImGuiInputSource_Mouse,
ImGuiInputSource_Nav,
ImGuiInputSource_NavKeyboard,
ImGuiInputSource_NavGamepad,
ImGuiInputSource_COUNT
}ImGuiInputSource;
typedef enum {
ImGuiInputReadMode_Down,
ImGuiInputReadMode_Pressed,
ImGuiInputReadMode_Released,
ImGuiInputReadMode_Repeat,
ImGuiInputReadMode_RepeatSlow,
ImGuiInputReadMode_RepeatFast
}ImGuiInputReadMode;
typedef enum {
ImGuiNavHighlightFlags_None = 0,
ImGuiNavHighlightFlags_TypeDefault = 1 << 0,
ImGuiNavHighlightFlags_TypeThin = 1 << 1,
ImGuiNavHighlightFlags_AlwaysDraw = 1 << 2,
ImGuiNavHighlightFlags_NoRounding = 1 << 3
}ImGuiNavHighlightFlags_;
typedef enum {
ImGuiNavDirSourceFlags_None = 0,
ImGuiNavDirSourceFlags_Keyboard = 1 << 0,
ImGuiNavDirSourceFlags_PadDPad = 1 << 1,
ImGuiNavDirSourceFlags_PadLStick = 1 << 2
}ImGuiNavDirSourceFlags_;
typedef enum {
ImGuiNavMoveFlags_None = 0,
ImGuiNavMoveFlags_LoopX = 1 << 0,
ImGuiNavMoveFlags_LoopY = 1 << 1,
ImGuiNavMoveFlags_WrapX = 1 << 2,
ImGuiNavMoveFlags_WrapY = 1 << 3,
ImGuiNavMoveFlags_AllowCurrentNavId = 1 << 4,
ImGuiNavMoveFlags_AlsoScoreVisibleSet = 1 << 5,
ImGuiNavMoveFlags_ScrollToEdge = 1 << 6
}ImGuiNavMoveFlags_;
typedef enum {
ImGuiNavForward_None,
ImGuiNavForward_ForwardQueued,
ImGuiNavForward_ForwardActive
}ImGuiNavForward;
typedef enum {
ImGuiNavLayer_Main = 0,
ImGuiNavLayer_Menu = 1,
ImGuiNavLayer_COUNT
}ImGuiNavLayer;
typedef enum {
ImGuiPopupPositionPolicy_Default,
ImGuiPopupPositionPolicy_ComboBox
}ImGuiPopupPositionPolicy;
struct ImVec1
{
float x;
};
struct ImVec2ih
{
short x, y;
};
struct ImRect
{
ImVec2 Min;
ImVec2 Max;
};
struct ImGuiDataTypeInfo
{
size_t Size;
const char* PrintFmt;
const char* ScanFmt;
};
struct ImGuiColorMod
{
ImGuiCol Col;
ImVec4 BackupValue;
};
struct ImGuiStyleMod
{
ImGuiStyleVar VarIdx;
union { int BackupInt[2]; float BackupFloat[2]; };
};
struct ImGuiGroupData
{
ImVec2 BackupCursorPos;
ImVec2 BackupCursorMaxPos;
ImVec1 BackupIndent;
ImVec1 BackupGroupOffset;
ImVec2 BackupCurrLineSize;
float BackupCurrLineTextBaseOffset;
ImGuiID BackupActiveIdIsAlive;
bool BackupActiveIdPreviousFrameIsAlive;
bool EmitItem;
};
struct ImGuiMenuColumns
{
float Spacing;
float Width, NextWidth;
float Pos[3], NextWidths[3];
};
struct ImGuiInputTextState
{
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;
ImGuiInputTextFlags UserFlags;
ImGuiInputTextCallback UserCallback;
void* UserCallbackData;
};
struct ImGuiWindowSettings
{
ImGuiID ID;
ImVec2ih Pos;
ImVec2ih Size;
bool Collapsed;
};
struct ImGuiSettingsHandler
{
const char* TypeName;
ImGuiID TypeHash;
void* (*ReadOpenFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, const char* name);
void (*ReadLineFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, void* entry, const char* line);
void (*WriteAllFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, ImGuiTextBuffer* out_buf);
void* UserData;
};
struct ImGuiPopupData
{
ImGuiID PopupId;
ImGuiWindow* Window;
ImGuiWindow* SourceWindow;
int OpenFrameCount;
ImGuiID OpenParentId;
ImVec2 OpenPopupPos;
ImVec2 OpenMousePos;
};
struct ImGuiColumnData
{
float OffsetNorm;
float OffsetNormBeforeResize;
ImGuiColumnsFlags Flags;
ImRect ClipRect;
};
struct ImGuiColumns
{
ImGuiID ID;
ImGuiColumnsFlags Flags;
bool IsFirstFrame;
bool IsBeingResized;
int Current;
int Count;
float OffMinX, OffMaxX;
float LineMinY, LineMaxY;
float HostCursorPosY;
float HostCursorMaxPosX;
ImRect HostClipRect;
ImRect HostWorkRect;
ImVector_ImGuiColumnData Columns;
};
struct ImDrawListSharedData
{
ImVec2 TexUvWhitePixel;
ImFont* Font;
float FontSize;
float CurveTessellationTol;
ImVec4 ClipRectFullscreen;
ImDrawListFlags InitialFlags;
ImVec2 CircleVtx12[12];
};
struct ImDrawDataBuilder
{
ImVector_ImDrawListPtr Layers[2];
};
struct ImGuiNavMoveResult
{
ImGuiID ID;
ImGuiID SelectScopeId;
ImGuiWindow* Window;
float DistBox;
float DistCenter;
float DistAxial;
ImRect RectRel;
};
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_;
struct ImGuiNextWindowData
{
ImGuiNextWindowDataFlags Flags;
ImGuiCond PosCond;
ImGuiCond SizeCond;
ImGuiCond CollapsedCond;
ImVec2 PosVal;
ImVec2 PosPivotVal;
ImVec2 SizeVal;
ImVec2 ContentSizeVal;
bool CollapsedVal;
ImRect SizeConstraintRect;
ImGuiSizeCallback SizeCallback;
void* SizeCallbackUserData;
float BgAlphaVal;
ImVec2 MenuBarOffsetMinVal;
};
typedef enum {
ImGuiNextItemDataFlags_None = 0,
ImGuiNextItemDataFlags_HasWidth = 1 << 0,
ImGuiNextItemDataFlags_HasOpen = 1 << 1
}ImGuiNextItemDataFlags_;
struct ImGuiNextItemData
{
ImGuiNextItemDataFlags Flags;
float Width;
bool OpenVal;
ImGuiCond OpenCond;
};
struct ImGuiShrinkWidthItem
{
int Index;
float Width;
};
struct ImGuiPtrOrIndex
{
void* Ptr;
int Index;
};
struct ImGuiContext
{
bool Initialized;
bool FontAtlasOwnedByContext;
ImGuiIO IO;
ImGuiStyle Style;
ImFont* Font;
float FontSize;
float FontBaseSize;
ImDrawListSharedData DrawListSharedData;
double Time;
int FrameCount;
int FrameCountEnded;
int FrameCountRendered;
bool WithinFrameScope;
bool WithinFrameScopeWithImplicitWindow;
bool WithinEndChild;
ImVector_ImGuiWindowPtr Windows;
ImVector_ImGuiWindowPtr WindowsFocusOrder;
ImVector_ImGuiWindowPtr WindowsSortBuffer;
ImVector_ImGuiWindowPtr CurrentWindowStack;
ImGuiStorage WindowsById;
int WindowsActiveCount;
ImGuiWindow* CurrentWindow;
ImGuiWindow* HoveredWindow;
ImGuiWindow* HoveredRootWindow;
ImGuiWindow* MovingWindow;
ImGuiWindow* WheelingWindow;
ImVec2 WheelingWindowRefMousePos;
float WheelingWindowTimer;
ImGuiID HoveredId;
bool HoveredIdAllowOverlap;
ImGuiID HoveredIdPreviousFrame;
float HoveredIdTimer;
float HoveredIdNotActiveTimer;
ImGuiID ActiveId;
ImGuiID ActiveIdIsAlive;
float ActiveIdTimer;
bool ActiveIdIsJustActivated;
bool ActiveIdAllowOverlap;
bool ActiveIdHasBeenPressedBefore;
bool ActiveIdHasBeenEditedBefore;
bool ActiveIdHasBeenEditedThisFrame;
ImU32 ActiveIdUsingNavDirMask;
ImU32 ActiveIdUsingNavInputMask;
ImU64 ActiveIdUsingKeyInputMask;
ImVec2 ActiveIdClickOffset;
ImGuiWindow* ActiveIdWindow;
ImGuiInputSource ActiveIdSource;
ImGuiID ActiveIdPreviousFrame;
bool ActiveIdPreviousFrameIsAlive;
bool ActiveIdPreviousFrameHasBeenEditedBefore;
ImGuiWindow* ActiveIdPreviousFrameWindow;
ImGuiID LastActiveId;
float LastActiveIdTimer;
ImGuiNextWindowData NextWindowData;
ImGuiNextItemData NextItemData;
ImVector_ImGuiColorMod ColorModifiers;
ImVector_ImGuiStyleMod StyleModifiers;
ImVector_ImFontPtr FontStack;
ImVector_ImGuiPopupData OpenPopupStack;
ImVector_ImGuiPopupData BeginPopupStack;
ImGuiWindow* NavWindow;
ImGuiID NavId;
ImGuiID NavActivateId;
ImGuiID NavActivateDownId;
ImGuiID NavActivatePressedId;
ImGuiID NavInputId;
ImGuiID NavJustTabbedId;
ImGuiID NavJustMovedToId;
ImGuiID NavJustMovedToMultiSelectScopeId;
ImGuiID NavNextActivateId;
ImGuiInputSource NavInputSource;
ImRect NavScoringRectScreen;
int NavScoringCount;
ImGuiWindow* NavWindowingTarget;
ImGuiWindow* NavWindowingTargetAnim;
ImGuiWindow* NavWindowingList;
float NavWindowingTimer;
float NavWindowingHighlightAlpha;
bool NavWindowingToggleLayer;
ImGuiNavLayer NavLayer;
int NavIdTabCounter;
bool NavIdIsAlive;
bool NavMousePosDirty;
bool NavDisableHighlight;
bool NavDisableMouseHover;
bool NavAnyRequest;
bool NavInitRequest;
bool NavInitRequestFromMove;
ImGuiID NavInitResultId;
ImRect NavInitResultRectRel;
bool NavMoveFromClampedRefRect;
bool NavMoveRequest;
ImGuiNavMoveFlags NavMoveRequestFlags;
ImGuiNavForward NavMoveRequestForward;
ImGuiDir NavMoveDir, NavMoveDirLast;
ImGuiDir NavMoveClipDir;
ImGuiNavMoveResult NavMoveResultLocal;
ImGuiNavMoveResult NavMoveResultLocalVisibleSet;
ImGuiNavMoveResult NavMoveResultOther;
ImGuiWindow* FocusRequestCurrWindow;
ImGuiWindow* FocusRequestNextWindow;
int FocusRequestCurrCounterAll;
int FocusRequestCurrCounterTab;
int FocusRequestNextCounterAll;
int FocusRequestNextCounterTab;
bool FocusTabPressed;
ImDrawData DrawData;
ImDrawDataBuilder DrawDataBuilder;
float DimBgRatio;
ImDrawList BackgroundDrawList;
ImDrawList ForegroundDrawList;
ImGuiMouseCursor MouseCursor;
bool DragDropActive;
bool DragDropWithinSourceOrTarget;
ImGuiDragDropFlags DragDropSourceFlags;
int DragDropSourceFrameCount;
int DragDropMouseButton;
ImGuiPayload DragDropPayload;
ImRect DragDropTargetRect;
ImGuiID DragDropTargetId;
ImGuiDragDropFlags DragDropAcceptFlags;
float DragDropAcceptIdCurrRectSurface;
ImGuiID DragDropAcceptIdCurr;
ImGuiID DragDropAcceptIdPrev;
int DragDropAcceptFrameCount;
ImVector_unsigned_char DragDropPayloadBufHeap;
unsigned char DragDropPayloadBufLocal[16];
ImGuiTabBar* CurrentTabBar;
ImPool_ImGuiTabBar TabBars;
ImVector_ImGuiPtrOrIndex CurrentTabBarStack;
ImVector_ImGuiShrinkWidthItem ShrinkWidthBuffer;
ImVec2 LastValidMousePos;
ImGuiInputTextState InputTextState;
ImFont InputTextPasswordFont;
ImGuiID TempInputTextId;
ImGuiColorEditFlags ColorEditOptions;
float ColorEditLastHue;
float ColorEditLastColor[3];
ImVec4 ColorPickerRef;
bool DragCurrentAccumDirty;
float DragCurrentAccum;
float DragSpeedDefaultRatio;
float ScrollbarClickDeltaToGrabCenter;
int TooltipOverrideCount;
ImVector_char PrivateClipboard;
ImGuiID MultiSelectScopeId;
ImVec2 PlatformImePos;
ImVec2 PlatformImeLastPos;
bool SettingsLoaded;
float SettingsDirtyTimer;
ImGuiTextBuffer SettingsIniData;
ImVector_ImGuiSettingsHandler SettingsHandlers;
ImChunkStream_ImGuiWindowSettings SettingsWindows;
bool LogEnabled;
ImGuiLogType LogType;
ImFileHandle LogFile;
ImGuiTextBuffer LogBuffer;
float LogLinePosY;
bool LogLineFirstItem;
int LogDepthRef;
int LogDepthToExpand;
int LogDepthToExpandDefault;
bool DebugItemPickerActive;
ImGuiID DebugItemPickerBreakID;
float FramerateSecPerFrame[120];
int FramerateSecPerFrameIdx;
float FramerateSecPerFrameAccum;
int WantCaptureMouseNextFrame;
int WantCaptureKeyboardNextFrame;
int WantTextInputNextFrame;
char TempBuffer[1024*3+1];
};
struct ImGuiWindowTempData
{
ImVec2 CursorPos;
ImVec2 CursorPosPrevLine;
ImVec2 CursorStartPos;
ImVec2 CursorMaxPos;
ImVec2 CurrLineSize;
ImVec2 PrevLineSize;
float CurrLineTextBaseOffset;
float PrevLineTextBaseOffset;
int TreeDepth;
ImU32 TreeMayJumpToParentOnPopMask;
ImGuiID LastItemId;
ImGuiItemStatusFlags LastItemStatusFlags;
ImRect LastItemRect;
ImRect LastItemDisplayRect;
ImGuiNavLayer NavLayerCurrent;
int NavLayerCurrentMask;
int NavLayerActiveMask;
int NavLayerActiveMaskNext;
bool NavHideHighlightOneFrame;
bool NavHasScroll;
bool MenuBarAppending;
ImVec2 MenuBarOffset;
ImVector_ImGuiWindowPtr ChildWindows;
ImGuiStorage* StateStorage;
ImGuiLayoutType LayoutType;
ImGuiLayoutType ParentLayoutType;
int FocusCounterAll;
int FocusCounterTab;
ImGuiItemFlags ItemFlags;
float ItemWidth;
float TextWrapPos;
ImVector_ImGuiItemFlags ItemFlagsStack;
ImVector_float ItemWidthStack;
ImVector_float TextWrapPosStack;
ImVector_ImGuiGroupData GroupStack;
short StackSizesBackup[6];
ImVec1 Indent;
ImVec1 GroupOffset;
ImVec1 ColumnsOffset;
ImGuiColumns* CurrentColumns;
};
struct ImGuiWindow
{
char* Name;
ImGuiID ID;
ImGuiWindowFlags Flags;
ImVec2 Pos;
ImVec2 Size;
ImVec2 SizeFull;
ImVec2 ContentSize;
ImVec2 ContentSizeExplicit;
ImVec2 WindowPadding;
float WindowRounding;
float WindowBorderSize;
int NameBufLen;
ImGuiID MoveId;
ImGuiID ChildId;
ImVec2 Scroll;
ImVec2 ScrollMax;
ImVec2 ScrollTarget;
ImVec2 ScrollTargetCenterRatio;
ImVec2 ScrollbarSizes;
bool ScrollbarX, ScrollbarY;
bool Active;
bool WasActive;
bool WriteAccessed;
bool Collapsed;
bool WantCollapseToggle;
bool SkipItems;
bool Appearing;
bool Hidden;
bool HasCloseButton;
signed char ResizeBorderHeld;
short BeginCount;
short BeginOrderWithinParent;
short BeginOrderWithinContext;
ImGuiID PopupId;
ImS8 AutoFitFramesX, AutoFitFramesY;
ImS8 AutoFitChildAxises;
bool AutoFitOnlyGrows;
ImGuiDir AutoPosLastDirection;
int HiddenFramesCanSkipItems;
int HiddenFramesCannotSkipItems;
ImGuiCond SetWindowPosAllowFlags;
ImGuiCond SetWindowSizeAllowFlags;
ImGuiCond SetWindowCollapsedAllowFlags;
ImVec2 SetWindowPosVal;
ImVec2 SetWindowPosPivot;
ImVector_ImGuiID IDStack;
ImGuiWindowTempData DC;
ImRect OuterRectClipped;
ImRect InnerRect;
ImRect InnerClipRect;
ImRect WorkRect;
ImRect ClipRect;
ImRect ContentRegionRect;
int LastFrameActive;
float LastTimeActive;
float ItemWidthDefault;
ImGuiMenuColumns MenuColumns;
ImGuiStorage StateStorage;
ImVector_ImGuiColumns ColumnsStorage;
float FontWindowScale;
int SettingsOffset;
ImDrawList* DrawList;
ImDrawList DrawListInst;
ImGuiWindow* ParentWindow;
ImGuiWindow* RootWindow;
ImGuiWindow* RootWindowForTitleBarHighlight;
ImGuiWindow* RootWindowForNav;
ImGuiWindow* NavLastChildNavWindow;
ImGuiID NavLastIds[ImGuiNavLayer_COUNT];
ImRect NavRectRel[ImGuiNavLayer_COUNT];
bool MemoryCompacted;
int MemoryDrawListIdxCapacity;
int MemoryDrawListVtxCapacity;
};
struct ImGuiItemHoveredDataBackup
{
ImGuiID LastItemId;
ImGuiItemStatusFlags LastItemStatusFlags;
ImRect LastItemRect;
ImRect LastItemDisplayRect;
};
typedef enum {
ImGuiTabBarFlags_DockNode = 1 << 20,
ImGuiTabBarFlags_IsFocused = 1 << 21,
ImGuiTabBarFlags_SaveSettings = 1 << 22
}ImGuiTabBarFlagsPrivate_;
typedef enum {
ImGuiTabItemFlags_NoCloseButton = 1 << 20
}ImGuiTabItemFlagsPrivate_;
struct ImGuiTabItem
{
ImGuiID ID;
ImGuiTabItemFlags Flags;
int LastFrameVisible;
int LastFrameSelected;
int NameOffset;
float Offset;
float Width;
float ContentWidth;
};
struct ImGuiTabBar
{
ImVector_ImGuiTabItem Tabs;
ImGuiID ID;
ImGuiID SelectedTabId;
ImGuiID NextSelectedTabId;
ImGuiID VisibleTabId;
int CurrFrameVisible;
int PrevFrameVisible;
ImRect BarRect;
float LastTabContentHeight;
float OffsetMax;
float OffsetMaxIdeal;
float OffsetNextTab;
float ScrollingAnim;
float ScrollingTarget;
float ScrollingTargetDistToVisibility;
float ScrollingSpeed;
ImGuiTabBarFlags Flags;
ImGuiID ReorderRequestTabId;
ImS8 ReorderRequestDir;
bool WantLayout;
bool VisibleTabWasSubmitted;
short LastTabItemIdx;
ImVec2 FramePadding;
ImGuiTextBuffer TabsNames;
};
#endif