Merge pull request #126 from cimgui/internal_funcs

Internal funcs
This commit is contained in:
Victor Bombi
2020-03-27 12:27:56 +01:00
committed by GitHub
15 changed files with 83 additions and 11438 deletions

View File

@@ -31,7 +31,7 @@ Notes:
* you will need LuaJIT (https://github.com/LuaJIT/LuaJIT.git better 2.1 branch) or precompiled for linux/macOS/windows in https://luapower.com/luajit/download
* you can use also a C++ compiler for doing preprocessing: gcc (In windows MinGW-W64-builds for example), clang or cl (MSVC) or not use a compiler (experimental nocompiler option) at all. (this repo was done with gcc)
* update `imgui` folder to the version you desire.
* edit `generator/generator.bat` on windows, or `generator/generator.sh` on linux, to choose between gcc, clang, cl or nocompiler and to choose desired implementations.
* edit `generator/generator.bat` on windows, or `generator/generator.sh` on linux, to choose between gcc, clang, cl or nocompiler and to choose desired implementations and if imgui_internal is generated or not.
* edit config_generator.lua for adding includes needed by your chosen implementations.
* Run generator.bat or generator.sh with gcc, clang or cl and LuaJIT on your PATH.
* as a result some files are generated: `cimgui.cpp` and `cimgui.h` for compiling and some lua/json files with information about the binding: `definitions.json` with function info, `structs_and_enums.json` with struct and enum info, `impl_definitions.json` with functions from the implementations info.

View File

@@ -2550,6 +2550,7 @@ CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p)
p->~ImVector<ImWchar>();
}
#ifdef IMGUI_HAS_DOCK
// NOTE: Some function pointers in the ImGuiPlatformIO structure are not C-compatible because of their

View File

@@ -1542,10 +1542,13 @@ CIMGUI_API float igGET_FLT_MAX();
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 ImVector_ImWchar* ImVector_ImWchar_create();
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

View File

