mirror of
https://github.com/cimgui/cimgui.git
synced 2025-08-19 15:38:29 +01:00
Add enums and structs to header when enabled (#24)
* Added structs and enums to cimgui.h
This commit is contained in:

committed by
Stephan Dilly

parent
366754fc57
commit
09a51f162e
332
cimgui/cimgui.h
332
cimgui/cimgui.h
@@ -56,6 +56,338 @@ typedef int (*ImGuiTextEditCallback)(struct ImGuiTextEditCallbackData *data);
|
|||||||
typedef void (*ImGuiSizeConstraintCallback)(struct ImGuiSizeConstraintCallbackData* data);
|
typedef void (*ImGuiSizeConstraintCallback)(struct ImGuiSizeConstraintCallbackData* data);
|
||||||
typedef void (*ImDrawCallback)(CONST struct ImDrawList* parent_list, CONST struct ImDrawCmd* cmd);
|
typedef void (*ImDrawCallback)(CONST struct ImDrawList* parent_list, CONST struct ImDrawCmd* cmd);
|
||||||
|
|
||||||
|
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||||
|
struct ImVec2 {
|
||||||
|
float x, y;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImVec4 {
|
||||||
|
float x, y, z, w;
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiWindowFlags_NoTitleBar = 1 << 0,
|
||||||
|
ImGuiWindowFlags_NoResize = 1 << 1,
|
||||||
|
ImGuiWindowFlags_NoMove = 1 << 2,
|
||||||
|
ImGuiWindowFlags_NoScrollbar = 1 << 3,
|
||||||
|
ImGuiWindowFlags_NoScrollWithMouse = 1 << 4,
|
||||||
|
ImGuiWindowFlags_NoCollapse = 1 << 5,
|
||||||
|
ImGuiWindowFlags_AlwaysAutoResize = 1 << 6,
|
||||||
|
ImGuiWindowFlags_ShowBorders = 1 << 7,
|
||||||
|
ImGuiWindowFlags_NoSavedSettings = 1 << 8,
|
||||||
|
ImGuiWindowFlags_NoInputs = 1 << 9,
|
||||||
|
ImGuiWindowFlags_MenuBar = 1 << 10,
|
||||||
|
ImGuiWindowFlags_HorizontalScrollbar = 1 << 11,
|
||||||
|
ImGuiWindowFlags_NoFocusOnAppearing = 1 << 12,
|
||||||
|
ImGuiWindowFlags_NoBringToFrontOnFocus = 1 << 13,
|
||||||
|
ImGuiWindowFlags_AlwaysVerticalScrollbar = 1 << 14,
|
||||||
|
ImGuiWindowFlags_AlwaysHorizontalScrollbar = 1 << 15,
|
||||||
|
ImGuiWindowFlags_AlwaysUseWindowPadding = 1 << 16
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiInputTextFlags_CharsDecimal = 1 << 0,
|
||||||
|
ImGuiInputTextFlags_CharsHexadecimal = 1 << 1,
|
||||||
|
ImGuiInputTextFlags_CharsUppercase = 1 << 2,
|
||||||
|
ImGuiInputTextFlags_CharsNoBlank = 1 << 3,
|
||||||
|
ImGuiInputTextFlags_AutoSelectAll = 1 << 4,
|
||||||
|
ImGuiInputTextFlags_EnterReturnsTrue = 1 << 5,
|
||||||
|
ImGuiInputTextFlags_CallbackCompletion = 1 << 6,
|
||||||
|
ImGuiInputTextFlags_CallbackHistory = 1 << 7,
|
||||||
|
ImGuiInputTextFlags_CallbackAlways = 1 << 8,
|
||||||
|
ImGuiInputTextFlags_CallbackCharFilter = 1 << 9,
|
||||||
|
ImGuiInputTextFlags_AllowTabInput = 1 << 10,
|
||||||
|
ImGuiInputTextFlags_CtrlEnterForNewLine = 1 << 11,
|
||||||
|
ImGuiInputTextFlags_NoHorizontalScroll = 1 << 12,
|
||||||
|
ImGuiInputTextFlags_AlwaysInsertMode = 1 << 13,
|
||||||
|
ImGuiInputTextFlags_ReadOnly = 1 << 14,
|
||||||
|
ImGuiInputTextFlags_Password = 1 << 15
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiTreeNodeFlags_Selected = 1 << 0,
|
||||||
|
ImGuiTreeNodeFlags_Framed = 1 << 1,
|
||||||
|
ImGuiTreeNodeFlags_AllowOverlapMode = 1 << 2,
|
||||||
|
ImGuiTreeNodeFlags_NoTreePushOnOpen = 1 << 3,
|
||||||
|
ImGuiTreeNodeFlags_NoAutoOpenOnLog = 1 << 4,
|
||||||
|
ImGuiTreeNodeFlags_DefaultOpen = 1 << 5,
|
||||||
|
ImGuiTreeNodeFlags_OpenOnDoubleClick = 1 << 6,
|
||||||
|
ImGuiTreeNodeFlags_OpenOnArrow = 1 << 7,
|
||||||
|
ImGuiTreeNodeFlags_Leaf = 1 << 8,
|
||||||
|
ImGuiTreeNodeFlags_Bullet = 1 << 9,
|
||||||
|
ImGuiTreeNodeFlags_CollapsingHeader = ImGuiTreeNodeFlags_Framed | ImGuiTreeNodeFlags_NoAutoOpenOnLog
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiSelectableFlags_DontClosePopups = 1 << 0,
|
||||||
|
ImGuiSelectableFlags_SpanAllColumns = 1 << 1,
|
||||||
|
ImGuiSelectableFlags_AllowDoubleClick = 1 << 2
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiKey_Tab,
|
||||||
|
ImGuiKey_LeftArrow,
|
||||||
|
ImGuiKey_RightArrow,
|
||||||
|
ImGuiKey_UpArrow,
|
||||||
|
ImGuiKey_DownArrow,
|
||||||
|
ImGuiKey_PageUp,
|
||||||
|
ImGuiKey_PageDown,
|
||||||
|
ImGuiKey_Home,
|
||||||
|
ImGuiKey_End,
|
||||||
|
ImGuiKey_Delete,
|
||||||
|
ImGuiKey_Backspace,
|
||||||
|
ImGuiKey_Enter,
|
||||||
|
ImGuiKey_Escape,
|
||||||
|
ImGuiKey_A,
|
||||||
|
ImGuiKey_C,
|
||||||
|
ImGuiKey_V,
|
||||||
|
ImGuiKey_X,
|
||||||
|
ImGuiKey_Y,
|
||||||
|
ImGuiKey_Z,
|
||||||
|
ImGuiKey_COUNT
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiCol_Text,
|
||||||
|
ImGuiCol_TextDisabled,
|
||||||
|
ImGuiCol_WindowBg,
|
||||||
|
ImGuiCol_ChildWindowBg,
|
||||||
|
ImGuiCol_PopupBg,
|
||||||
|
ImGuiCol_Border,
|
||||||
|
ImGuiCol_BorderShadow,
|
||||||
|
ImGuiCol_FrameBg,
|
||||||
|
ImGuiCol_FrameBgHovered,
|
||||||
|
ImGuiCol_FrameBgActive,
|
||||||
|
ImGuiCol_TitleBg,
|
||||||
|
ImGuiCol_TitleBgCollapsed,
|
||||||
|
ImGuiCol_TitleBgActive,
|
||||||
|
ImGuiCol_MenuBarBg,
|
||||||
|
ImGuiCol_ScrollbarBg,
|
||||||
|
ImGuiCol_ScrollbarGrab,
|
||||||
|
ImGuiCol_ScrollbarGrabHovered,
|
||||||
|
ImGuiCol_ScrollbarGrabActive,
|
||||||
|
ImGuiCol_ComboBg,
|
||||||
|
ImGuiCol_CheckMark,
|
||||||
|
ImGuiCol_SliderGrab,
|
||||||
|
ImGuiCol_SliderGrabActive,
|
||||||
|
ImGuiCol_Button,
|
||||||
|
ImGuiCol_ButtonHovered,
|
||||||
|
ImGuiCol_ButtonActive,
|
||||||
|
ImGuiCol_Header,
|
||||||
|
ImGuiCol_HeaderHovered,
|
||||||
|
ImGuiCol_HeaderActive,
|
||||||
|
ImGuiCol_Column,
|
||||||
|
ImGuiCol_ColumnHovered,
|
||||||
|
ImGuiCol_ColumnActive,
|
||||||
|
ImGuiCol_ResizeGrip,
|
||||||
|
ImGuiCol_ResizeGripHovered,
|
||||||
|
ImGuiCol_ResizeGripActive,
|
||||||
|
ImGuiCol_CloseButton,
|
||||||
|
ImGuiCol_CloseButtonHovered,
|
||||||
|
ImGuiCol_CloseButtonActive,
|
||||||
|
ImGuiCol_PlotLines,
|
||||||
|
ImGuiCol_PlotLinesHovered,
|
||||||
|
ImGuiCol_PlotHistogram,
|
||||||
|
ImGuiCol_PlotHistogramHovered,
|
||||||
|
ImGuiCol_TextSelectedBg,
|
||||||
|
ImGuiCol_ModalWindowDarkening,
|
||||||
|
ImGuiCol_COUNT
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiStyleVar_Alpha,
|
||||||
|
ImGuiStyleVar_WindowPadding,
|
||||||
|
ImGuiStyleVar_WindowRounding,
|
||||||
|
ImGuiStyleVar_WindowMinSize,
|
||||||
|
ImGuiStyleVar_ChildWindowRounding,
|
||||||
|
ImGuiStyleVar_FramePadding,
|
||||||
|
ImGuiStyleVar_FrameRounding,
|
||||||
|
ImGuiStyleVar_ItemSpacing,
|
||||||
|
ImGuiStyleVar_ItemInnerSpacing,
|
||||||
|
ImGuiStyleVar_IndentSpacing,
|
||||||
|
ImGuiStyleVar_GrabMinSize
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiAlign_Left = 1 << 0,
|
||||||
|
ImGuiAlign_Center = 1 << 1,
|
||||||
|
ImGuiAlign_Right = 1 << 2,
|
||||||
|
ImGuiAlign_Top = 1 << 3,
|
||||||
|
ImGuiAlign_VCenter = 1 << 4,
|
||||||
|
ImGuiAlign_Default = ImGuiAlign_Left | ImGuiAlign_Top
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiColorEditMode_UserSelect = -2,
|
||||||
|
ImGuiColorEditMode_UserSelectShowButton = -1,
|
||||||
|
ImGuiColorEditMode_RGB = 0,
|
||||||
|
ImGuiColorEditMode_HSV = 1,
|
||||||
|
ImGuiColorEditMode_HEX = 2
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiMouseCursor_Arrow = 0,
|
||||||
|
ImGuiMouseCursor_TextInput,
|
||||||
|
ImGuiMouseCursor_Move,
|
||||||
|
ImGuiMouseCursor_ResizeNS,
|
||||||
|
ImGuiMouseCursor_ResizeEW,
|
||||||
|
ImGuiMouseCursor_ResizeNESW,
|
||||||
|
ImGuiMouseCursor_ResizeNWSE,
|
||||||
|
ImGuiMouseCursor_Count_
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiSetCond_Always = 1 << 0,
|
||||||
|
ImGuiSetCond_Once = 1 << 1,
|
||||||
|
ImGuiSetCond_FirstUseEver = 1 << 2,
|
||||||
|
ImGuiSetCond_Appearing = 1 << 3
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImGuiStyle {
|
||||||
|
float Alpha;
|
||||||
|
struct ImVec2 WindowPadding;
|
||||||
|
struct ImVec2 WindowMinSize;
|
||||||
|
float WindowRounding;
|
||||||
|
ImGuiAlign WindowTitleAlign;
|
||||||
|
float ChildWindowRounding;
|
||||||
|
struct ImVec2 FramePadding;
|
||||||
|
float FrameRounding;
|
||||||
|
struct ImVec2 ItemSpacing;
|
||||||
|
struct ImVec2 ItemInnerSpacing;
|
||||||
|
struct ImVec2 TouchExtraPadding;
|
||||||
|
float IndentSpacing;
|
||||||
|
float ColumnsMinSpacing;
|
||||||
|
float ScrollbarSize;
|
||||||
|
float ScrollbarRounding;
|
||||||
|
float GrabMinSize;
|
||||||
|
float GrabRounding;
|
||||||
|
struct ImVec2 DisplayWindowPadding;
|
||||||
|
struct ImVec2 DisplaySafeAreaPadding;
|
||||||
|
bool AntiAliasedLines;
|
||||||
|
bool AntiAliasedShapes;
|
||||||
|
float CurveTessellationTol;
|
||||||
|
struct ImVec4 Colors[ImGuiCol_COUNT];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImGuiIO {
|
||||||
|
struct ImVec2 DisplaySize;
|
||||||
|
float DeltaTime;
|
||||||
|
float IniSavingRate;
|
||||||
|
const char* IniFilename;
|
||||||
|
const char* LogFilename;
|
||||||
|
float MouseDoubleClickTime;
|
||||||
|
float MouseDoubleClickMaxDist;
|
||||||
|
float MouseDragThreshold;
|
||||||
|
int KeyMap[ImGuiKey_COUNT];
|
||||||
|
float KeyRepeatDelay;
|
||||||
|
float KeyRepeatRate;
|
||||||
|
void* UserData;
|
||||||
|
struct ImFontAtlas* Fonts;
|
||||||
|
float FontGlobalScale;
|
||||||
|
bool FontAllowUserScaling;
|
||||||
|
struct ImVec2 DisplayFramebufferScale;
|
||||||
|
struct ImVec2 DisplayVisibleMin;
|
||||||
|
struct ImVec2 DisplayVisibleMax;
|
||||||
|
bool WordMovementUsesAltKey;
|
||||||
|
bool ShortcutsUseSuperKey;
|
||||||
|
bool DoubleClickSelectsWord;
|
||||||
|
bool MultiSelectUsesSuperKey;
|
||||||
|
void (*RenderDrawListsFn)(struct ImDrawData* data);
|
||||||
|
const char* (*GetClipboardTextFn)();
|
||||||
|
void (*SetClipboardTextFn)(const char* text);
|
||||||
|
void* (*MemAllocFn)(size_t sz);
|
||||||
|
void (*MemFreeFn)(void* ptr);
|
||||||
|
void (*ImeSetInputScreenPosFn)(int x, int y);
|
||||||
|
void* ImeWindowHandle;
|
||||||
|
struct ImVec2 MousePos;
|
||||||
|
bool MouseDown[5];
|
||||||
|
float MouseWheel;
|
||||||
|
bool MouseDrawCursor;
|
||||||
|
bool KeyCtrl;
|
||||||
|
bool KeyShift;
|
||||||
|
bool KeyAlt;
|
||||||
|
bool KeySuper;
|
||||||
|
bool KeysDown[512];
|
||||||
|
ImWchar InputCharacters[16 + 1];
|
||||||
|
bool WantCaptureMouse;
|
||||||
|
bool WantCaptureKeyboard;
|
||||||
|
bool WantTextInput;
|
||||||
|
float Framerate;
|
||||||
|
int MetricsAllocs;
|
||||||
|
int MetricsRenderVertices;
|
||||||
|
int MetricsRenderIndices;
|
||||||
|
int MetricsActiveWindows;
|
||||||
|
struct ImVec2 MousePosPrev;
|
||||||
|
struct ImVec2 MouseDelta;
|
||||||
|
bool MouseClicked[5];
|
||||||
|
struct ImVec2 MouseClickedPos[5];
|
||||||
|
float MouseClickedTime[5];
|
||||||
|
bool MouseDoubleClicked[5];
|
||||||
|
bool MouseReleased[5];
|
||||||
|
bool MouseDownOwned[5];
|
||||||
|
float MouseDownDuration[5];
|
||||||
|
float MouseDownDurationPrev[5];
|
||||||
|
float MouseDragMaxDistanceSqr[5];
|
||||||
|
float KeysDownDuration[512];
|
||||||
|
float KeysDownDurationPrev[512];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImGuiTextEditCallbackData {
|
||||||
|
ImGuiInputTextFlags EventFlag;
|
||||||
|
ImGuiInputTextFlags Flags;
|
||||||
|
void* UserData;
|
||||||
|
bool ReadOnly;
|
||||||
|
ImWchar EventChar;
|
||||||
|
ImGuiKey EventKey;
|
||||||
|
char* Buf;
|
||||||
|
int BufTextLen;
|
||||||
|
int BufSize;
|
||||||
|
bool BufDirty;
|
||||||
|
int CursorPos;
|
||||||
|
int SelectionStart;
|
||||||
|
int SelectionEnd;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImGuiSizeConstraintCallbackData {
|
||||||
|
void* UserData;
|
||||||
|
struct ImVec2 Pos;
|
||||||
|
struct ImVec2 CurrentSize;
|
||||||
|
struct ImVec2 DesiredSize;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImDrawCmd {
|
||||||
|
unsigned int ElemCount;
|
||||||
|
struct ImVec4 ClipRect;
|
||||||
|
ImTextureID TextureId;
|
||||||
|
ImDrawCallback UserCallback;
|
||||||
|
void* UserCallbackData;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImDrawData {
|
||||||
|
bool Valid;
|
||||||
|
struct ImDrawList** CmdLists;
|
||||||
|
int CmdListsCount;
|
||||||
|
int TotalVtxCount;
|
||||||
|
int TotalIdxCount;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImFontConfig {
|
||||||
|
void* FontData;
|
||||||
|
int FontDataSize;
|
||||||
|
bool FontDataOwnedByAtlas;
|
||||||
|
int FontNo;
|
||||||
|
float SizePixels;
|
||||||
|
int OversampleH, OversampleV;
|
||||||
|
bool PixelSnapH;
|
||||||
|
struct ImVec2 GlyphExtraSpacing;
|
||||||
|
const ImWchar* GlyphRanges;
|
||||||
|
bool MergeMode;
|
||||||
|
bool MergeGlyphCenterV;
|
||||||
|
char Name[32];
|
||||||
|
struct ImFont* DstFont;
|
||||||
|
};
|
||||||
|
#endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||||
|
|
||||||
CIMGUI_API struct ImGuiIO* igGetIO();
|
CIMGUI_API struct ImGuiIO* igGetIO();
|
||||||
CIMGUI_API struct ImGuiStyle* igGetStyle();
|
CIMGUI_API struct ImGuiStyle* igGetStyle();
|
||||||
CIMGUI_API struct ImDrawData* igGetDrawData();
|
CIMGUI_API struct ImDrawData* igGetDrawData();
|
||||||
|
Reference in New Issue
Block a user