mirror of
https://github.com/cimgui/cimgui.git
synced 2025-08-17 06:38:30 +01:00
@@ -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 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)
|
* 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.
|
* 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.
|
* 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.
|
* 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.
|
* 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.
|
||||||
|
@@ -2550,6 +2550,7 @@ CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p)
|
|||||||
p->~ImVector<ImWchar>();
|
p->~ImVector<ImWchar>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef IMGUI_HAS_DOCK
|
#ifdef IMGUI_HAS_DOCK
|
||||||
|
|
||||||
// NOTE: Some function pointers in the ImGuiPlatformIO structure are not C-compatible because of their
|
// NOTE: Some function pointers in the ImGuiPlatformIO structure are not C-compatible because of their
|
||||||
|
3
cimgui.h
3
cimgui.h
@@ -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 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 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 ImVector_ImWchar* ImVector_ImWchar_create();
|
||||||
CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self);
|
CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self);
|
||||||
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
|
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
|
||||||
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);
|
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);
|
||||||
|
|
||||||
|
|
||||||
#endif //CIMGUI_INCLUDED
|
#endif //CIMGUI_INCLUDED
|
||||||
|
|
||||||
|
|
||||||
|
@@ -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
|
|
@@ -59,6 +59,7 @@ CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p)
|
|||||||
p->~ImVector<ImWchar>();
|
p->~ImVector<ImWchar>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef IMGUI_HAS_DOCK
|
#ifdef IMGUI_HAS_DOCK
|
||||||
|
|
||||||
// NOTE: Some function pointers in the ImGuiPlatformIO structure are not C-compatible because of their
|
// NOTE: Some function pointers in the ImGuiPlatformIO structure are not C-compatible because of their
|
||||||
|
@@ -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 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 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 ImVector_ImWchar* ImVector_ImWchar_create();
|
||||||
CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self);
|
CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self);
|
||||||
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
|
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
|
||||||
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);
|
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);
|
||||||
|
|
||||||
|
|
||||||
#endif //CIMGUI_INCLUDED
|
#endif //CIMGUI_INCLUDED
|
||||||
|
|
||||||
|
|
||||||
|
@@ -129,7 +129,7 @@ end
|
|||||||
local function clean_spaces(cad)
|
local function clean_spaces(cad)
|
||||||
cad = strip(cad)
|
cad = strip(cad)
|
||||||
cad = cad:gsub("%s+"," ") --not more than one space
|
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
|
return cad
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -428,9 +428,9 @@ local function parseFunction(self,stname,lineorig,namespace)
|
|||||||
extraconst = extraconst:match("const")
|
extraconst = extraconst:match("const")
|
||||||
|
|
||||||
if not args then
|
if not args then
|
||||||
print"not gettint args in"
|
print"not gettint args in"
|
||||||
print(line,lineorig)
|
print(line,lineorig)
|
||||||
print(funcname,"args",args)
|
print(funcname,"args",args)
|
||||||
end
|
end
|
||||||
|
|
||||||
local argscsinpars = args:gsub("(=[^,%(%)]*)(%b())","%1")
|
local argscsinpars = args:gsub("(=[^,%(%)]*)(%b())","%1")
|
||||||
@@ -453,14 +453,15 @@ local function parseFunction(self,stname,lineorig,namespace)
|
|||||||
if self.typenames[stname] ~= template then --rule out template typename
|
if self.typenames[stname] ~= template then --rule out template typename
|
||||||
te = template:gsub("%s","_")
|
te = template:gsub("%s","_")
|
||||||
te = te:gsub("%*","Ptr")
|
te = te:gsub("%*","Ptr")
|
||||||
te = "_"..te
|
|
||||||
|
|
||||||
self.templates[ttype] = self.templates[ttype] or {}
|
self.templates[ttype] = self.templates[ttype] or {}
|
||||||
self.templates[ttype][template] = te
|
self.templates[ttype][template] = te
|
||||||
|
te = "_"..te
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
--end
|
--end
|
||||||
argscsinpars = argscsinpars:gsub("<([%w_%*]+)>",te) --ImVector
|
|
||||||
|
argscsinpars = argscsinpars:gsub("<([%w_%*%s]+)>",te) --ImVector
|
||||||
|
|
||||||
local argsArr = {}
|
local argsArr = {}
|
||||||
local functype_re = "^%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)"
|
local functype_re = "^%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)"
|
||||||
@@ -1016,7 +1017,6 @@ function M.Parser()
|
|||||||
if not typen then -- Lets try Type*name
|
if not typen then -- Lets try Type*name
|
||||||
typen,rest = line:match("([^,]+%*)(%S+[,;])")
|
typen,rest = line:match("([^,]+%*)(%S+[,;])")
|
||||||
end
|
end
|
||||||
|
|
||||||
local template_type
|
local template_type
|
||||||
for k,v in pairs(self.templates) do
|
for k,v in pairs(self.templates) do
|
||||||
template_type = typen:match(k.."_(.+)")
|
template_type = typen:match(k.."_(.+)")
|
||||||
@@ -1137,13 +1137,13 @@ function M.Parser()
|
|||||||
t.size = tonumber(val)
|
t.size = tonumber(val)
|
||||||
elseif allenums[val] then
|
elseif allenums[val] then
|
||||||
t.size = allenums[val]
|
t.size = allenums[val]
|
||||||
elseif val:match"%+" then
|
|
||||||
local s1,s2 = val:match("(%d+)%s*%+%s*(%d+)")
|
|
||||||
t.size = s1+s2
|
|
||||||
else
|
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
|
end
|
||||||
assert(t.size)
|
assert(t.size,val)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -1457,4 +1457,14 @@ local function location(file,locpathT,defines,COMPILER)
|
|||||||
return location_it
|
return location_it
|
||||||
end
|
end
|
||||||
M.location = location
|
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
|
return M
|
@@ -10,13 +10,14 @@
|
|||||||
:: impl_definitions.lua for implementation function definitions
|
:: impl_definitions.lua for implementation function definitions
|
||||||
|
|
||||||
:: set your PATH if necessary for LuaJIT or Lua5.1 or luajit with: (for example)
|
:: 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;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;
|
:: set PATH=%PATH%;C:\luaGL\sources\luajit-master\luajit-master\bin\mingw32;C:\mingw32\bin;
|
||||||
::process files
|
::process files
|
||||||
:: arg[1] compiler name gcc, clang, cl or nocompiler
|
:: arg[1] compiler name gcc, clang, cl or nocompiler
|
||||||
:: arg[2..n] name of implementations to generate
|
:: arg[2] imgui_internal functions generation: true or false
|
||||||
luajit ./generator.lua gcc glfw opengl3 opengl2 sdl
|
:: arg[3..n] name of implementations to generate
|
||||||
|
luajit ./generator.lua gcc false glfw opengl3 opengl2 sdl
|
||||||
|
|
||||||
::leave console open
|
::leave console open
|
||||||
cmd /k
|
cmd /k
|
||||||
|
@@ -6,6 +6,7 @@ assert(_VERSION=='Lua 5.1',"Must use LuaJIT")
|
|||||||
assert(bit,"Must use LuaJIT")
|
assert(bit,"Must use LuaJIT")
|
||||||
local script_args = {...}
|
local script_args = {...}
|
||||||
local COMPILER = script_args[1]
|
local COMPILER = script_args[1]
|
||||||
|
local INTERNAL_GENERATION = script_args[2]=="true"
|
||||||
local CPRE,CTEST
|
local CPRE,CTEST
|
||||||
if COMPILER == "gcc" or COMPILER == "clang" then
|
if COMPILER == "gcc" or COMPILER == "clang" then
|
||||||
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]]
|
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]]
|
||||||
@@ -37,9 +38,10 @@ if CTEST then
|
|||||||
end --CTEST
|
end --CTEST
|
||||||
|
|
||||||
print("HAVE_COMPILER",HAVE_COMPILER)
|
print("HAVE_COMPILER",HAVE_COMPILER)
|
||||||
|
print("INTERNAL_GENERATION",INTERNAL_GENERATION)
|
||||||
--get implementations
|
--get implementations
|
||||||
local 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
|
--this table has the functions to be skipped in generation
|
||||||
@@ -88,7 +90,22 @@ local cimgui_overloads = {
|
|||||||
},
|
},
|
||||||
igPushStyleColor = {
|
igPushStyleColor = {
|
||||||
["(ImGuiCol,const ImVec4)"] = "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
|
--------------------------header definitions
|
||||||
@@ -442,7 +459,7 @@ end
|
|||||||
|
|
||||||
|
|
||||||
----------custom ImVector templates
|
----------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")
|
table.insert(code,"\n"..[[typedef struct ImVector{int Size;int Capacity;void* Data;} ImVector;]].."\n")
|
||||||
for ttype,v in pairs(templates) do
|
for ttype,v in pairs(templates) do
|
||||||
--local te = k:gsub("%s","_")
|
--local te = k:gsub("%s","_")
|
||||||
@@ -454,8 +471,8 @@ local function generate_templates(code,templates)
|
|||||||
elseif ttype == "ImPool" then
|
elseif ttype == "ImPool" then
|
||||||
--declare ImGuiStorage
|
--declare ImGuiStorage
|
||||||
for te,newte in pairs(v) do
|
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(codeimpool,"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 ImPool_"..newte.." {ImVector_"..te.." Buf;ImGuiStorage Map;ImPoolIdx FreeIdx;} ImPool_"..newte..";\n")
|
||||||
end
|
end
|
||||||
elseif ttype == "ImChunkStream" then
|
elseif ttype == "ImChunkStream" then
|
||||||
for te,newte in pairs(v) do
|
for te,newte in pairs(v) do
|
||||||
@@ -497,9 +514,14 @@ local function cimgui_generation(parser)
|
|||||||
cpp2ffi.prtable(parser.typenames)
|
cpp2ffi.prtable(parser.typenames)
|
||||||
|
|
||||||
local outtab = {}
|
local outtab = {}
|
||||||
generate_templates(outtab,parser.templates)
|
local outtabpool = {}
|
||||||
|
generate_templates(outtab, outtabpool, parser.templates)
|
||||||
|
|
||||||
local cstructsstr = outpre..table.concat(outtab,"")..outpost..(extra or "")
|
--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 "")
|
||||||
|
|
||||||
hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr)
|
hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr)
|
||||||
local cfuncsstr = func_header_generate(parser)
|
local cfuncsstr = func_header_generate(parser)
|
||||||
@@ -582,13 +604,19 @@ local function parseImGuiHeader(header,names)
|
|||||||
end
|
end
|
||||||
--generation
|
--generation
|
||||||
print("------------------generation with "..COMPILER.."------------------------")
|
print("------------------generation with "..COMPILER.."------------------------")
|
||||||
|
local parser1
|
||||||
--local parser1 = parseImGuiHeader([[headers.h]],{[[imgui]],[[imgui_internal]],[[imstb_textedit]]})
|
if INTERNAL_GENERATION then
|
||||||
local parser1 = parseImGuiHeader([[../imgui/imgui.h]],{[[imgui]]})
|
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()
|
parser1:do_parse()
|
||||||
|
|
||||||
---------- generate cimgui_internal.h
|
---------- generate cimgui_internal.h
|
||||||
---[=[
|
--[=[
|
||||||
local parser1i = parseImGuiHeader([[../imgui/imgui_internal.h]],{[[imgui_internal]],[[imstb_textedit]]})
|
local parser1i = parseImGuiHeader([[../imgui/imgui_internal.h]],{[[imgui_internal]],[[imstb_textedit]]})
|
||||||
parser1i:do_parse()
|
parser1i:do_parse()
|
||||||
local outpre,outpost = parser1i:gen_structs_and_enums()
|
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")
|
copyfile("./output/cimgui_internal.h", "../cimgui_internal.h")
|
||||||
--]=]
|
--]=]
|
||||||
---------- generate now structs_and_enums_i
|
---------- generate now structs_and_enums_i
|
||||||
---[=[
|
--[=[
|
||||||
save_data([[../imgui/temp.h]],[[#include "imgui.h"
|
save_data([[../imgui/temp.h]],[[#include "imgui.h"
|
||||||
#include "imgui_internal.h"]])
|
#include "imgui_internal.h"]])
|
||||||
local parser1i = parseImGuiHeader([[../imgui/temp.h]],{[[imgui]],[[imgui_internal]],[[imstb_textedit]]})
|
local parser1i = parseImGuiHeader([[../imgui/temp.h]],{[[imgui]],[[imgui_internal]],[[imstb_textedit]]})
|
||||||
@@ -718,7 +746,6 @@ end
|
|||||||
local json = require"json"
|
local json = require"json"
|
||||||
save_data("./output/definitions.json",json.encode(json_prepare(parser1.defsT)))
|
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.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))
|
save_data("./output/typedefs_dict.json",json.encode(parser1.typedefs_dict))
|
||||||
if parser2 then
|
if parser2 then
|
||||||
save_data("./output/impl_definitions.json",json.encode(json_prepare(parser2.defsT)))
|
save_data("./output/impl_definitions.json",json.encode(json_prepare(parser2.defsT)))
|
||||||
|
@@ -13,5 +13,6 @@
|
|||||||
|
|
||||||
#process files
|
#process files
|
||||||
# arg[1] compiler name gcc, clang, cl or nocompiler
|
# arg[1] compiler name gcc, clang, cl or nocompiler
|
||||||
# arg[2..n] name of implementations to generate
|
# arg[2] imgui_internal functions generation: true or false
|
||||||
luajit ./generator.lua gcc glfw opengl3 opengl2 sdl
|
# arg[3..n] name of implementations to generate
|
||||||
|
luajit ./generator.lua gcc false glfw opengl3 opengl2 sdl
|
||||||
|
@@ -2550,6 +2550,7 @@ CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p)
|
|||||||
p->~ImVector<ImWchar>();
|
p->~ImVector<ImWchar>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef IMGUI_HAS_DOCK
|
#ifdef IMGUI_HAS_DOCK
|
||||||
|
|
||||||
// NOTE: Some function pointers in the ImGuiPlatformIO structure are not C-compatible because of their
|
// NOTE: Some function pointers in the ImGuiPlatformIO structure are not C-compatible because of their
|
||||||
|
@@ -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 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 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 ImVector_ImWchar* ImVector_ImWchar_create();
|
||||||
CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self);
|
CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self);
|
||||||
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
|
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
|
||||||
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);
|
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);
|
||||||
|
|
||||||
|
|
||||||
#endif //CIMGUI_INCLUDED
|
#endif //CIMGUI_INCLUDED
|
||||||
|
|
||||||
|
|
||||||
|
@@ -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
Reference in New Issue
Block a user