@@ -1,837 +0,0 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.75" 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;
typedef int ImGuiTooltipFlags;
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_PressedOnClick = 1 << 1,
ImGuiButtonFlags_PressedOnClickRelease = 1 << 2,
ImGuiButtonFlags_PressedOnClickReleaseAnywhere = 1 << 3,
ImGuiButtonFlags_PressedOnRelease = 1 << 4,
ImGuiButtonFlags_PressedOnDoubleClick = 1 << 5,
ImGuiButtonFlags_PressedOnDragDropHold = 1 << 6,
ImGuiButtonFlags_FlattenChildren = 1 << 7,
ImGuiButtonFlags_AllowItemOverlap = 1 << 8,
ImGuiButtonFlags_DontClosePopups = 1 << 9,
ImGuiButtonFlags_Disabled = 1 << 10,
ImGuiButtonFlags_AlignTextBaseLine = 1 << 11,
ImGuiButtonFlags_NoKeyModifiers = 1 << 12,
ImGuiButtonFlags_NoHoldingActiveId = 1 << 13,
ImGuiButtonFlags_NoNavFocus = 1 << 14,
ImGuiButtonFlags_NoHoveredOnNav = 1 << 15,
ImGuiButtonFlags_MouseButtonLeft = 1 << 16,
ImGuiButtonFlags_MouseButtonRight = 1 << 17,
ImGuiButtonFlags_MouseButtonMiddle = 1 << 18,
ImGuiButtonFlags_MouseButtonMask_ = ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight | ImGuiButtonFlags_MouseButtonMiddle,
ImGuiButtonFlags_MouseButtonShift_ = 16,
ImGuiButtonFlags_MouseButtonDefault_ = ImGuiButtonFlags_MouseButtonLeft,
ImGuiButtonFlags_PressedOnMask_ = ImGuiButtonFlags_PressedOnClick | ImGuiButtonFlags_PressedOnClickRelease | ImGuiButtonFlags_PressedOnClickReleaseAnywhere | ImGuiButtonFlags_PressedOnRelease | ImGuiButtonFlags_PressedOnDoubleClick | ImGuiButtonFlags_PressedOnDragDropHold,
ImGuiButtonFlags_PressedOnDefault_ = ImGuiButtonFlags_PressedOnClickRelease
}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 {
ImGuiTooltipFlags_None = 0,
ImGuiTooltipFlags_OverridePreviousTooltip = 1 << 0
}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;
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;
ImDrawListSplitter Splitter;
};
struct ImDrawListSharedData
{
ImVec2 TexUvWhitePixel;
ImFont* Font;
float FontSize;
float CurveTessellationTol;
float CircleSegmentMaxError;
ImVec4 ClipRectFullscreen;
ImDrawListFlags InitialFlags;
ImVec2 CircleVtx12[12];
ImU8 CircleSegmentCounts[64];
};
struct ImDrawDataBuilder
{
ImVector_ImDrawListPtr Layers[2];
};
struct ImGuiNavMoveResult
{
ImGuiWindow* Window;
ImGuiID ID;
ImGuiID FocusScopeId;
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;
ImGuiID FocusScopeId;
ImGuiCond OpenCond;
bool OpenVal;
};
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 WindowsTempSortBuffer;
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;
int ActiveIdMouseButton;
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 NavFocusScopeId;
ImGuiID NavActivateId;
ImGuiID NavActivateDownId;
ImGuiID NavActivatePressedId;
ImGuiID NavInputId;
ImGuiID NavJustTabbedId;
ImGuiID NavJustMovedToId;
ImGuiID NavJustMovedToFocusScopeId;
ImGuiID NavNextActivateId;
ImGuiInputSource NavInputSource;
ImRect NavScoringRectScreen;
int NavScoringCount;
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* NavWindowingTarget;
ImGuiWindow* NavWindowingTargetAnim;
ImGuiWindow* NavWindowingList;
float NavWindowingTimer;
float NavWindowingHighlightAlpha;
bool NavWindowingToggleLayer;
ImGuiWindow* FocusRequestCurrWindow;
ImGuiWindow* FocusRequestNextWindow;
int FocusRequestCurrCounterRegular;
int FocusRequestCurrCounterTabStop;
int FocusRequestNextCounterRegular;
int FocusRequestNextCounterTabStop;
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 ColorEditLastSat;
float ColorEditLastColor[3];
ImVec4 ColorPickerRef;
bool DragCurrentAccumDirty;
float DragCurrentAccum;
float DragSpeedDefaultRatio;
float ScrollbarClickDeltaToGrabCenter;
int TooltipOverrideCount;
ImVector_char PrivateClipboard;
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;
ImVec1 Indent;
ImVec1 ColumnsOffset;
ImVec1 GroupOffset;
ImGuiID LastItemId;
ImGuiItemStatusFlags LastItemStatusFlags;
ImRect LastItemRect;
ImRect LastItemDisplayRect;
ImGuiNavLayer NavLayerCurrent;
int NavLayerCurrentMask;
int NavLayerActiveMask;
int NavLayerActiveMaskNext;
ImGuiID NavFocusScopeIdCurrent;
bool NavHideHighlightOneFrame;
bool NavHasScroll;
bool MenuBarAppending;
ImVec2 MenuBarOffset;
ImGuiMenuColumns MenuColumns;
int TreeDepth;
ImU32 TreeJumpToParentOnPopMask;
ImVector_ImGuiWindowPtr ChildWindows;
ImGuiStorage* StateStorage;
ImGuiColumns* CurrentColumns;
ImGuiLayoutType LayoutType;
ImGuiLayoutType ParentLayoutType;
int FocusCounterRegular;
int FocusCounterTabStop;
ImGuiItemFlags ItemFlags;
float ItemWidth;
float TextWrapPos;
ImVector_ImGuiItemFlags ItemFlagsStack;
ImVector_float ItemWidthStack;
ImVector_float TextWrapPosStack;
ImVector_ImGuiGroupData GroupStack;
short StackSizesBackup[6];
};
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 IsFallbackWindow;
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;
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

