63#ifdef IMGUI_USER_CONFIG
64#include IMGUI_USER_CONFIG
66#if !defined(IMGUI_DISABLE_INCLUDE_IMCONFIG_H) || defined(IMGUI_INCLUDE_IMCONFIG_H)
84#define IMGUI_VERSION "1.88"
85#define IMGUI_VERSION_NUM 18800
86#define IMGUI_CHECKVERSION() ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx))
87#define IMGUI_HAS_TABLE
96#define IMGUI_IMPL_API IMGUI_API
102#define IM_ASSERT(_EXPR) assert(_EXPR)
104#define IM_ARRAYSIZE(_ARR) ((int)(sizeof(_ARR) / sizeof(*(_ARR))))
105#define IM_UNUSED(_VAR) ((void)(_VAR))
106#define IM_OFFSETOF(_TYPE,_MEMBER) offsetof(_TYPE, _MEMBER)
109#if !defined(IMGUI_USE_STB_SPRINTF) && defined(__MINGW32__) && !defined(__clang__)
110#define IM_FMTARGS(FMT) __attribute__((format(gnu_printf, FMT, FMT+1)))
111#define IM_FMTLIST(FMT) __attribute__((format(gnu_printf, FMT, 0)))
112#elif !defined(IMGUI_USE_STB_SPRINTF) && (defined(__clang__) || defined(__GNUC__))
113#define IM_FMTARGS(FMT) __attribute__((format(printf, FMT, FMT+1)))
114#define IM_FMTLIST(FMT) __attribute__((format(printf, FMT, 0)))
116#define IM_FMTARGS(FMT)
117#define IM_FMTLIST(FMT)
121#if defined(_MSC_VER) && !defined(__clang__) && !defined(__INTEL_COMPILER) && !defined(IMGUI_DEBUG_PARANOID)
122#define IM_MSVC_RUNTIME_CHECKS_OFF __pragma(runtime_checks("",off)) __pragma(check_stack(off)) __pragma(strict_gs_check(push,off))
123#define IM_MSVC_RUNTIME_CHECKS_RESTORE __pragma(runtime_checks("",restore)) __pragma(check_stack()) __pragma(strict_gs_check(pop))
125#define IM_MSVC_RUNTIME_CHECKS_OFF
126#define IM_MSVC_RUNTIME_CHECKS_RESTORE
131#pragma warning (push)
132#pragma warning (disable: 26495)
134#if defined(__clang__)
135#pragma clang diagnostic push
136#pragma clang diagnostic ignored "-Wold-style-cast"
137#if __has_warning("-Wzero-as-null-pointer-constant")
138#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
140#elif defined(__GNUC__)
141#pragma GCC diagnostic push
142#pragma GCC diagnostic ignored "-Wpragmas"
143#pragma GCC diagnostic ignored "-Wclass-memaccess"
155struct ImDrawListSharedData;
160struct ImFontBuilderIO;
251#ifdef IMGUI_USE_WCHAR32
260typedef void* (*ImGuiMemAllocFunc)(
size_t sz,
void* user_data);
270 constexpr ImVec2(
float _x,
float _y) :
x(_x),
y(_y) { }
273#ifdef IM_VEC2_CLASS_EXTRA
283 constexpr ImVec4(
float _x,
float _y,
float _z,
float _w) :
x(_x),
y(_y),
z(_z),
w(_w) { }
284#ifdef IM_VEC4_CLASS_EXTRA
515 IMGUI_API void Image(
ImTextureID user_texture_id, const
ImVec2& size, const
ImVec2& uv0 =
ImVec2(0, 0), const
ImVec2& uv1 =
ImVec2(1,1), const
ImVec4& tint_col =
ImVec4(1,1,1,1), const
ImVec4& border_col =
ImVec4(0,0,0,0));
516 IMGUI_API bool ImageButton(
ImTextureID user_texture_id, const
ImVec2& size, const
ImVec2& uv0 =
ImVec2(0, 0), const
ImVec2& uv1 =
ImVec2(1,1),
int frame_padding = -1, const
ImVec4& bg_col =
ImVec4(0,0,0,0), const
ImVec4& tint_col =
ImVec4(1,1,1,1));
530 IMGUI_API bool Combo(const
char* label,
int* current_item, const
char* const items[],
int items_count,
int popup_max_height_in_items = -1);
531 IMGUI_API bool Combo(const
char* label,
int* current_item, const
char* items_separated_by_zeros,
int popup_max_height_in_items = -1);
532 IMGUI_API bool Combo(const
char* label,
int* current_item,
bool(*items_getter)(
void* data,
int idx, const
char** out_text),
void* data,
int items_count,
int popup_max_height_in_items = -1);
550 IMGUI_API bool DragFloatRange2(const
char* label,
float* v_current_min,
float* v_current_max,
float v_speed = 1.0f,
float v_min = 0.0f,
float v_max = 0.0f, const
char* format = "%.3f", const
char* format_max = NULL,
ImGuiSliderFlags flags = 0);
555 IMGUI_API bool DragIntRange2(const
char* label,
int* v_current_min,
int* v_current_max,
float v_speed = 1.0f,
int v_min = 0,
int v_max = 0, const
char* format = "%d", const
char* format_max = NULL,
ImGuiSliderFlags flags = 0);
642 IMGUI_API bool ListBox(const
char* label,
int* current_item, const
char* const items[],
int items_count,
int height_in_items = -1);
643 IMGUI_API bool ListBox(const
char* label,
int* current_item,
bool (*items_getter)(
void* data,
int idx, const
char** out_text),
void* data,
int items_count,
int height_in_items = -1);
647 IMGUI_API void PlotLines(const
char* label, const
float* values,
int values_count,
int values_offset = 0, const
char* overlay_text = NULL,
float scale_min = FLT_MAX,
float scale_max = FLT_MAX,
ImVec2 graph_size =
ImVec2(0, 0),
int stride = sizeof(
float));
648 IMGUI_API void PlotLines(const
char* label,
float(*values_getter)(
void* data,
int idx),
void* data,
int values_count,
int values_offset = 0, const
char* overlay_text = NULL,
float scale_min = FLT_MAX,
float scale_max = FLT_MAX,
ImVec2 graph_size =
ImVec2(0, 0));
649 IMGUI_API void PlotHistogram(const
char* label, const
float* values,
int values_count,
int values_offset = 0, const
char* overlay_text = NULL,
float scale_min = FLT_MAX,
float scale_max = FLT_MAX,
ImVec2 graph_size =
ImVec2(0, 0),
int stride = sizeof(
float));
650 IMGUI_API void PlotHistogram(const
char* label,
float(*values_getter)(
void* data,
int idx),
void* data,
int values_count,
int values_offset = 0, const
char* overlay_text = NULL,
float scale_min = FLT_MAX,
float scale_max = FLT_MAX,
ImVec2 graph_size =
ImVec2(0, 0));
657 IMGUI_API void Value(const
char* prefix,
float v, const
char* float_format = NULL);
670 IMGUI_API bool MenuItem(const
char* label, const
char* shortcut = NULL,
bool selected = false,
bool enabled = true);
671 IMGUI_API bool MenuItem(const
char* label, const
char* shortcut,
bool* p_selected,
bool enabled = true);
1023#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1200#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1243#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1324#define IMGUI_PAYLOAD_TYPE_COLOR_3F "_COL3F"
1325#define IMGUI_PAYLOAD_TYPE_COLOR_4F "_COL4F"
1386 ImGuiKey_0,
ImGuiKey_1,
ImGuiKey_2,
ImGuiKey_3,
ImGuiKey_4,
ImGuiKey_5,
ImGuiKey_6,
ImGuiKey_7,
ImGuiKey_8,
ImGuiKey_9,
1387 ImGuiKey_A,
ImGuiKey_B,
ImGuiKey_C,
ImGuiKey_D,
ImGuiKey_E,
ImGuiKey_F,
ImGuiKey_G,
ImGuiKey_H,
ImGuiKey_I,
ImGuiKey_J,
1388 ImGuiKey_K,
ImGuiKey_L,
ImGuiKey_M,
ImGuiKey_N,
ImGuiKey_O,
ImGuiKey_P,
ImGuiKey_Q,
ImGuiKey_R,
ImGuiKey_S,
ImGuiKey_T,
1462#ifdef IMGUI_DISABLE_OBSOLETE_KEYIO
1470#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1711#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1768#define IM_ALLOC(_SIZE) ImGui::MemAlloc(_SIZE)
1769#define IM_FREE(_PTR) ImGui::MemFree(_PTR)
1770#define IM_PLACEMENT_NEW(_PTR) new(ImNewWrapper(), _PTR)
1771#define IM_NEW(_TYPE) new(ImNewWrapper(), ImGui::MemAlloc(sizeof(_TYPE))) _TYPE
1799 inline ImVector() { Size = Capacity = 0; Data = NULL; }
1804 inline void clear() {
if (Data) { Size = Capacity = 0;
IM_FREE(Data); Data = NULL; } }
1806 inline void clear_destruct() {
for (
int n = 0; n < Size; n++) Data[n].~T(); clear(); }
1808 inline bool empty()
const {
return Size == 0; }
1809 inline int size()
const {
return Size; }
1811 inline int max_size()
const {
return 0x7FFFFFFF / (int)
sizeof(T); }
1817 inline const T*
begin()
const {
return Data; }
1818 inline T*
end() {
return Data + Size; }
1819 inline const T*
end()
const {
return Data + Size; }
1826 inline int _grow_capacity(
int sz)
const {
int new_capacity = Capacity ? (Capacity + Capacity / 2) : 8;
return new_capacity > sz ? new_capacity : sz; }
1827 inline void resize(
int new_size) {
if (new_size > Capacity) reserve(_grow_capacity(new_size)); Size = new_size; }
1828 inline void resize(
int new_size,
const T& v) {
if (new_size > Capacity) reserve(_grow_capacity(new_size));
if (new_size > Size)
for (
int n = Size; n < new_size; n++) memcpy(&Data[n], &v,
sizeof(v)); Size = new_size; }
1830 inline void reserve(
int new_capacity) {
if (new_capacity <= Capacity)
return; T* new_data = (T*)
IM_ALLOC((
size_t)new_capacity *
sizeof(T));
if (Data) { memcpy(new_data, Data, (
size_t)Size *
sizeof(T));
IM_FREE(Data); } Data = new_data; Capacity = new_capacity; }
1831 inline void reserve_discard(
int new_capacity) {
if (new_capacity <= Capacity)
return;
if (Data)
IM_FREE(Data); Data = (T*)
IM_ALLOC((
size_t)new_capacity *
sizeof(T)); Capacity = new_capacity; }
1834 inline void push_back(
const T& v) {
if (Size == Capacity) reserve(_grow_capacity(Size + 1)); memcpy(&Data[Size], &v,
sizeof(v)); Size++; }
1836 inline void push_front(
const T& v) {
if (Size == 0) push_back(v);
else insert(Data, v); }
1837 inline T*
erase(
const T* it) {
IM_ASSERT(it >= Data && it < Data + Size);
const ptrdiff_t off = it - Data; memmove(Data + off, Data + off + 1, ((
size_t)Size - (
size_t)off - 1) *
sizeof(T)); Size--;
return Data + off; }
1838 inline T*
erase(
const T* it,
const T* it_last){
IM_ASSERT(it >= Data && it < Data + Size && it_last >= it && it_last <= Data + Size);
const ptrdiff_t count = it_last - it;
const ptrdiff_t off = it - Data; memmove(Data + off, Data + off + count, ((
size_t)Size - (
size_t)off - (
size_t)count) *
sizeof(T)); Size -= (int)count;
return Data + off; }
1839 inline T*
erase_unsorted(
const T* it) {
IM_ASSERT(it >= Data && it < Data + Size);
const ptrdiff_t off = it - Data;
if (it < Data + Size - 1) memcpy(Data + off, Data + Size - 1,
sizeof(T)); Size--;
return Data + off; }
1840 inline T*
insert(
const T* it,
const T& v) {
IM_ASSERT(it >= Data && it <= Data + Size);
const ptrdiff_t off = it - Data;
if (Size == Capacity) reserve(_grow_capacity(Size + 1));
if (off < (
int)Size) memmove(Data + off + 1, Data + off, ((
size_t)Size - (
size_t)off) *
sizeof(T)); memcpy(&Data[off], &v,
sizeof(v)); Size++;
return Data + off; }
1841 inline bool contains(
const T& v)
const {
const T* data = Data;
const T* data_end = Data + Size;
while (data < data_end)
if (*data++ == v)
return true;
return false; }
1842 inline T*
find(
const T& v) { T* data = Data;
const T* data_end = Data + Size;
while (data < data_end)
if (*data == v)
break;
else ++data;
return data; }
1843 inline const T*
find(
const T& v)
const {
const T* data = Data;
const T* data_end = Data + Size;
while (data < data_end)
if (*data == v)
break;
else ++data;
return data; }
1844 inline bool find_erase(
const T& v) {
const T* it = find(v);
if (it < Data + Size) { erase(it);
return true; }
return false; }
1845 inline bool find_erase_unsorted(
const T& v) {
const T* it = find(v);
if (it < Data + Size) { erase_unsorted(it);
return true; }
return false; }
1846 inline int index_from_ptr(
const T* it)
const {
IM_ASSERT(it >= Data && it < Data + Size);
const ptrdiff_t off = it - Data;
return (
int)off; }
1973 const char* (*GetClipboardTextFn)(
void* user_data);
1974 void (*SetClipboardTextFn)(
void* user_data,
const char* text);
1980#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1983 void* _UnusedPadding;
2029#ifndef IMGUI_DISABLE_OBSOLETE_KEYIO
2057 double MouseClickedTime[5];
2058 bool MouseClicked[5];
2059 bool MouseDoubleClicked[5];
2062 bool MouseReleased[5];
2063 bool MouseDownOwned[5];
2064 bool MouseDownOwnedUnlessPopupClose[5];
2065 float MouseDownDuration[5];
2066 float MouseDownDurationPrev[5];
2067 float MouseDragMaxDistanceSqr[5];
2118 void SelectAll() { SelectionStart = 0; SelectionEnd = BufTextLen; }
2144 char DataType[32 + 1];
2149 void Clear() { SourceId = SourceParentId = 0; Data = NULL; DataSize = 0; memset(DataType, 0,
sizeof(DataType)); DataFrameCount = -1; Preview = Delivery =
false; }
2150 bool IsDataType(
const char* type)
const {
return DataFrameCount != -1 && strcmp(type, DataType) == 0; }
2184#define IM_UNICODE_CODEPOINT_INVALID 0xFFFD
2185#ifdef IMGUI_USE_WCHAR32
2186#define IM_UNICODE_CODEPOINT_MAX 0x10FFFF
2188#define IM_UNICODE_CODEPOINT_MAX 0xFFFF
2197 operator bool()
const {
int current_frame =
ImGui::GetFrameCount();
if (RefFrame == current_frame)
return false; RefFrame = current_frame;
return true; }
2204 IMGUI_API bool Draw(
const char* label =
"Filter (inc,-exc)",
float width = 0.0f);
2207 void Clear() { InputBuf[0] = 0; Build(); }
2236 const char*
end()
const {
return Buf.
Data ? &Buf.
back() : EmptyString; }
2261 union {
int val_i;
float val_f;
void* val_p; };
2338#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
2339 inline ImGuiListClipper(
int items_count,
float items_height = -1.0f) { memset(
this, 0,
sizeof(*
this)); ItemsCount = -1; Begin(items_count, items_height); }
2345#ifndef IM_COL32_R_SHIFT
2346#ifdef IMGUI_USE_BGRA_PACKED_COLOR
2347#define IM_COL32_R_SHIFT 16
2348#define IM_COL32_G_SHIFT 8
2349#define IM_COL32_B_SHIFT 0
2350#define IM_COL32_A_SHIFT 24
2351#define IM_COL32_A_MASK 0xFF000000
2353#define IM_COL32_R_SHIFT 0
2354#define IM_COL32_G_SHIFT 8
2355#define IM_COL32_B_SHIFT 16
2356#define IM_COL32_A_SHIFT 24
2357#define IM_COL32_A_MASK 0xFF000000
2360#define IM_COL32(R,G,B,A) (((ImU32)(A)<<IM_COL32_A_SHIFT) | ((ImU32)(B)<<IM_COL32_B_SHIFT) | ((ImU32)(G)<<IM_COL32_G_SHIFT) | ((ImU32)(R)<<IM_COL32_R_SHIFT))
2361#define IM_COL32_WHITE IM_COL32(255,255,255,255)
2362#define IM_COL32_BLACK IM_COL32(0,0,0,255)
2363#define IM_COL32_BLACK_TRANS IM_COL32(0,0,0,0)
2374 constexpr ImColor(
float r,
float g,
float b,
float a = 1.0f) : Value(r, g, b, a) { }
2376 ImColor(
int r,
int g,
int b,
int a = 255) {
float sc = 1.0f / 255.0f; Value.x = (float)r * sc; Value.y = (float)g * sc; Value.z = (float)b * sc; Value.w = (float)a * sc; }
2379 inline operator ImVec4()
const {
return Value; }
2383 static ImColor HSV(
float h,
float s,
float v,
float a = 1.0f) {
float r, g, b;
ImGui::ColorConvertHSVtoRGB(h, s, v, r, g, b);
return ImColor(r, g, b, a); }
2392#ifndef IM_DRAWLIST_TEX_LINES_WIDTH_MAX
2393#define IM_DRAWLIST_TEX_LINES_WIDTH_MAX (63)
2403#ifndef ImDrawCallback
2411#define ImDrawCallback_ResetRenderState (ImDrawCallback)(-1)
2435#ifndef IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT
2447IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT;
2476 inline void Clear() { _Current = 0; _Count = 1; }
2545 ImDrawList(
const ImDrawListSharedData* shared_data) { memset(
this, 0,
sizeof(*
this)); _Data = shared_data; }
2587 IMGUI_API void AddImageQuad(
ImTextureID user_texture_id,
const ImVec2& p1,
const ImVec2& p2,
const ImVec2& p3,
const ImVec2& p4,
const ImVec2& uv1 =
ImVec2(0, 0),
const ImVec2& uv2 =
ImVec2(1, 0),
const ImVec2& uv3 =
ImVec2(1, 1),
const ImVec2& uv4 =
ImVec2(0, 1),
ImU32 col =
IM_COL32_WHITE);
2630#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
2631 inline void AddBezierCurve(
const ImVec2& p1,
const ImVec2& p2,
const ImVec2& p3,
const ImVec2& p4,
ImU32 col,
float thickness,
int num_segments = 0) { AddBezierCubic(p1, p2, p3, p4, col, thickness, num_segments); }
2664 void Clear() { memset(
this, 0,
sizeof(*
this)); }
2720 inline bool GetBit(
size_t n)
const {
int off = (int)(n >> 5);
ImU32 mask = 1u << (n & 31);
return (UsedChars[off] & mask) != 0; }
2721 inline void SetBit(
size_t n) {
int off = (int)(n >> 5);
ImU32 mask = 1u << (n & 31); UsedChars[off] |= mask; }
2732 unsigned short X, Y;
2790 bool IsBuilt()
const {
return Fonts.Size > 0 && TexReady; }
2899 bool IsLoaded()
const {
return ContainerAtlas != NULL; }
2904 IMGUI_API ImVec2 CalcTextSizeA(
float size,
float max_width,
float wrap_width,
const char* text_begin,
const char* text_end = NULL,
const char** remaining = NULL)
const;
2913 IMGUI_API void AddGlyph(
const ImFontConfig* src_cfg,
ImWchar c,
float x0,
float y0,
float x1,
float y1,
float u0,
float v0,
float u1,
float v1,
float advance_x);
2979#ifndef IMGUI_DISABLE_OBSOLETE_KEYIO
2986#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
2999 static inline void ListBoxFooter() { EndListBox(); }
3006 IMGUI_API bool DragScalarN(
const char* label,
ImGuiDataType data_type,
void* p_data,
int components,
float v_speed,
const void* p_min,
const void* p_max,
const char* format,
float power);
3007 static inline bool DragFloat(
const char* label,
float* v,
float v_speed,
float v_min,
float v_max,
const char* format,
float power) {
return DragScalar(label,
ImGuiDataType_Float, v, v_speed, &v_min, &v_max, format, power); }
3008 static inline bool DragFloat2(
const char* label,
float v[2],
float v_speed,
float v_min,
float v_max,
const char* format,
float power) {
return DragScalarN(label,
ImGuiDataType_Float, v, 2, v_speed, &v_min, &v_max, format, power); }
3009 static inline bool DragFloat3(
const char* label,
float v[3],
float v_speed,
float v_min,
float v_max,
const char* format,
float power) {
return DragScalarN(label,
ImGuiDataType_Float, v, 3, v_speed, &v_min, &v_max, format, power); }
3010 static inline bool DragFloat4(
const char* label,
float v[4],
float v_speed,
float v_min,
float v_max,
const char* format,
float power) {
return DragScalarN(label,
ImGuiDataType_Float, v, 4, v_speed, &v_min, &v_max, format, power); }
3013 static inline bool SliderFloat(
const char* label,
float* v,
float v_min,
float v_max,
const char* format,
float power) {
return SliderScalar(label,
ImGuiDataType_Float, v, &v_min, &v_max, format, power); }
3014 static inline bool SliderFloat2(
const char* label,
float v[2],
float v_min,
float v_max,
const char* format,
float power) {
return SliderScalarN(label,
ImGuiDataType_Float, v, 2, &v_min, &v_max, format, power); }
3015 static inline bool SliderFloat3(
const char* label,
float v[3],
float v_min,
float v_max,
const char* format,
float power) {
return SliderScalarN(label,
ImGuiDataType_Float, v, 3, &v_min, &v_max, format, power); }
3016 static inline bool SliderFloat4(
const char* label,
float v[4],
float v_min,
float v_max,
const char* format,
float power) {
return SliderScalarN(label,
ImGuiDataType_Float, v, 4, &v_min, &v_max, format, power); }
3059#if defined(IMGUI_DISABLE_METRICS_WINDOW) && !defined(IMGUI_DISABLE_OBSOLETE_FUNCTIONS) && !defined(IMGUI_DISABLE_DEBUG_TOOLS)
3060#define IMGUI_DISABLE_DEBUG_TOOLS
3062#if defined(IMGUI_DISABLE_METRICS_WINDOW) && defined(IMGUI_DISABLE_OBSOLETE_FUNCTIONS)
3063#error IMGUI_DISABLE_METRICS_WINDOW was renamed to IMGUI_DISABLE_DEBUG_TOOLS, please use new name.
3068#if defined(__clang__)
3069#pragma clang diagnostic pop
3070#elif defined(__GNUC__)
3071#pragma GCC diagnostic pop
3075#pragma warning (pop)
3079#ifdef IMGUI_INCLUDE_IMGUI_USER_H
3080#include "imgui_user.h"
@ ImGuiFocusedFlags_RootWindow
@ ImGuiFocusedFlags_AnyWindow
@ ImGuiFocusedFlags_ChildWindows
@ ImGuiFocusedFlags_NoPopupHierarchy
@ ImGuiFocusedFlags_RootAndChildWindows
@ ImGuiDragDropFlags_AcceptBeforeDelivery
@ ImGuiDragDropFlags_SourceNoPreviewTooltip
@ ImGuiDragDropFlags_SourceAllowNullID
@ ImGuiDragDropFlags_AcceptPeekOnly
@ ImGuiDragDropFlags_None
@ ImGuiDragDropFlags_SourceExtern
@ ImGuiDragDropFlags_AcceptNoDrawDefaultRect
@ ImGuiDragDropFlags_SourceNoDisableHover
@ ImGuiDragDropFlags_SourceNoHoldToOpenOthers
@ ImGuiDragDropFlags_SourceAutoExpirePayload
@ ImGuiDragDropFlags_AcceptNoPreviewTooltip
@ ImGuiHoveredFlags_AllowWhenBlockedByActiveItem
@ ImGuiHoveredFlags_AllowWhenBlockedByPopup
@ ImGuiHoveredFlags_NoNavOverride
@ ImGuiHoveredFlags_RectOnly
@ ImGuiHoveredFlags_NoPopupHierarchy
@ ImGuiHoveredFlags_RootAndChildWindows
@ ImGuiHoveredFlags_ChildWindows
@ ImGuiHoveredFlags_RootWindow
@ ImGuiHoveredFlags_AnyWindow
@ ImGuiHoveredFlags_AllowWhenOverlapped
@ ImGuiHoveredFlags_AllowWhenDisabled
@ ImGuiConfigFlags_NoMouse
@ ImGuiConfigFlags_NavEnableSetMousePos
@ ImGuiConfigFlags_NavEnableGamepad
@ ImGuiConfigFlags_IsTouchScreen
@ ImGuiConfigFlags_NoMouseCursorChange
@ ImGuiConfigFlags_IsSRGB
@ ImGuiConfigFlags_NavEnableKeyboard
@ ImGuiConfigFlags_NavNoCaptureKeyboard
void *(* ImGuiMemAllocFunc)(size_t sz, void *user_data)
@ ImGuiNavInput_FocusPrev
@ ImGuiNavInput_LStickRight
@ ImGuiNavInput_TweakFast
@ ImGuiNavInput_DpadRight
@ ImGuiNavInput_FocusNext
@ ImGuiNavInput_LStickLeft
@ ImGuiNavInput_LStickDown
@ ImGuiNavInput_KeyRight_
@ ImGuiNavInput_TweakSlow
void(* ImGuiSizeCallback)(ImGuiSizeCallbackData *data)
@ ImDrawListFlags_AntiAliasedLinesUseTex
@ ImDrawListFlags_AntiAliasedFill
@ ImDrawListFlags_AntiAliasedLines
@ ImDrawListFlags_AllowVtxOffset
void(* ImDrawCallback)(const ImDrawList *parent_list, const ImDrawCmd *cmd)
@ ImGuiBackendFlags_HasGamepad
@ ImGuiBackendFlags_HasMouseCursors
@ ImGuiBackendFlags_HasSetMousePos
@ ImGuiBackendFlags_RendererHasVtxOffset
#define IM_DRAWLIST_TEX_LINES_WIDTH_MAX
@ ImGuiMouseCursor_ResizeNWSE
@ ImGuiMouseCursor_ResizeEW
@ ImGuiMouseCursor_NotAllowed
@ ImGuiMouseCursor_TextInput
@ ImGuiMouseCursor_ResizeNS
@ ImGuiMouseCursor_ResizeNESW
@ ImGuiMouseCursor_ResizeAll
@ ImGuiButtonFlags_MouseButtonRight
@ ImGuiButtonFlags_MouseButtonDefault_
@ ImGuiButtonFlags_MouseButtonMask_
@ ImGuiButtonFlags_MouseButtonLeft
@ ImGuiButtonFlags_MouseButtonMiddle
@ ImGuiTableColumnFlags_StatusMask_
@ ImGuiTableColumnFlags_WidthFixed
@ ImGuiTableColumnFlags_IndentDisable
@ ImGuiTableColumnFlags_PreferSortDescending
@ ImGuiTableColumnFlags_IsEnabled
@ ImGuiTableColumnFlags_NoHide
@ ImGuiTableColumnFlags_NoHeaderLabel
@ ImGuiTableColumnFlags_WidthStretch
@ ImGuiTableColumnFlags_WidthMask_
@ ImGuiTableColumnFlags_NoSort
@ ImGuiTableColumnFlags_IsVisible
@ ImGuiTableColumnFlags_IndentEnable
@ ImGuiTableColumnFlags_DefaultHide
@ ImGuiTableColumnFlags_IsHovered
@ ImGuiTableColumnFlags_NoReorder
@ ImGuiTableColumnFlags_PreferSortAscending
@ ImGuiTableColumnFlags_NoSortAscending
@ ImGuiTableColumnFlags_NoResize
@ ImGuiTableColumnFlags_NoHeaderWidth
@ ImGuiTableColumnFlags_DefaultSort
@ ImGuiTableColumnFlags_NoSortDescending
@ ImGuiTableColumnFlags_Disabled
@ ImGuiTableColumnFlags_None
@ ImGuiTableColumnFlags_NoClip
@ ImGuiTableColumnFlags_IsSorted
@ ImGuiTableColumnFlags_IndentMask_
@ ImGuiTableColumnFlags_NoDirectResize_
@ ImGuiPopupFlags_MouseButtonMask_
@ ImGuiPopupFlags_AnyPopup
@ ImGuiPopupFlags_AnyPopupLevel
@ ImGuiPopupFlags_NoOpenOverExistingPopup
@ ImGuiPopupFlags_MouseButtonDefault_
@ ImGuiPopupFlags_AnyPopupId
@ ImGuiPopupFlags_NoOpenOverItems
@ ImGuiPopupFlags_MouseButtonLeft
@ ImGuiPopupFlags_MouseButtonRight
@ ImGuiPopupFlags_MouseButtonMiddle
@ ImGuiTabBarFlags_NoCloseWithMiddleMouseButton
@ ImGuiTabBarFlags_TabListPopupButton
@ ImGuiTabBarFlags_FittingPolicyDefault_
@ ImGuiTabBarFlags_FittingPolicyMask_
@ ImGuiTabBarFlags_NoTabListScrollingButtons
@ ImGuiTabBarFlags_NoTooltip
@ ImGuiTabBarFlags_FittingPolicyScroll
@ ImGuiTabBarFlags_AutoSelectNewTabs
@ ImGuiTabBarFlags_FittingPolicyResizeDown
@ ImGuiTabBarFlags_Reorderable
@ ImGuiTabItemFlags_Trailing
@ ImGuiTabItemFlags_NoReorder
@ ImGuiTabItemFlags_Leading
@ ImGuiTabItemFlags_SetSelected
@ ImGuiTabItemFlags_NoPushId
@ ImGuiTabItemFlags_NoTooltip
@ ImGuiTabItemFlags_UnsavedDocument
@ ImGuiTabItemFlags_NoCloseWithMiddleMouseButton
@ ImGuiStyleVar_GrabRounding
@ ImGuiStyleVar_ChildRounding
@ ImGuiStyleVar_DisabledAlpha
@ ImGuiStyleVar_WindowRounding
@ ImGuiStyleVar_WindowMinSize
@ ImGuiStyleVar_IndentSpacing
@ ImGuiStyleVar_FrameRounding
@ ImGuiStyleVar_ItemSpacing
@ ImGuiStyleVar_CellPadding
@ ImGuiStyleVar_GrabMinSize
@ ImGuiStyleVar_ScrollbarSize
@ ImGuiStyleVar_FrameBorderSize
@ ImGuiStyleVar_FramePadding
@ ImGuiStyleVar_ScrollbarRounding
@ ImGuiStyleVar_PopupBorderSize
@ ImGuiStyleVar_WindowPadding
@ ImGuiStyleVar_ItemInnerSpacing
@ ImGuiStyleVar_PopupRounding
@ ImGuiStyleVar_SelectableTextAlign
@ ImGuiStyleVar_ButtonTextAlign
@ ImGuiStyleVar_WindowTitleAlign
@ ImGuiStyleVar_ChildBorderSize
@ ImGuiStyleVar_WindowBorderSize
@ ImGuiStyleVar_TabRounding
int(* ImGuiInputTextCallback)(ImGuiInputTextCallbackData *data)
@ ImGuiSliderFlags_InvalidMask_
@ ImGuiSliderFlags_AlwaysClamp
@ ImGuiSliderFlags_ClampOnInput
@ ImGuiSliderFlags_Logarithmic
@ ImGuiSliderFlags_NoInput
@ ImGuiSliderFlags_NoRoundToFormat
@ ImGuiKey_GamepadFaceRight
@ ImGuiKey_KeypadMultiply
@ ImGuiKey_GamepadLStickDown
@ ImGuiKey_NamedKey_BEGIN
@ ImGuiKey_GamepadDpadDown
@ ImGuiKey_GamepadRStickDown
@ ImGuiKey_GamepadRStickUp
@ ImGuiKey_KeysData_OFFSET
@ ImGuiKey_KeypadSubtract
@ ImGuiKey_GamepadLStickUp
@ ImGuiKey_GamepadFaceDown
@ ImGuiKey_GamepadLStickLeft
@ ImGuiKey_GamepadRStickRight
@ ImGuiKey_GamepadDpadRight
@ ImGuiKey_GamepadDpadLeft
@ ImGuiKey_NamedKey_COUNT
@ ImGuiKey_GamepadFaceLeft
@ ImGuiKey_GamepadLStickRight
@ ImGuiKey_GamepadRStickLeft
@ ImGuiInputTextFlags_None
@ ImGuiInputTextFlags_CharsNoBlank
@ ImGuiInputTextFlags_CallbackHistory
@ ImGuiInputTextFlags_NoUndoRedo
@ ImGuiInputTextFlags_NoHorizontalScroll
@ ImGuiInputTextFlags_CallbackCharFilter
@ ImGuiInputTextFlags_AllowTabInput
@ ImGuiInputTextFlags_CharsHexadecimal
@ ImGuiInputTextFlags_CharsScientific
@ ImGuiInputTextFlags_AutoSelectAll
@ ImGuiInputTextFlags_CharsDecimal
@ ImGuiInputTextFlags_CallbackCompletion
@ ImGuiInputTextFlags_Password
@ ImGuiInputTextFlags_CtrlEnterForNewLine
@ ImGuiInputTextFlags_EnterReturnsTrue
@ ImGuiInputTextFlags_ReadOnly
@ ImGuiInputTextFlags_CharsUppercase
@ ImGuiInputTextFlags_CallbackResize
@ ImGuiInputTextFlags_AlwaysOverwrite
@ ImGuiInputTextFlags_AlwaysInsertMode
@ ImGuiInputTextFlags_CallbackEdit
@ ImGuiInputTextFlags_CallbackAlways
@ ImGuiTableBgTarget_CellBg
@ ImGuiTableBgTarget_RowBg0
@ ImGuiTableBgTarget_RowBg1
@ ImGuiTableBgTarget_None
#define IM_MSVC_RUNTIME_CHECKS_OFF
@ ImGuiSortDirection_Descending
@ ImGuiSortDirection_Ascending
@ ImGuiSortDirection_None
@ ImFontAtlasFlags_NoBakedLines
@ ImFontAtlasFlags_NoPowerOfTwoHeight
@ ImFontAtlasFlags_NoMouseCursors
@ ImGuiCol_FrameBgHovered
@ ImGuiCol_TitleBgCollapsed
@ ImGuiCol_PlotHistogramHovered
@ ImGuiCol_TextSelectedBg
@ ImGuiCol_ModalWindowDimBg
@ ImGuiCol_DragDropTarget
@ ImGuiCol_TabUnfocusedActive
@ ImGuiCol_SeparatorActive
@ ImGuiCol_ScrollbarGrabActive
@ ImGuiCol_ResizeGripActive
@ ImGuiCol_TableBorderLight
@ ImGuiCol_ScrollbarGrabHovered
@ ImGuiCol_ResizeGripHovered
@ ImGuiCol_NavWindowingHighlight
@ ImGuiCol_TableBorderStrong
@ ImGuiCol_SliderGrabActive
@ ImGuiCol_SeparatorHovered
@ ImGuiCol_NavWindowingDimBg
@ ImGuiCol_PlotLinesHovered
@ ImGuiTableRowFlags_None
@ ImGuiTableRowFlags_Headers
@ ImGuiMouseButton_Middle
@ ImGuiComboFlags_NoPreview
@ ImGuiComboFlags_PopupAlignLeft
@ ImGuiComboFlags_HeightSmall
@ ImGuiComboFlags_HeightRegular
@ ImGuiComboFlags_NoArrowButton
@ ImGuiComboFlags_HeightLarge
@ ImGuiComboFlags_HeightLargest
@ ImGuiComboFlags_HeightMask_
@ ImGuiTreeNodeFlags_Selected
@ ImGuiTreeNodeFlags_NoAutoOpenOnLog
@ ImGuiTreeNodeFlags_OpenOnArrow
@ ImGuiTreeNodeFlags_DefaultOpen
@ ImGuiTreeNodeFlags_Leaf
@ ImGuiTreeNodeFlags_FramePadding
@ ImGuiTreeNodeFlags_NoTreePushOnOpen
@ ImGuiTreeNodeFlags_Framed
@ ImGuiTreeNodeFlags_SpanFullWidth
@ ImGuiTreeNodeFlags_NavLeftJumpsBackHere
@ ImGuiTreeNodeFlags_AllowItemOverlap
@ ImGuiTreeNodeFlags_OpenOnDoubleClick
@ ImGuiTreeNodeFlags_CollapsingHeader
@ ImGuiTreeNodeFlags_Bullet
@ ImGuiTreeNodeFlags_SpanAvailWidth
@ ImGuiTreeNodeFlags_None
@ ImGuiSelectableFlags_AllowItemOverlap
@ ImGuiSelectableFlags_SpanAllColumns
@ ImGuiSelectableFlags_None
@ ImGuiSelectableFlags_DontClosePopups
@ ImGuiSelectableFlags_AllowDoubleClick
@ ImGuiSelectableFlags_Disabled
#define IM_MSVC_RUNTIME_CHECKS_RESTORE
@ ImGuiViewportFlags_OwnedByApp
@ ImGuiViewportFlags_IsPlatformWindow
@ ImGuiViewportFlags_IsPlatformMonitor
@ ImGuiViewportFlags_None
@ ImGuiWindowFlags_NoInputs
@ ImGuiWindowFlags_NoBackground
@ ImGuiWindowFlags_NoNavInputs
@ ImGuiWindowFlags_AlwaysUseWindowPadding
@ ImGuiWindowFlags_AlwaysAutoResize
@ ImGuiWindowFlags_MenuBar
@ ImGuiWindowFlags_HorizontalScrollbar
@ ImGuiWindowFlags_Tooltip
@ ImGuiWindowFlags_NoTitleBar
@ ImGuiWindowFlags_NoNavFocus
@ ImGuiWindowFlags_AlwaysVerticalScrollbar
@ ImGuiWindowFlags_NoFocusOnAppearing
@ ImGuiWindowFlags_NoCollapse
@ ImGuiWindowFlags_NoScrollWithMouse
@ ImGuiWindowFlags_NoMouseInputs
@ ImGuiWindowFlags_UnsavedDocument
@ ImGuiWindowFlags_NoSavedSettings
@ ImGuiWindowFlags_NoBringToFrontOnFocus
@ ImGuiWindowFlags_ChildMenu
@ ImGuiWindowFlags_AlwaysHorizontalScrollbar
@ ImGuiWindowFlags_NoDecoration
@ ImGuiWindowFlags_NavFlattened
@ ImGuiWindowFlags_NoMove
@ ImGuiWindowFlags_ChildWindow
@ ImGuiWindowFlags_NoResize
@ ImGuiWindowFlags_NoScrollbar
@ ImDrawCornerFlags_TopLeft
@ ImDrawCornerFlags_Right
@ ImDrawCornerFlags_TopRight
@ ImDrawCornerFlags_BotLeft
@ ImDrawCornerFlags_BotRight
void(* ImGuiMemFreeFunc)(void *ptr, void *user_data)
@ ImGuiTableFlags_SortTristate
@ ImGuiTableFlags_NoSavedSettings
@ ImGuiTableFlags_Sortable
@ ImGuiTableFlags_SizingFixedSame
@ ImGuiTableFlags_NoBordersInBodyUntilResize
@ ImGuiTableFlags_SortMulti
@ ImGuiTableFlags_NoBordersInBody
@ ImGuiTableFlags_Borders
@ ImGuiTableFlags_Reorderable
@ ImGuiTableFlags_BordersInnerH
@ ImGuiTableFlags_BordersInner
@ ImGuiTableFlags_BordersH
@ ImGuiTableFlags_SizingMask_
@ ImGuiTableFlags_NoPadInnerX
@ ImGuiTableFlags_ScrollY
@ ImGuiTableFlags_SizingStretchSame
@ ImGuiTableFlags_SizingStretchProp
@ ImGuiTableFlags_NoHostExtendX
@ ImGuiTableFlags_PadOuterX
@ ImGuiTableFlags_BordersOuterV
@ ImGuiTableFlags_NoKeepColumnsVisible
@ ImGuiTableFlags_ScrollX
@ ImGuiTableFlags_BordersInnerV
@ ImGuiTableFlags_ContextMenuInBody
@ ImGuiTableFlags_PreciseWidths
@ ImGuiTableFlags_BordersV
@ ImGuiTableFlags_NoPadOuterX
@ ImGuiTableFlags_SizingFixedFit
@ ImGuiTableFlags_NoHostExtendY
@ ImGuiTableFlags_Hideable
@ ImGuiTableFlags_Resizable
@ ImGuiTableFlags_BordersOuterH
@ ImGuiTableFlags_BordersOuter
@ ImGuiColorEditFlags_InputRGB
@ ImGuiColorEditFlags_DisplayRGB
@ ImGuiColorEditFlags_AlphaPreview
@ ImGuiColorEditFlags_InputMask_
@ ImGuiColorEditFlags_NoSmallPreview
@ ImGuiColorEditFlags_DisplayHex
@ ImGuiColorEditFlags_Uint8
@ ImGuiColorEditFlags_NoOptions
@ ImGuiColorEditFlags_NoAlpha
@ ImGuiColorEditFlags_NoPicker
@ ImGuiColorEditFlags_NoSidePreview
@ ImGuiColorEditFlags_NoLabel
@ ImGuiColorEditFlags_InputHSV
@ ImGuiColorEditFlags_DisplayMask_
@ ImGuiColorEditFlags_NoBorder
@ ImGuiColorEditFlags_PickerMask_
@ ImGuiColorEditFlags_NoInputs
@ ImGuiColorEditFlags_PickerHueWheel
@ ImGuiColorEditFlags_AlphaPreviewHalf
@ ImGuiColorEditFlags_AlphaBar
@ ImGuiColorEditFlags_None
@ ImGuiColorEditFlags_HDR
@ ImGuiColorEditFlags_DefaultOptions_
@ ImGuiColorEditFlags_NoDragDrop
@ ImGuiColorEditFlags_PickerHueBar
@ ImGuiColorEditFlags_NoTooltip
@ ImGuiColorEditFlags_DisplayHSV
@ ImGuiColorEditFlags_Float
@ ImGuiColorEditFlags_DataTypeMask_
#define IM_UNICODE_CODEPOINT_MAX
@ ImDrawFlags_RoundCornersTopLeft
@ ImDrawFlags_RoundCornersBottomLeft
@ ImDrawFlags_RoundCornersTopRight
@ ImDrawFlags_RoundCornersNone
@ ImDrawFlags_RoundCornersBottom
@ ImDrawFlags_RoundCornersRight
@ ImDrawFlags_RoundCornersBottomRight
@ ImDrawFlags_RoundCornersMask_
@ ImDrawFlags_RoundCornersLeft
@ ImDrawFlags_RoundCornersTop
@ ImDrawFlags_RoundCornersDefault_
@ ImDrawFlags_RoundCornersAll
ImDrawFlags ImDrawCornerFlags
int ImGuiTableColumnFlags
IMGUI_API bool SetDragDropPayload(const char *type, const void *data, size_t sz, ImGuiCond cond=0)
IMGUI_API void ShowStackToolWindow(bool *p_open=NULL)
IMGUI_API bool InvisibleButton(const char *str_id, const ImVec2 &size, ImGuiButtonFlags flags=0)
IMGUI_API bool TabItemButton(const char *label, ImGuiTabItemFlags flags=0)
IMGUI_API void EndChild()
IMGUI_API bool InputTextMultiline(const char *label, char *buf, size_t buf_size, const ImVec2 &size=ImVec2(0, 0), ImGuiInputTextFlags flags=0, ImGuiInputTextCallback callback=NULL, void *user_data=NULL)
IMGUI_API bool BeginPopupModal(const char *name, bool *p_open=NULL, ImGuiWindowFlags flags=0)
IMGUI_API int GetMouseClickedCount(ImGuiMouseButton button)
IMGUI_API void SetNextItemWidth(float item_width)
IMGUI_API void EndDragDropSource()
IMGUI_API bool BeginMainMenuBar()
IMGUI_API bool BeginTabBar(const char *str_id, ImGuiTabBarFlags flags=0)
IMGUI_API void ShowDemoWindow(bool *p_open=NULL)
IMGUI_API void SetNextWindowContentSize(const ImVec2 &size)
IMGUI_API void TextColoredV(const ImVec4 &col, const char *fmt, va_list args) IM_FMTLIST(2)
IMGUI_API bool BeginTabItem(const char *label, bool *p_open=NULL, ImGuiTabItemFlags flags=0)
IMGUI_API bool BeginListBox(const char *label, const ImVec2 &size=ImVec2(0, 0))
IMGUI_API const ImGuiPayload * AcceptDragDropPayload(const char *type, ImGuiDragDropFlags flags=0)
IMGUI_API void LogFinish()
IMGUI_API void LabelText(const char *label, const char *fmt,...) IM_FMTARGS(2)
IMGUI_API void ShowUserGuide()
IMGUI_API void SetTooltipV(const char *fmt, va_list args) IM_FMTLIST(1)
IMGUI_API ImU32 ColorConvertFloat4ToU32(const ImVec4 &in)
IMGUI_API void DestroyContext(ImGuiContext *ctx=NULL)
IMGUI_API void TextDisabledV(const char *fmt, va_list args) IM_FMTLIST(1)
IMGUI_API void SetNextItemOpen(bool is_open, ImGuiCond cond=0)
IMGUI_API void PushStyleVar(ImGuiStyleVar idx, float val)
IMGUI_API ImDrawData * GetDrawData()
IMGUI_API void CloseCurrentPopup()
IMGUI_API void PushStyleColor(ImGuiCol idx, ImU32 col)
IMGUI_API void BeginDisabled(bool disabled=true)
IMGUI_API void LogButtons()
IMGUI_API ImVec2 GetWindowContentRegionMin()
IMGUI_API bool DragFloat4(const char *label, float v[4], float v_speed=1.0f, float v_min=0.0f, float v_max=0.0f, const char *format="%.3f", ImGuiSliderFlags flags=0)
IMGUI_API void EndDragDropTarget()
IMGUI_API void OpenPopupOnItemClick(const char *str_id=NULL, ImGuiPopupFlags popup_flags=1)
IMGUI_API const char * GetKeyName(ImGuiKey key)
IMGUI_API float GetWindowWidth()
IMGUI_API void TreePush(const char *str_id)
IMGUI_API bool ColorEdit3(const char *label, float col[3], ImGuiColorEditFlags flags=0)
IMGUI_API bool BeginDragDropTarget()
IMGUI_API void TableNextRow(ImGuiTableRowFlags row_flags=0, float min_row_height=0.0f)
IMGUI_API ImVec4 ColorConvertU32ToFloat4(ImU32 in)
IMGUI_API bool ArrowButton(const char *str_id, ImGuiDir dir)
IMGUI_API ImGuiContext * CreateContext(ImFontAtlas *shared_font_atlas=NULL)
IMGUI_API bool DragFloat2(const char *label, float v[2], float v_speed=1.0f, float v_min=0.0f, float v_max=0.0f, const char *format="%.3f", ImGuiSliderFlags flags=0)
IMGUI_API ImFont * GetFont()
IMGUI_API float GetScrollMaxX()
IMGUI_API void SetNextWindowSizeConstraints(const ImVec2 &size_min, const ImVec2 &size_max, ImGuiSizeCallback custom_callback=NULL, void *custom_callback_data=NULL)
IMGUI_API float GetTextLineHeight()
IMGUI_API int GetKeyPressedAmount(ImGuiKey key, float repeat_delay, float rate)
IMGUI_API void PushClipRect(const ImVec2 &clip_rect_min, const ImVec2 &clip_rect_max, bool intersect_with_current_clip_rect)
IMGUI_API bool DragFloat3(const char *label, float v[3], float v_speed=1.0f, float v_min=0.0f, float v_max=0.0f, const char *format="%.3f", ImGuiSliderFlags flags=0)
IMGUI_API void SetNextFrameWantCaptureKeyboard(bool want_capture_keyboard)
IMGUI_API void EndChildFrame()
IMGUI_API void PushButtonRepeat(bool repeat)
IMGUI_API bool BeginDragDropSource(ImGuiDragDropFlags flags=0)
IMGUI_API void StyleColorsClassic(ImGuiStyle *dst=NULL)
IMGUI_API bool InputInt(const char *label, int *v, int step=1, int step_fast=100, ImGuiInputTextFlags flags=0)
IMGUI_API void SetNextWindowSize(const ImVec2 &size, ImGuiCond cond=0)
IMGUI_API bool DragScalar(const char *label, ImGuiDataType data_type, void *p_data, float v_speed=1.0f, const void *p_min=NULL, const void *p_max=NULL, const char *format=NULL, ImGuiSliderFlags flags=0)
IMGUI_API bool BeginMenu(const char *label, bool enabled=true)
IMGUI_API bool BeginCombo(const char *label, const char *preview_value, ImGuiComboFlags flags=0)
IMGUI_API void PopAllowKeyboardFocus()
IMGUI_API bool InputDouble(const char *label, double *v, double step=0.0, double step_fast=0.0, const char *format="%.6f", ImGuiInputTextFlags flags=0)
IMGUI_API ImVec2 GetContentRegionAvail()
IMGUI_API void SetScrollY(float scroll_y)
IMGUI_API bool DragInt(const char *label, int *v, float v_speed=1.0f, int v_min=0, int v_max=0, const char *format="%d", ImGuiSliderFlags flags=0)
IMGUI_API float GetScrollY()
IMGUI_API void SetColumnOffset(int column_index, float offset_x)
IMGUI_API bool SliderInt2(const char *label, int v[2], int v_min, int v_max, const char *format="%d", ImGuiSliderFlags flags=0)
IMGUI_API void Columns(int count=1, const char *id=NULL, bool border=true)
IMGUI_API void PushAllowKeyboardFocus(bool allow_keyboard_focus)
IMGUI_API ImGuiContext * GetCurrentContext()
IMGUI_API void SetCurrentContext(ImGuiContext *ctx)
IMGUI_API void TableSetBgColor(ImGuiTableBgTarget target, ImU32 color, int column_n=-1)
IMGUI_API bool BeginChild(const char *str_id, const ImVec2 &size=ImVec2(0, 0), bool border=false, ImGuiWindowFlags flags=0)
IMGUI_API ImGuiID GetID(const char *str_id)
IMGUI_API ImU32 GetColorU32(ImGuiCol idx, float alpha_mul=1.0f)
IMGUI_API ImVec2 GetCursorScreenPos()
IMGUI_API void ShowDebugLogWindow(bool *p_open=NULL)
IMGUI_API bool ShowStyleSelector(const char *label)
IMGUI_API bool IsItemVisible()
IMGUI_API ImVec2 GetFontTexUvWhitePixel()
IMGUI_API bool IsMouseDoubleClicked(ImGuiMouseButton button)
IMGUI_API void SetAllocatorFunctions(ImGuiMemAllocFunc alloc_func, ImGuiMemFreeFunc free_func, void *user_data=NULL)
IMGUI_API bool ListBox(const char *label, int *current_item, const char *const items[], int items_count, int height_in_items=-1)
IMGUI_API bool SliderScalarN(const char *label, ImGuiDataType data_type, void *p_data, int components, const void *p_min, const void *p_max, const char *format=NULL, ImGuiSliderFlags flags=0)
IMGUI_API void SetCursorPosY(float local_y)
IMGUI_API ImVec2 GetContentRegionMax()
IMGUI_API void SetScrollHereX(float center_x_ratio=0.5f)
IMGUI_API float GetCursorPosY()
IMGUI_API void SetMouseCursor(ImGuiMouseCursor cursor_type)
IMGUI_API bool TreeNodeV(const char *str_id, const char *fmt, va_list args) IM_FMTLIST(2)
IMGUI_API bool SliderFloat2(const char *label, float v[2], float v_min, float v_max, const char *format="%.3f", ImGuiSliderFlags flags=0)
IMGUI_API ImGuiStorage * GetStateStorage()
IMGUI_API void * MemAlloc(size_t size)
IMGUI_API bool ColorPicker3(const char *label, float col[3], ImGuiColorEditFlags flags=0)
IMGUI_API void NextColumn()
IMGUI_API bool IsItemToggledOpen()
IMGUI_API void SetWindowCollapsed(bool collapsed, ImGuiCond cond=0)
IMGUI_API bool SliderFloat4(const char *label, float v[4], float v_min, float v_max, const char *format="%.3f", ImGuiSliderFlags flags=0)
IMGUI_API bool SliderAngle(const char *label, float *v_rad, float v_degrees_min=-360.0f, float v_degrees_max=+360.0f, const char *format="%.0f deg", ImGuiSliderFlags flags=0)
IMGUI_API void BulletTextV(const char *fmt, va_list args) IM_FMTLIST(1)
IMGUI_API const ImVec4 & GetStyleColorVec4(ImGuiCol idx)
IMGUI_API bool IsKeyPressed(ImGuiKey key, bool repeat=true)
IMGUI_API void EndDisabled()
IMGUI_API void TextColored(const ImVec4 &col, const char *fmt,...) IM_FMTARGS(2)
IMGUI_API bool TreeNodeEx(const char *label, ImGuiTreeNodeFlags flags=0)
IMGUI_API bool IsItemEdited()
IMGUI_API void SetWindowFocus()
IMGUI_API void PopButtonRepeat()
IMGUI_API void OpenPopup(const char *str_id, ImGuiPopupFlags popup_flags=0)
IMGUI_API void SetWindowFontScale(float scale)
IMGUI_API void LoadIniSettingsFromMemory(const char *ini_data, size_t ini_size=0)
IMGUI_API bool IsItemFocused()
IMGUI_API bool IsMouseClicked(ImGuiMouseButton button, bool repeat=false)
IMGUI_API void Separator()
IMGUI_API bool InputInt3(const char *label, int v[3], ImGuiInputTextFlags flags=0)
IMGUI_API void SetWindowPos(const ImVec2 &pos, ImGuiCond cond=0)
IMGUI_API void NewFrame()
IMGUI_API void Image(ImTextureID user_texture_id, const ImVec2 &size, const ImVec2 &uv0=ImVec2(0, 0), const ImVec2 &uv1=ImVec2(1, 1), const ImVec4 &tint_col=ImVec4(1, 1, 1, 1), const ImVec4 &border_col=ImVec4(0, 0, 0, 0))
IMGUI_API void PlotHistogram(const char *label, const float *values, int values_count, int values_offset=0, const char *overlay_text=NULL, float scale_min=FLT_MAX, float scale_max=FLT_MAX, ImVec2 graph_size=ImVec2(0, 0), int stride=sizeof(float))
IMGUI_API bool IsItemHovered(ImGuiHoveredFlags flags=0)
IMGUI_API bool IsMouseReleased(ImGuiMouseButton button)
IMGUI_API bool DragInt2(const char *label, int v[2], float v_speed=1.0f, int v_min=0, int v_max=0, const char *format="%d", ImGuiSliderFlags flags=0)
IMGUI_API void BeginTooltip()
IMGUI_API void GetAllocatorFunctions(ImGuiMemAllocFunc *p_alloc_func, ImGuiMemFreeFunc *p_free_func, void **p_user_data)
IMGUI_API void TextWrapped(const char *fmt,...) IM_FMTARGS(1)
IMGUI_API void PushTextWrapPos(float wrap_local_pos_x=0.0f)
IMGUI_API const char * GetStyleColorName(ImGuiCol idx)
IMGUI_API void ShowMetricsWindow(bool *p_open=NULL)
IMGUI_API int TableGetColumnCount()
IMGUI_API bool IsRectVisible(const ImVec2 &size)
IMGUI_API bool TreeNodeExV(const char *str_id, ImGuiTreeNodeFlags flags, const char *fmt, va_list args) IM_FMTLIST(3)
IMGUI_API bool ColorButton(const char *desc_id, const ImVec4 &col, ImGuiColorEditFlags flags=0, const ImVec2 &size=ImVec2(0, 0))
IMGUI_API ImDrawList * GetBackgroundDrawList()
IMGUI_API void CalcListClipping(int items_count, float items_height, int *out_items_display_start, int *out_items_display_end)
IMGUI_API bool VSliderScalar(const char *label, const ImVec2 &size, ImGuiDataType data_type, void *p_data, const void *p_min, const void *p_max, const char *format=NULL, ImGuiSliderFlags flags=0)
IMGUI_API bool SliderInt3(const char *label, int v[3], int v_min, int v_max, const char *format="%d", ImGuiSliderFlags flags=0)
IMGUI_API bool VSliderFloat(const char *label, const ImVec2 &size, float *v, float v_min, float v_max, const char *format="%.3f", ImGuiSliderFlags flags=0)
IMGUI_API void EndTooltip()
IMGUI_API void DebugTextEncoding(const char *text)
IMGUI_API void EndMainMenuBar()
IMGUI_API bool TreeNode(const char *label)
IMGUI_API bool IsItemDeactivatedAfterEdit()
IMGUI_API void TableHeader(const char *label)
IMGUI_API float CalcItemWidth()
IMGUI_API bool InputInt4(const char *label, int v[4], ImGuiInputTextFlags flags=0)
IMGUI_API bool SliderScalar(const char *label, ImGuiDataType data_type, void *p_data, const void *p_min, const void *p_max, const char *format=NULL, ImGuiSliderFlags flags=0)
IMGUI_API bool IsMouseHoveringRect(const ImVec2 &r_min, const ImVec2 &r_max, bool clip=true)
IMGUI_API bool Combo(const char *label, int *current_item, const char *const items[], int items_count, int popup_max_height_in_items=-1)
IMGUI_API void SetNextWindowCollapsed(bool collapsed, ImGuiCond cond=0)
IMGUI_API ImGuiViewport * GetMainViewport()
IMGUI_API void PushFont(ImFont *font)
IMGUI_API void SetCursorPosX(float local_x)
IMGUI_API double GetTime()
IMGUI_API float GetFontSize()
IMGUI_API bool Button(const char *label, const ImVec2 &size=ImVec2(0, 0))
IMGUI_API void LabelTextV(const char *label, const char *fmt, va_list args) IM_FMTLIST(2)
IMGUI_API void PopStyleColor(int count=1)
IMGUI_API ImVec2 GetMousePosOnOpeningCurrentPopup()
IMGUI_API bool IsKeyDown(ImGuiKey key)
IMGUI_API const char * GetVersion()
IMGUI_API bool BeginPopupContextWindow(const char *str_id=NULL, ImGuiPopupFlags popup_flags=1)
IMGUI_API void ShowStyleEditor(ImGuiStyle *ref=NULL)
IMGUI_API void AlignTextToFramePadding()
IMGUI_API void SetScrollX(float scroll_x)
IMGUI_API void SetItemDefaultFocus()
IMGUI_API float GetColumnWidth(int column_index=-1)
IMGUI_API void Indent(float indent_w=0.0f)
IMGUI_API void SetScrollFromPosX(float local_x, float center_x_ratio=0.5f)
IMGUI_API bool DragScalarN(const char *label, ImGuiDataType data_type, void *p_data, int components, float v_speed=1.0f, const void *p_min=NULL, const void *p_max=NULL, const char *format=NULL, ImGuiSliderFlags flags=0)
IMGUI_API bool IsAnyItemActive()
IMGUI_API int GetColumnIndex()
IMGUI_API void ColorConvertRGBtoHSV(float r, float g, float b, float &out_h, float &out_s, float &out_v)
IMGUI_API void SetClipboardText(const char *text)
IMGUI_API ImGuiIO & GetIO()
IMGUI_API void TableSetColumnEnabled(int column_n, bool v)
IMGUI_API void ResetMouseDragDelta(ImGuiMouseButton button=0)
IMGUI_API ImDrawList * GetForegroundDrawList()
IMGUI_API void TextUnformatted(const char *text, const char *text_end=NULL)
IMGUI_API ImDrawList * GetWindowDrawList()
IMGUI_API bool IsMouseDragging(ImGuiMouseButton button, float lock_threshold=-1.0f)
IMGUI_API void PopStyleVar(int count=1)
IMGUI_API bool InputTextWithHint(const char *label, const char *hint, char *buf, size_t buf_size, ImGuiInputTextFlags flags=0, ImGuiInputTextCallback callback=NULL, void *user_data=NULL)
IMGUI_API const char * GetClipboardText()
IMGUI_API bool InputFloat4(const char *label, float v[4], const char *format="%.3f", ImGuiInputTextFlags flags=0)
IMGUI_API bool ColorEdit4(const char *label, float col[4], ImGuiColorEditFlags flags=0)
IMGUI_API void EndTable()
IMGUI_API void MemFree(void *ptr)
IMGUI_API void EndTabItem()
IMGUI_API bool InputFloat2(const char *label, float v[2], const char *format="%.3f", ImGuiInputTextFlags flags=0)
IMGUI_API bool InputFloat(const char *label, float *v, float step=0.0f, float step_fast=0.0f, const char *format="%.3f", ImGuiInputTextFlags flags=0)
IMGUI_API void Value(const char *prefix, bool b)
IMGUI_API ImVec2 GetWindowSize()
IMGUI_API bool InputScalar(const char *label, ImGuiDataType data_type, void *p_data, const void *p_step=NULL, const void *p_step_fast=NULL, const char *format=NULL, ImGuiInputTextFlags flags=0)
IMGUI_API void PopClipRect()
IMGUI_API void SetCursorPos(const ImVec2 &local_pos)
IMGUI_API ImGuiMouseCursor GetMouseCursor()
IMGUI_API bool IsPopupOpen(const char *str_id, ImGuiPopupFlags flags=0)
IMGUI_API void SetStateStorage(ImGuiStorage *storage)
IMGUI_API bool IsItemActive()
IMGUI_API bool CollapsingHeader(const char *label, ImGuiTreeNodeFlags flags=0)
IMGUI_API void Unindent(float indent_w=0.0f)
IMGUI_API bool IsKeyReleased(ImGuiKey key)
IMGUI_API void TextV(const char *fmt, va_list args) IM_FMTLIST(1)
IMGUI_API bool Begin(const char *name, bool *p_open=NULL, ImGuiWindowFlags flags=0)
IMGUI_API ImVec2 GetItemRectMax()
IMGUI_API void EndGroup()
IMGUI_API bool InputText(const char *label, char *buf, size_t buf_size, ImGuiInputTextFlags flags=0, ImGuiInputTextCallback callback=NULL, void *user_data=NULL)
IMGUI_API void PushItemWidth(float item_width)
IMGUI_API const ImGuiPayload * GetDragDropPayload()
IMGUI_API float GetTreeNodeToLabelSpacing()
IMGUI_API bool ImageButton(ImTextureID user_texture_id, const ImVec2 &size, const ImVec2 &uv0=ImVec2(0, 0), const ImVec2 &uv1=ImVec2(1, 1), int frame_padding=-1, const ImVec4 &bg_col=ImVec4(0, 0, 0, 0), const ImVec4 &tint_col=ImVec4(1, 1, 1, 1))
IMGUI_API ImGuiStyle & GetStyle()
IMGUI_API void ShowFontSelector(const char *label)
IMGUI_API ImVec2 GetItemRectSize()
IMGUI_API void PlotLines(const char *label, const float *values, int values_count, int values_offset=0, const char *overlay_text=NULL, float scale_min=FLT_MAX, float scale_max=FLT_MAX, ImVec2 graph_size=ImVec2(0, 0), int stride=sizeof(float))
IMGUI_API bool SliderInt(const char *label, int *v, int v_min, int v_max, const char *format="%d", ImGuiSliderFlags flags=0)
IMGUI_API int TableGetColumnIndex()
IMGUI_API bool BeginPopup(const char *str_id, ImGuiWindowFlags flags=0)
IMGUI_API bool TableSetColumnIndex(int column_n)
IMGUI_API void SetItemAllowOverlap()
IMGUI_API ImVec2 GetMousePos()
IMGUI_API bool CheckboxFlags(const char *label, int *flags, int flags_value)
IMGUI_API bool SliderFloat(const char *label, float *v, float v_min, float v_max, const char *format="%.3f", ImGuiSliderFlags flags=0)
IMGUI_API bool DragIntRange2(const char *label, int *v_current_min, int *v_current_max, float v_speed=1.0f, int v_min=0, int v_max=0, const char *format="%d", const char *format_max=NULL, ImGuiSliderFlags flags=0)
IMGUI_API void SetCursorScreenPos(const ImVec2 &pos)
IMGUI_API ImVec2 GetWindowContentRegionMax()
IMGUI_API float GetFrameHeightWithSpacing()
IMGUI_API void SetColumnWidth(int column_index, float width)
IMGUI_API bool ListBoxHeader(const char *label, int items_count, int height_in_items=-1)
IMGUI_API ImVec2 GetCursorStartPos()
IMGUI_API void EndTabBar()
IMGUI_API void BulletText(const char *fmt,...) IM_FMTARGS(1)
IMGUI_API void SameLine(float offset_from_start_x=0.0f, float spacing=-1.0f)
IMGUI_API bool MenuItem(const char *label, const char *shortcut=NULL, bool selected=false, bool enabled=true)
IMGUI_API void LoadIniSettingsFromDisk(const char *ini_filename)
IMGUI_API bool SliderInt4(const char *label, int v[4], int v_min, int v_max, const char *format="%d", ImGuiSliderFlags flags=0)
IMGUI_API ImVec2 GetCursorPos()
IMGUI_API float GetCursorPosX()
IMGUI_API void SetNextFrameWantCaptureMouse(bool want_capture_mouse)
IMGUI_API void LogToTTY(int auto_open_depth=-1)
IMGUI_API void TextDisabled(const char *fmt,...) IM_FMTARGS(1)
IMGUI_API void TableSetupColumn(const char *label, ImGuiTableColumnFlags flags=0, float init_width_or_weight=0.0f, ImGuiID user_id=0)
IMGUI_API bool SliderFloat3(const char *label, float v[3], float v_min, float v_max, const char *format="%.3f", ImGuiSliderFlags flags=0)
IMGUI_API bool RadioButton(const char *label, bool active)
IMGUI_API bool SmallButton(const char *label)
IMGUI_API int GetKeyIndex(ImGuiKey key)
IMGUI_API void LogToFile(int auto_open_depth=-1, const char *filename=NULL)
IMGUI_API bool InputFloat3(const char *label, float v[3], const char *format="%.3f", ImGuiInputTextFlags flags=0)
IMGUI_API bool IsItemClicked(ImGuiMouseButton mouse_button=0)
IMGUI_API float GetTextLineHeightWithSpacing()
IMGUI_API bool IsAnyMouseDown()
IMGUI_API bool BeginMenuBar()
IMGUI_API bool VSliderInt(const char *label, const ImVec2 &size, int *v, int v_min, int v_max, const char *format="%d", ImGuiSliderFlags flags=0)
IMGUI_API ImGuiTableColumnFlags TableGetColumnFlags(int column_n=-1)
IMGUI_API float GetScrollX()
IMGUI_API bool IsAnyItemHovered()
IMGUI_API bool IsWindowFocused(ImGuiFocusedFlags flags=0)
IMGUI_API void TableSetupScrollFreeze(int cols, int rows)
IMGUI_API ImGuiTableSortSpecs * TableGetSortSpecs()
IMGUI_API void SetWindowSize(const ImVec2 &size, ImGuiCond cond=0)
IMGUI_API bool IsItemDeactivated()
IMGUI_API ImVec2 CalcTextSize(const char *text, const char *text_end=NULL, bool hide_text_after_double_hash=false, float wrap_width=-1.0f)
IMGUI_API bool IsMousePosValid(const ImVec2 *mouse_pos=NULL)
IMGUI_API void LogText(const char *fmt,...) IM_FMTARGS(1)
IMGUI_API const char * TableGetColumnName(int column_n=-1)
IMGUI_API void SetScrollFromPosY(float local_y, float center_y_ratio=0.5f)
IMGUI_API void TableHeadersRow()
IMGUI_API void EndMenuBar()
IMGUI_API bool IsWindowHovered(ImGuiHoveredFlags flags=0)
IMGUI_API int GetFrameCount()
IMGUI_API bool ColorPicker4(const char *label, float col[4], ImGuiColorEditFlags flags=0, const float *ref_col=NULL)
IMGUI_API bool Selectable(const char *label, bool selected=false, ImGuiSelectableFlags flags=0, const ImVec2 &size=ImVec2(0, 0))
IMGUI_API const char * SaveIniSettingsToMemory(size_t *out_ini_size=NULL)
IMGUI_API float GetFrameHeight()
IMGUI_API bool IsItemActivated()
IMGUI_API bool DragFloatRange2(const char *label, float *v_current_min, float *v_current_max, float v_speed=1.0f, float v_min=0.0f, float v_max=0.0f, const char *format="%.3f", const char *format_max=NULL, ImGuiSliderFlags flags=0)
IMGUI_API void SetTabItemClosed(const char *tab_or_docked_window_label)
IMGUI_API bool BeginChildFrame(ImGuiID id, const ImVec2 &size, ImGuiWindowFlags flags=0)
IMGUI_API int GetColumnsCount()
IMGUI_API void EndPopup()
IMGUI_API float GetWindowHeight()
IMGUI_API void StyleColorsLight(ImGuiStyle *dst=NULL)
IMGUI_API bool TableNextColumn()
IMGUI_API void TextWrappedV(const char *fmt, va_list args) IM_FMTLIST(1)
IMGUI_API bool DragInt3(const char *label, int v[3], float v_speed=1.0f, int v_min=0, int v_max=0, const char *format="%d", ImGuiSliderFlags flags=0)
IMGUI_API bool DragFloat(const char *label, float *v, float v_speed=1.0f, float v_min=0.0f, float v_max=0.0f, const char *format="%.3f", ImGuiSliderFlags flags=0)
IMGUI_API float GetScrollMaxY()
IMGUI_API void PopItemWidth()
IMGUI_API ImVec2 GetMouseDragDelta(ImGuiMouseButton button=0, float lock_threshold=-1.0f)
IMGUI_API bool BeginPopupContextItem(const char *str_id=NULL, ImGuiPopupFlags popup_flags=1)
IMGUI_API bool IsAnyItemFocused()
IMGUI_API bool BeginPopupContextVoid(const char *str_id=NULL, ImGuiPopupFlags popup_flags=1)
IMGUI_API int TableGetRowIndex()
IMGUI_API void SetColorEditOptions(ImGuiColorEditFlags flags)
IMGUI_API bool BeginTable(const char *str_id, int column, ImGuiTableFlags flags=0, const ImVec2 &outer_size=ImVec2(0.0f, 0.0f), float inner_width=0.0f)
IMGUI_API void EndFrame()
IMGUI_API ImVec2 GetItemRectMin()
IMGUI_API bool IsWindowCollapsed()
IMGUI_API bool IsMouseDown(ImGuiMouseButton button)
IMGUI_API void LogToClipboard(int auto_open_depth=-1)
IMGUI_API bool IsWindowAppearing()
IMGUI_API void SetNextWindowPos(const ImVec2 &pos, ImGuiCond cond=0, const ImVec2 &pivot=ImVec2(0, 0))
IMGUI_API void StyleColorsDark(ImGuiStyle *dst=NULL)
IMGUI_API bool DragInt4(const char *label, int v[4], float v_speed=1.0f, int v_min=0, int v_max=0, const char *format="%d", ImGuiSliderFlags flags=0)
IMGUI_API void BeginGroup()
IMGUI_API float GetColumnOffset(int column_index=-1)
IMGUI_API void PopTextWrapPos()
IMGUI_API void SaveIniSettingsToDisk(const char *ini_filename)
IMGUI_API void SetTooltip(const char *fmt,...) IM_FMTARGS(1)
IMGUI_API void SetNextWindowBgAlpha(float alpha)
IMGUI_API void EndListBox()
IMGUI_API bool InputScalarN(const char *label, ImGuiDataType data_type, void *p_data, int components, const void *p_step=NULL, const void *p_step_fast=NULL, const char *format=NULL, ImGuiInputTextFlags flags=0)
IMGUI_API void Text(const char *fmt,...) IM_FMTARGS(1)
IMGUI_API bool DebugCheckVersionAndDataLayout(const char *version_str, size_t sz_io, size_t sz_style, size_t sz_vec2, size_t sz_vec4, size_t sz_drawvert, size_t sz_drawidx)
IMGUI_API void Dummy(const ImVec2 &size)
IMGUI_API bool TextHyperLink(const char *label, bool underlineWhenHoveredOnly=false)
IMGUI_API void ShowAboutWindow(bool *p_open=NULL)
IMGUI_API void SetScrollHereY(float center_y_ratio=0.5f)
IMGUI_API void LogTextV(const char *fmt, va_list args) IM_FMTLIST(1)
IMGUI_API ImVec2 GetWindowPos()
IMGUI_API void SetKeyboardFocusHere(int offset=0)
IMGUI_API void ColorConvertHSVtoRGB(float h, float s, float v, float &out_r, float &out_g, float &out_b)
IMGUI_API void SetNextWindowFocus()
IMGUI_API bool Checkbox(const char *label, bool *v)
IMGUI_API void ProgressBar(float fraction, const ImVec2 &size_arg=ImVec2(-FLT_MIN, 0), const char *overlay=NULL)
IMGUI_API ImDrawListSharedData * GetDrawListSharedData()
IMGUI_API bool InputInt2(const char *label, int v[2], ImGuiInputTextFlags flags=0)
IMGUI_API void EndCombo()
IMGUI_API void PushID(const char *str_id)
constexpr ImColor(const ImVec4 &col)
ImColor(int r, int g, int b, int a=255)
static ImColor HSV(float h, float s, float v, float a=1.0f)
constexpr ImColor(float r, float g, float b, float a=1.0f)
void SetHSV(float h, float s, float v, float a=1.0f)
ImVector< ImDrawCmd > _CmdBuffer
ImVector< ImDrawIdx > _IdxBuffer
ImTextureID GetTexID() const
ImDrawCallback UserCallback
IMGUI_API void ScaleClipRects(const ImVec2 &fb_scale)
IMGUI_API void DeIndexAllBuffers()
IMGUI_API void AddNgonFilled(const ImVec2 ¢er, float radius, ImU32 col, int num_segments)
IMGUI_API void _PopUnusedDrawCmd()
IMGUI_API void AddCallback(ImDrawCallback callback, void *callback_data)
IMGUI_API void AddRectFilledMultiColor(const ImVec2 &p_min, const ImVec2 &p_max, ImU32 col_upr_left, ImU32 col_upr_right, ImU32 col_bot_right, ImU32 col_bot_left)
IMGUI_API void AddConvexPolyFilled(const ImVec2 *points, int num_points, ImU32 col)
IMGUI_API void AddImageRounded(ImTextureID user_texture_id, const ImVec2 &p_min, const ImVec2 &p_max, const ImVec2 &uv_min, const ImVec2 &uv_max, ImU32 col, float rounding, ImDrawFlags flags=0)
IMGUI_API void _ClearFreeMemory()
IMGUI_API void _TryMergeDrawCmds()
IMGUI_API void AddQuadFilled(const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, ImU32 col)
IMGUI_API void PathBezierQuadraticCurveTo(const ImVec2 &p2, const ImVec2 &p3, int num_segments=0)
IMGUI_API void AddTriangleFilled(const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, ImU32 col)
unsigned int _VtxCurrentIdx
ImDrawListSplitter _Splitter
IMGUI_API void AddBezierQuadratic(const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, ImU32 col, float thickness, int num_segments=0)
IMGUI_API void PathArcToFast(const ImVec2 ¢er, float radius, int a_min_of_12, int a_max_of_12)
IMGUI_API void PrimRect(const ImVec2 &a, const ImVec2 &b, ImU32 col)
IMGUI_API void AddCircle(const ImVec2 ¢er, float radius, ImU32 col, int num_segments=0, float thickness=1.0f)
IMGUI_API void PushClipRect(const ImVec2 &clip_rect_min, const ImVec2 &clip_rect_max, bool intersect_with_current_clip_rect=false)
IMGUI_API void AddBezierCubic(const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, ImU32 col, float thickness, int num_segments=0)
void PrimVtx(const ImVec2 &pos, const ImVec2 &uv, ImU32 col)
void PrimWriteIdx(ImDrawIdx idx)
IMGUI_API void _OnChangedVtxOffset()
IMGUI_API void PushClipRectFullScreen()
IMGUI_API void AddRect(const ImVec2 &p_min, const ImVec2 &p_max, ImU32 col, float rounding=0.0f, ImDrawFlags flags=0, float thickness=1.0f)
IMGUI_API void PrimReserve(int idx_count, int vtx_count)
IMGUI_API void PrimUnreserve(int idx_count, int vtx_count)
IMGUI_API void PathBezierCubicCurveTo(const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, int num_segments=0)
IMGUI_API void AddDrawCmd()
const ImDrawListSharedData * _Data
void PathStroke(ImU32 col, ImDrawFlags flags=0, float thickness=1.0f)
IMGUI_API ImDrawList * CloneOutput() const
ImVector< ImDrawCmd > CmdBuffer
ImDrawVert * _VtxWritePtr
IMGUI_API void _PathArcToN(const ImVec2 ¢er, float radius, float a_min, float a_max, int num_segments)
IMGUI_API void AddTriangle(const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, ImU32 col, float thickness=1.0f)
IMGUI_API void AddImage(ImTextureID user_texture_id, const ImVec2 &p_min, const ImVec2 &p_max, const ImVec2 &uv_min=ImVec2(0, 0), const ImVec2 &uv_max=ImVec2(1, 1), ImU32 col=IM_COL32_WHITE)
IMGUI_API void PopClipRect()
IMGUI_API void AddRectFilled(const ImVec2 &p_min, const ImVec2 &p_max, ImU32 col, float rounding=0.0f, ImDrawFlags flags=0)
IMGUI_API void AddLine(const ImVec2 &p1, const ImVec2 &p2, ImU32 col, float thickness=1.0f)
IMGUI_API void _OnChangedClipRect()
ImDrawList(const ImDrawListSharedData *shared_data)
void PathLineTo(const ImVec2 &pos)
IMGUI_API void PushTextureID(ImTextureID texture_id)
ImVector< ImTextureID > _TextureIdStack
ImDrawCmdHeader _CmdHeader
IMGUI_API void AddText(const ImFont *font, float font_size, const ImVec2 &pos, ImU32 col, const char *text_begin, const char *text_end=NULL, float wrap_width=0.0f, const ImVec4 *cpu_fine_clip_rect=NULL)
ImVec2 GetClipRectMax() const
IMGUI_API void PrimQuadUV(const ImVec2 &a, const ImVec2 &b, const ImVec2 &c, const ImVec2 &d, const ImVec2 &uv_a, const ImVec2 &uv_b, const ImVec2 &uv_c, const ImVec2 &uv_d, ImU32 col)
void PathBezierCurveTo(const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, int num_segments=0)
ImVec2 GetClipRectMin() const
IMGUI_API void _OnChangedTextureID()
IMGUI_API void AddPolyline(const ImVec2 *points, int num_points, ImU32 col, ImDrawFlags flags, float thickness)
void PathLineToMergeDuplicate(const ImVec2 &pos)
ImVector< ImDrawVert > VtxBuffer
IMGUI_API int _CalcCircleAutoSegmentCount(float radius) const
void AddBezierCurve(const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, ImU32 col, float thickness, int num_segments=0)
void ChannelsSetCurrent(int n)
IMGUI_API void AddText(const ImVec2 &pos, ImU32 col, const char *text_begin, const char *text_end=NULL)
void ChannelsSplit(int count)
IMGUI_API void AddQuad(const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, ImU32 col, float thickness=1.0f)
IMGUI_API void AddNgon(const ImVec2 ¢er, float radius, ImU32 col, int num_segments, float thickness=1.0f)
IMGUI_API void _ResetForNewFrame()
IMGUI_API void PrimRectUV(const ImVec2 &a, const ImVec2 &b, const ImVec2 &uv_a, const ImVec2 &uv_b, ImU32 col)
ImVector< ImDrawIdx > IdxBuffer
IMGUI_API void PathRect(const ImVec2 &rect_min, const ImVec2 &rect_max, float rounding=0.0f, ImDrawFlags flags=0)
ImVector< ImVec4 > _ClipRectStack
void PathFillConvex(ImU32 col)
IMGUI_API void _PathArcToFastEx(const ImVec2 ¢er, float radius, int a_min_sample, int a_max_sample, int a_step)
IMGUI_API void AddCircleFilled(const ImVec2 ¢er, float radius, ImU32 col, int num_segments=0)
IMGUI_API void AddImageQuad(ImTextureID user_texture_id, const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, const ImVec2 &uv1=ImVec2(0, 0), const ImVec2 &uv2=ImVec2(1, 0), const ImVec2 &uv3=ImVec2(1, 1), const ImVec2 &uv4=ImVec2(0, 1), ImU32 col=IM_COL32_WHITE)
IMGUI_API void PathArcTo(const ImVec2 ¢er, float radius, float a_min, float a_max, int num_segments=0)
IMGUI_API void PopTextureID()
void PrimWriteVtx(const ImVec2 &pos, const ImVec2 &uv, ImU32 col)
IMGUI_API void ClearFreeMemory()
ImVector< ImDrawChannel > _Channels
IMGUI_API void Merge(ImDrawList *draw_list)
IMGUI_API void Split(ImDrawList *draw_list, int count)
IMGUI_API void SetCurrentChannel(ImDrawList *draw_list, int channel_idx)
ImVector< ImFont * > Fonts
IMGUI_API const ImWchar * GetGlyphRangesCyrillic()
IMGUI_API void CalcCustomRectUV(const ImFontAtlasCustomRect *rect, ImVec2 *out_uv_min, ImVec2 *out_uv_max) const
IMGUI_API const ImWchar * GetGlyphRangesDefault()
IMGUI_API ImFont * AddFont(const ImFontConfig *font_cfg)
unsigned int * TexPixelsRGBA32
const ImFontBuilderIO * FontBuilderIO
unsigned char * TexPixelsAlpha8
IMGUI_API void ClearInputData()
IMGUI_API const ImWchar * GetGlyphRangesChineseSimplifiedCommon()
IMGUI_API ImFont * AddFontFromMemoryCompressedBase85TTF(const char *compressed_font_data_base85, float size_pixels, const ImFontConfig *font_cfg=NULL, const ImWchar *glyph_ranges=NULL)
ImFontAtlasCustomRect * GetCustomRectByIndex(int index)
IMGUI_API const ImWchar * GetGlyphRangesChineseFull()
IMGUI_API void ClearFonts()
IMGUI_API const ImWchar * GetGlyphRangesThai()
IMGUI_API ImFont * AddFontFromMemoryCompressedTTF(const void *compressed_font_data, int compressed_font_size, float size_pixels, const ImFontConfig *font_cfg=NULL, const ImWchar *glyph_ranges=NULL)
IMGUI_API ImFont * AddFontFromMemoryTTF(void *font_data, int font_size, float size_pixels, const ImFontConfig *font_cfg=NULL, const ImWchar *glyph_ranges=NULL)
void SetTexID(ImTextureID id)
IMGUI_API void ClearTexData()
IMGUI_API int AddCustomRectFontGlyph(ImFont *font, ImWchar id, int width, int height, float advance_x, const ImVec2 &offset=ImVec2(0, 0))
IMGUI_API int AddCustomRectRegular(int width, int height)
IMGUI_API const ImWchar * GetGlyphRangesJapanese()
IMGUI_API ImFont * AddFontDefault(const ImFontConfig *font_cfg=NULL)
IMGUI_API void GetTexDataAsRGBA32(unsigned char **out_pixels, int *out_width, int *out_height, int *out_bytes_per_pixel=NULL)
unsigned int FontBuilderFlags
ImVector< ImFontAtlasCustomRect > CustomRects
IMGUI_API void GetTexDataAsAlpha8(unsigned char **out_pixels, int *out_width, int *out_height, int *out_bytes_per_pixel=NULL)
IMGUI_API const ImWchar * GetGlyphRangesVietnamese()
IMGUI_API bool GetMouseCursorTexData(ImGuiMouseCursor cursor, ImVec2 *out_offset, ImVec2 *out_size, ImVec2 out_uv_border[2], ImVec2 out_uv_fill[2])
IMGUI_API ImFont * AddFontFromFileTTF(const char *filename, float size_pixels, const ImFontConfig *font_cfg=NULL, const ImWchar *glyph_ranges=NULL)
IMGUI_API const ImWchar * GetGlyphRangesKorean()
ImVector< ImFontConfig > ConfigData
unsigned int FontBuilderFlags
bool FontDataOwnedByAtlas
const ImWchar * GlyphRanges
IMGUI_API void AddText(const char *text, const char *text_end=NULL)
bool GetBit(size_t n) const
ImFontGlyphRangesBuilder()
IMGUI_API void AddRanges(const ImWchar *ranges)
ImVector< ImU32 > UsedChars
IMGUI_API void BuildRanges(ImVector< ImWchar > *out_ranges)
IMGUI_API void AddRemapChar(ImWchar dst, ImWchar src, bool overwrite_dst=true)
ImVector< ImWchar > IndexLookup
const ImFontGlyph * FallbackGlyph
ImVector< ImFontGlyph > Glyphs
IMGUI_API const ImFontGlyph * FindGlyphNoFallback(ImWchar c) const
IMGUI_API ImVec2 CalcTextSizeA(float size, float max_width, float wrap_width, const char *text_begin, const char *text_end=NULL, const char **remaining=NULL) const
IMGUI_API void RenderText(ImDrawList *draw_list, float size, const ImVec2 &pos, ImU32 col, const ImVec4 &clip_rect, const char *text_begin, const char *text_end, float wrap_width=0.0f, bool cpu_fine_clip=false) const
const char * GetDebugName() const
IMGUI_API const ImFontGlyph * FindGlyph(ImWchar c) const
IMGUI_API void BuildLookupTable()
ImFontAtlas * ContainerAtlas
IMGUI_API const char * CalcWordWrapPositionA(float scale, const char *text, const char *text_end, float wrap_width) const
IMGUI_API void SetGlyphVisible(ImWchar c, bool visible)
IMGUI_API void ClearOutputData()
float GetCharAdvance(ImWchar c) const
IMGUI_API void RenderChar(ImDrawList *draw_list, float size, const ImVec2 &pos, ImU32 col, ImWchar c) const
IMGUI_API void GrowIndex(int new_size)
IMGUI_API void AddGlyph(const ImFontConfig *src_cfg, ImWchar c, float x0, float y0, float x1, float y1, float u0, float v0, float u1, float v1, float advance_x)
IMGUI_API bool IsGlyphRangeUnused(unsigned int c_begin, unsigned int c_last)
ImVector< float > IndexAdvanceX
const ImFontConfig * ConfigData
bool WantCaptureMouseUnlessPopupClose
IMGUI_API void AddMouseButtonEvent(int button, bool down)
float MouseDoubleClickMaxDist
bool ConfigWindowsMoveFromTitleBarOnly
int MetricsActiveAllocations
IMGUI_API void ClearInputKeys()
IMGUI_API void AddMousePosEvent(float x, float y)
ImWchar16 InputQueueSurrogate
ImVector< ImWchar > InputQueueCharacters
const char * BackendPlatformName
ImGuiConfigFlags ConfigFlags
void * BackendPlatformUserData
IMGUI_API void SetAppAcceptingEvents(bool accepting_events)
IMGUI_API void AddKeyEvent(ImGuiKey key, bool down)
ImVec2 DisplayFramebufferScale
ImS8 BackendUsingLegacyKeyArrays
IMGUI_API void AddMouseWheelEvent(float wh_x, float wh_y)
IMGUI_API void AddInputCharacterUTF16(ImWchar16 c)
IMGUI_API void AddInputCharactersUTF8(const char *str)
int MetricsRenderVertices
bool ConfigDragClickToInputText
ImGuiBackendFlags BackendFlags
IMGUI_API void AddInputCharacter(unsigned int c)
void * BackendRendererUserData
IMGUI_API void AddFocusEvent(bool focused)
bool BackendUsingLegacyNavInputArray
bool ConfigWindowsResizeFromEdges
bool ConfigMacOSXBehaviors
IMGUI_API void ClearInputCharacters()
IMGUI_API void SetKeyEventNativeData(ImGuiKey key, int native_keycode, int native_scancode, int native_legacy_index=-1)
const char * BackendRendererName
bool ConfigInputTextCursorBlink
void * BackendLanguageUserData
IMGUI_API void AddKeyAnalogEvent(ImGuiKey key, bool down, float v)
float ConfigMemoryCompactTimer
float MouseDoubleClickTime
bool ConfigInputTrickleEventQueue
bool FontAllowUserScaling
ImGuiInputTextFlags EventFlag
IMGUI_API void DeleteChars(int pos, int bytes_count)
ImGuiInputTextFlags Flags
bool HasSelection() const
IMGUI_API void InsertChars(int pos, const char *text, const char *text_end=NULL)
IMGUI_API ImGuiInputTextCallbackData()
IMGUI_API ImGuiListClipper()
IMGUI_API void Begin(int items_count, float items_height=-1.0f)
ImGuiListClipper(int items_count, float items_height=-1.0f)
IMGUI_API ~ImGuiListClipper()
IMGUI_API void ForceDisplayRangeByIndices(int item_min, int item_max)
bool IsDataType(const char *type) const
ImGuiStoragePair(ImGuiID _key, void *_val_p)
ImGuiStoragePair(ImGuiID _key, int _val_i)
ImGuiStoragePair(ImGuiID _key, float _val_f)
IMGUI_API void SetFloat(ImGuiID key, float val)
IMGUI_API void * GetVoidPtr(ImGuiID key) const
IMGUI_API void SetBool(ImGuiID key, bool val)
IMGUI_API float * GetFloatRef(ImGuiID key, float default_val=0.0f)
IMGUI_API void SetVoidPtr(ImGuiID key, void *val)
IMGUI_API bool GetBool(ImGuiID key, bool default_val=false) const
IMGUI_API void SetInt(ImGuiID key, int val)
ImVector< ImGuiStoragePair > Data
IMGUI_API void SetAllInt(int val)
IMGUI_API float GetFloat(ImGuiID key, float default_val=0.0f) const
IMGUI_API int * GetIntRef(ImGuiID key, int default_val=0)
IMGUI_API void ** GetVoidPtrRef(ImGuiID key, void *default_val=NULL)
IMGUI_API bool * GetBoolRef(ImGuiID key, bool default_val=false)
IMGUI_API void BuildSortByKey()
IMGUI_API int GetInt(ImGuiID key, int default_val=0) const
float CurveTessellationTol
IMGUI_API void ScaleAllSizes(float scale_factor)
ImGuiDir ColorButtonPosition
ImVec2 DisplaySafeAreaPadding
ImVec2 DisplayWindowPadding
ImGuiDir WindowMenuButtonPosition
float CircleTessellationMaxError
bool AntiAliasedLinesUseTex
float TabMinWidthForCloseButton
ImVec2 SelectableTextAlign
ImGuiSortDirection SortDirection
ImGuiTableColumnSortSpecs()
const ImGuiTableColumnSortSpecs * Specs
IMGUI_API void append(const char *str, const char *str_end=NULL)
char operator[](int i) const
void reserve(int capacity)
const char * c_str() const
IMGUI_API void appendf(const char *fmt,...) IM_FMTARGS(2)
const char * begin() const
IMGUI_API void split(char separator, ImVector< ImGuiTextRange > *out) const
ImGuiTextRange(const char *_b, const char *_e)
ImVector< ImGuiTextRange > Filters
IMGUI_API bool Draw(const char *label="Filter (inc,-exc)", float width=0.0f)
IMGUI_API bool PassFilter(const char *text, const char *text_end=NULL) const
IMGUI_API ImGuiTextFilter(const char *default_filter="")
ImVec2 GetWorkCenter() const
float operator[](size_t idx) const
constexpr ImVec2(float _x, float _y)
constexpr ImVec4(float _x, float _y, float _z, float _w)
bool find_erase_unsorted(const T &v)
void reserve(int new_capacity)
void push_front(const T &v)
const T & operator[](int i) const
const T * find(const T &v) const
bool contains(const T &v) const
const value_type * const_iterator
int _grow_capacity(int sz) const
int index_from_ptr(const T *it) const
void reserve_discard(int new_capacity)
bool find_erase(const T &v)
T * insert(const T *it, const T &v)
ImVector(const ImVector< T > &src)
T * erase_unsorted(const T *it)
void shrink(int new_size)
T * erase(const T *it, const T *it_last)
ImVector< T > & operator=(const ImVector< T > &src)
void push_back(const T &v)
void resize(int new_size, const T &v)
void resize(int new_size)
int size_in_bytes() const
void swap(ImVector< T > &rhs)