mirror of
https://github.com/cimgui/cimgui.git
synced 2025-08-15 05:58: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 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.
|
||||
|
@@ -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
|
||||
|
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 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
|
||||
|
||||
|
||||
|
@@ -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>();
|
||||
}
|
||||
|
||||
|
||||
#ifdef IMGUI_HAS_DOCK
|
||||
|
||||
// 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 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
|
||||
|
||||
|
||||
|
@@ -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
|
@@ -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
|
||||
|
@@ -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)))
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
||||
|
@@ -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