@@ -59,6 +59,7 @@ CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p)
p->~ImVector<ImWchar>();
}
#ifdef IMGUI_HAS_DOCK
// NOTE: Some function pointers in the ImGuiPlatformIO structure are not C-compatible because of their

View File

@@ -82,10 +82,13 @@ CIMGUI_API float igGET_FLT_MAX();
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 ImVector_ImWchar* ImVector_ImWchar_create();
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

View File

@@ -129,7 +129,7 @@ end
local function clean_spaces(cad)
cad = strip(cad)
cad = cad:gsub("%s+"," ") --not more than one space
cad = cad:gsub("%s*([%(%),=:])%s*","%1") --not spaces with ( , ) or ( = ) or ( : )
cad = cad:gsub("%s*([%(%),=:%+])%s*","%1") --not spaces with ( , ) or ( = ) or ( : ) or +
return cad
end
@@ -428,9 +428,9 @@ local function parseFunction(self,stname,lineorig,namespace)
extraconst = extraconst:match("const")
if not args then
print"not gettint args in"
print(line,lineorig)
print(funcname,"args",args)
print"not gettint args in"
print(line,lineorig)
print(funcname,"args",args)
end
local argscsinpars = args:gsub("(=[^,%(%)]*)(%b())","%1")
@@ -453,15 +453,16 @@ local function parseFunction(self,stname,lineorig,namespace)
if self.typenames[stname] ~= template then --rule out template typename
te = template:gsub("%s","_")
te = te:gsub("%*","Ptr")
te = "_"..te
self.templates[ttype] = self.templates[ttype] or {}
self.templates[ttype][template] = te
te = "_"..te
end
end
--end
argscsinpars = argscsinpars:gsub("<([%w_%*]+)>",te) --ImVector
argscsinpars = argscsinpars:gsub("<([%w_%*%s]+)>",te) --ImVector
local argsArr = {}
local functype_re = "^%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)"
local functype_reex = "^(%s*[%w%s%*]+)%(%*([%w_]+)%)(%([^%(%)]*%))"
@@ -1016,7 +1017,6 @@ function M.Parser()
if not typen then -- Lets try Type*name
typen,rest = line:match("([^,]+%*)(%S+[,;])")
end
local template_type
for k,v in pairs(self.templates) do
template_type = typen:match(k.."_(.+)")
@@ -1137,13 +1137,13 @@ function M.Parser()
t.size = tonumber(val)
elseif allenums[val] then
t.size = allenums[val]
elseif val:match"%+" then
local s1,s2 = val:match("(%d+)%s*%+%s*(%d+)")
t.size = s1+s2
else
print("Error size is",val)
local f,err = loadstring("estevalor="..val)
if not f then print("error on loadstring",err,"with val:",val) end
f()
t.size = estevalor
end
assert(t.size)
assert(t.size,val)
end
end
end
@@ -1457,4 +1457,14 @@ local function location(file,locpathT,defines,COMPILER)
return location_it
end
M.location = location
--[=[
-- tests
local line = [[void DockBuilderCopyDockSpace(ImGuiID src_dockspace_id, ImGuiID dst_dockspace_id, ImVector<const char*>* in_window_remap_pairs);]]
local parser = M.Parser()
parser:insert(line)
parser:do_parse()
M.prtable(parser)
--]=]
return M

View File

@@ -10,13 +10,14 @@
:: impl_definitions.lua for implementation function definitions
:: set your PATH if necessary for LuaJIT or Lua5.1 or luajit with: (for example)
set PATH=%PATH%;C:\anima;C:\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\mingw32\bin;
set PATH=%PATH%;C:\anima;C:\mingws\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\mingw32\bin;
:: set PATH=%PATH%;C:\luaGL;C:\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\mingw32\bin;
:: set PATH=%PATH%;C:\luaGL\sources\luajit-master\luajit-master\bin\mingw32;C:\mingw32\bin;
::process files
:: arg[1] compiler name gcc, clang, cl or nocompiler
:: arg[2..n] name of implementations to generate
luajit ./generator.lua gcc glfw opengl3 opengl2 sdl
:: arg[2] imgui_internal functions generation: true or false
:: arg[3..n] name of implementations to generate
luajit ./generator.lua gcc false glfw opengl3 opengl2 sdl
::leave console open
cmd /k

View File

@@ -6,6 +6,7 @@ assert(_VERSION=='Lua 5.1',"Must use LuaJIT")
assert(bit,"Must use LuaJIT")
local script_args = {...}
local COMPILER = script_args[1]
local INTERNAL_GENERATION = script_args[2]=="true"
local CPRE,CTEST
if COMPILER == "gcc" or COMPILER == "clang" then
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]]
@@ -37,9 +38,10 @@ if CTEST then
end --CTEST
print("HAVE_COMPILER",HAVE_COMPILER)
print("INTERNAL_GENERATION",INTERNAL_GENERATION)
--get implementations
local implementations = {}
for i=2,#script_args do table.insert(implementations,script_args[i]) end
for i=3,#script_args do table.insert(implementations,script_args[i]) end
--------------------------------------------------------------------------
--this table has the functions to be skipped in generation
@@ -88,7 +90,22 @@ local cimgui_overloads = {
},
igPushStyleColor = {
["(ImGuiCol,const ImVec4)"] = "igPushStyleColor"
}
},
igSetScrollFromPosX = {
["(float,float)"] = "igSetScrollFromPosX"
},
igSetScrollFromPosY = {
["(float,float)"] = "igSetScrollFromPosY"
},
igSetScrollX = {
["(float)"] = "igSetScrollX"
},
igSetScrollY = {
["(float)"] = "igSetScrollY"
},
igIsPopupOpen ={
["(const char*)"] = "igIsPopupOpen"
},
}
--------------------------header definitions
@@ -442,7 +459,7 @@ end
----------custom ImVector templates
local function generate_templates(code,templates)
local function generate_templates(code,codeimpool,templates)
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","_")
@@ -454,8 +471,8 @@ local function generate_templates(code,templates)
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")
table.insert(codeimpool,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n")
table.insert(codeimpool,"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
@@ -497,9 +514,14 @@ local function cimgui_generation(parser)
cpp2ffi.prtable(parser.typenames)
local outtab = {}
generate_templates(outtab,parser.templates)
local outtabpool = {}
generate_templates(outtab, outtabpool, parser.templates)
--move outtabpool after ImGuiStorage definition
local outpost1, outpost2 = outpost:match("^(.+struct ImGuiStorage%s*\n%b{};\n)(.+)$")
outpost = outpost1..table.concat(outtabpool)..outpost2
local cstructsstr = outpre..table.concat(outtab,"")..outpost..(extra or "")
local cstructsstr = outpre..table.concat(outtab,"")..outpost --..(extra or "")
hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr)
local cfuncsstr = func_header_generate(parser)
@@ -582,13 +604,19 @@ local function parseImGuiHeader(header,names)
end
--generation
print("------------------generation with "..COMPILER.."------------------------")
--local parser1 = parseImGuiHeader([[headers.h]],{[[imgui]],[[imgui_internal]],[[imstb_textedit]]})
local parser1 = parseImGuiHeader([[../imgui/imgui.h]],{[[imgui]]})
local parser1
if INTERNAL_GENERATION then
save_data("headers.h",[[#include "../imgui/imgui.h"
#include "../imgui/imgui_internal.h"]])
parser1 = parseImGuiHeader([[headers.h]],{[[imgui]],[[imgui_internal]],[[imstb_textedit]]})
os.remove("headers.h")
else
parser1 = parseImGuiHeader([[../imgui/imgui.h]],{[[imgui]]})
end
parser1:do_parse()
---------- 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()
@@ -607,7 +635,7 @@ save_data("./output/cimgui_internal.h",cimgui_header,"#ifdef CIMGUI_DEFINE_ENUMS
copyfile("./output/cimgui_internal.h", "../cimgui_internal.h")
--]=]
---------- generate now structs_and_enums_i
---[=[
--[=[
save_data([[../imgui/temp.h]],[[#include "imgui.h"
#include "imgui_internal.h"]])
local parser1i = parseImGuiHeader([[../imgui/temp.h]],{[[imgui]],[[imgui_internal]],[[imstb_textedit]]})
@@ -718,7 +746,6 @@ end
local json = require"json"
save_data("./output/definitions.json",json.encode(json_prepare(parser1.defsT)))
save_data("./output/structs_and_enums.json",json.encode(structs_and_enums_table))
save_data("./output/structs_and_enums_i.json",json.encode(structs_and_enums_table_i))
save_data("./output/typedefs_dict.json",json.encode(parser1.typedefs_dict))
if parser2 then
save_data("./output/impl_definitions.json",json.encode(json_prepare(parser2.defsT)))

View File

@@ -13,5 +13,6 @@
#process files
# arg[1] compiler name gcc, clang, cl or nocompiler
# arg[2..n] name of implementations to generate
luajit ./generator.lua gcc glfw opengl3 opengl2 sdl
# arg[2] imgui_internal functions generation: true or false
# arg[3..n] name of implementations to generate
luajit ./generator.lua gcc false glfw opengl3 opengl2 sdl

View File

@@ -2550,6 +2550,7 @@ CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p)
p->~ImVector<ImWchar>();
}
#ifdef IMGUI_HAS_DOCK
// NOTE: Some function pointers in the ImGuiPlatformIO structure are not C-compatible because of their

View File

@@ -1542,10 +1542,13 @@ CIMGUI_API float igGET_FLT_MAX();
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 ImVector_ImWchar* ImVector_ImWchar_create();
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

View File

@@ -1,837 +0,0 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.75" 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;
typedef int ImGuiTooltipFlags;
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_PressedOnClick = 1 << 1,
ImGuiButtonFlags_PressedOnClickRelease = 1 << 2,
ImGuiButtonFlags_PressedOnClickReleaseAnywhere = 1 << 3,
ImGuiButtonFlags_PressedOnRelease = 1 << 4,
ImGuiButtonFlags_PressedOnDoubleClick = 1 << 5,
ImGuiButtonFlags_PressedOnDragDropHold = 1 << 6,
ImGuiButtonFlags_FlattenChildren = 1 << 7,
ImGuiButtonFlags_AllowItemOverlap = 1 << 8,
ImGuiButtonFlags_DontClosePopups = 1 << 9,
ImGuiButtonFlags_Disabled = 1 << 10,
ImGuiButtonFlags_AlignTextBaseLine = 1 << 11,
ImGuiButtonFlags_NoKeyModifiers = 1 << 12,
ImGuiButtonFlags_NoHoldingActiveId = 1 << 13,
ImGuiButtonFlags_NoNavFocus = 1 << 14,
ImGuiButtonFlags_NoHoveredOnNav = 1 << 15,
ImGuiButtonFlags_MouseButtonLeft = 1 << 16,
ImGuiButtonFlags_MouseButtonRight = 1 << 17,
ImGuiButtonFlags_MouseButtonMiddle = 1 << 18,
ImGuiButtonFlags_MouseButtonMask_ = ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight | ImGuiButtonFlags_MouseButtonMiddle,
ImGuiButtonFlags_MouseButtonShift_ = 16,
ImGuiButtonFlags_MouseButtonDefault_ = ImGuiButtonFlags_MouseButtonLeft,
ImGuiButtonFlags_PressedOnMask_ = ImGuiButtonFlags_PressedOnClick | ImGuiButtonFlags_PressedOnClickRelease | ImGuiButtonFlags_PressedOnClickReleaseAnywhere | ImGuiButtonFlags_PressedOnRelease | ImGuiButtonFlags_PressedOnDoubleClick | ImGuiButtonFlags_PressedOnDragDropHold,
ImGuiButtonFlags_PressedOnDefault_ = ImGuiButtonFlags_PressedOnClickRelease
}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 {
ImGuiTooltipFlags_None = 0,
ImGuiTooltipFlags_OverridePreviousTooltip = 1 << 0
}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;
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;
ImDrawListSplitter Splitter;
};
struct ImDrawListSharedData
{
ImVec2 TexUvWhitePixel;
ImFont* Font;
float FontSize;
float CurveTessellationTol;
float CircleSegmentMaxError;
ImVec4 ClipRectFullscreen;
ImDrawListFlags InitialFlags;
ImVec2 CircleVtx12[12];
ImU8 CircleSegmentCounts[64];
};
struct ImDrawDataBuilder
{
ImVector_ImDrawListPtr Layers[2];
};
struct ImGuiNavMoveResult
{
ImGuiWindow* Window;
ImGuiID ID;
ImGuiID FocusScopeId;
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;
ImGuiID FocusScopeId;
ImGuiCond OpenCond;
bool OpenVal;
};
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 WindowsTempSortBuffer;
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;
int ActiveIdMouseButton;
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 NavFocusScopeId;
ImGuiID NavActivateId;
ImGuiID NavActivateDownId;
ImGuiID NavActivatePressedId;
ImGuiID NavInputId;
ImGuiID NavJustTabbedId;
ImGuiID NavJustMovedToId;
ImGuiID NavJustMovedToFocusScopeId;
ImGuiID NavNextActivateId;
ImGuiInputSource NavInputSource;
ImRect NavScoringRectScreen;
int NavScoringCount;
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* NavWindowingTarget;
ImGuiWindow* NavWindowingTargetAnim;
ImGuiWindow* NavWindowingList;
float NavWindowingTimer;
float NavWindowingHighlightAlpha;
bool NavWindowingToggleLayer;
ImGuiWindow* FocusRequestCurrWindow;
ImGuiWindow* FocusRequestNextWindow;
int FocusRequestCurrCounterRegular;
int FocusRequestCurrCounterTabStop;
int FocusRequestNextCounterRegular;
int FocusRequestNextCounterTabStop;
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 ColorEditLastSat;
float ColorEditLastColor[3];
ImVec4 ColorPickerRef;
bool DragCurrentAccumDirty;
float DragCurrentAccum;
float DragSpeedDefaultRatio;
float ScrollbarClickDeltaToGrabCenter;
int TooltipOverrideCount;
ImVector_char PrivateClipboard;
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;
ImVec1 Indent;
ImVec1 ColumnsOffset;
ImVec1 GroupOffset;
ImGuiID LastItemId;
ImGuiItemStatusFlags LastItemStatusFlags;
ImRect LastItemRect;
ImRect LastItemDisplayRect;
ImGuiNavLayer NavLayerCurrent;
int NavLayerCurrentMask;
int NavLayerActiveMask;
int NavLayerActiveMaskNext;
ImGuiID NavFocusScopeIdCurrent;
bool NavHideHighlightOneFrame;
bool NavHasScroll;
bool MenuBarAppending;
ImVec2 MenuBarOffset;
ImGuiMenuColumns MenuColumns;
int TreeDepth;
ImU32 TreeJumpToParentOnPopMask;
ImVector_ImGuiWindowPtr ChildWindows;
ImGuiStorage* StateStorage;
ImGuiColumns* CurrentColumns;
ImGuiLayoutType LayoutType;
ImGuiLayoutType ParentLayoutType;
int FocusCounterRegular;
int FocusCounterTabStop;
ImGuiItemFlags ItemFlags;
float ItemWidth;
float TextWrapPos;
ImVector_ImGuiItemFlags ItemFlagsStack;
ImVector_float ItemWidthStack;
ImVector_float TextWrapPosStack;
ImVector_ImGuiGroupData GroupStack;
short StackSizesBackup[6];
};
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 IsFallbackWindow;
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;
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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff