30#define IMGUI_VERSION "1.91.0 WIP"
31#define IMGUI_VERSION_NUM 19096
32#define IMGUI_HAS_TABLE
33#define IMGUI_HAS_VIEWPORT
62#ifdef IMGUI_USER_CONFIG
63#include IMGUI_USER_CONFIG
86#define IMGUI_IMPL_API IMGUI_API
92#define IM_ASSERT(_EXPR) assert(_EXPR)
94#define IM_ARRAYSIZE(_ARR) ((int)(sizeof(_ARR) / sizeof(*(_ARR))))
95#define IM_UNUSED(_VAR) ((void)(_VAR))
98#define IMGUI_CHECKVERSION() ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx))
103#if !defined(IMGUI_USE_STB_SPRINTF) && defined(__MINGW32__) && !defined(__clang__)
104#define IM_FMTARGS(FMT) __attribute__((format(gnu_printf, FMT, FMT+1)))
105#define IM_FMTLIST(FMT) __attribute__((format(gnu_printf, FMT, 0)))
106#elif !defined(IMGUI_USE_STB_SPRINTF) && (defined(__clang__) || defined(__GNUC__))
107#define IM_FMTARGS(FMT) __attribute__((format(printf, FMT, FMT+1)))
108#define IM_FMTLIST(FMT) __attribute__((format(printf, FMT, 0)))
110#define IM_FMTARGS(FMT)
111#define IM_FMTLIST(FMT)
115#if defined(_MSC_VER) && !defined(__clang__) && !defined(__INTEL_COMPILER) && !defined(IMGUI_DEBUG_PARANOID)
116#define IM_MSVC_RUNTIME_CHECKS_OFF __pragma(runtime_checks("",off)) __pragma(check_stack(off)) __pragma(strict_gs_check(push,off))
117#define IM_MSVC_RUNTIME_CHECKS_RESTORE __pragma(runtime_checks("",restore)) __pragma(check_stack()) __pragma(strict_gs_check(pop))
119#define IM_MSVC_RUNTIME_CHECKS_OFF
120#define IM_MSVC_RUNTIME_CHECKS_RESTORE
125#pragma warning (push)
126#pragma warning (disable: 26495)
128#if defined(__clang__)
129#pragma clang diagnostic push
130#if __has_warning("-Wunknown-warning-option")
131#pragma clang diagnostic ignored "-Wunknown-warning-option"
133#pragma clang diagnostic ignored "-Wunknown-pragmas"
134#pragma clang diagnostic ignored "-Wold-style-cast"
135#pragma clang diagnostic ignored "-Wfloat-equal"
136#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
137#pragma clang diagnostic ignored "-Wreserved-identifier"
138#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
139#elif defined(__GNUC__)
140#pragma GCC diagnostic push
141#pragma GCC diagnostic ignored "-Wpragmas"
142#pragma GCC diagnostic ignored "-Wclass-memaccess"
150typedef unsigned int ImGuiID;
151typedef signed char ImS8;
152typedef unsigned char ImU8;
153typedef signed short ImS16;
154typedef unsigned short ImU16;
155typedef signed int ImS32;
156typedef unsigned int ImU32;
157typedef signed long long ImS64;
158typedef unsigned long long ImU64;
208enum ImGuiMouseSource : int;
209enum ImGuiSortDirection : ImU8;
211typedef int ImGuiCond;
212typedef int ImGuiDataType;
213typedef int ImGuiMouseButton;
214typedef int ImGuiMouseCursor;
215typedef int ImGuiStyleVar;
216typedef int ImGuiTableBgTarget;
223typedef int ImDrawFlags;
224typedef int ImDrawListFlags;
225typedef int ImFontAtlasFlags;
226typedef int ImGuiBackendFlags;
227typedef int ImGuiButtonFlags;
228typedef int ImGuiChildFlags;
229typedef int ImGuiColorEditFlags;
230typedef int ImGuiConfigFlags;
231typedef int ImGuiComboFlags;
232typedef int ImGuiDockNodeFlags;
233typedef int ImGuiDragDropFlags;
234typedef int ImGuiFocusedFlags;
235typedef int ImGuiHoveredFlags;
236typedef int ImGuiInputFlags;
237typedef int ImGuiInputTextFlags;
238typedef int ImGuiItemFlags;
239typedef int ImGuiKeyChord;
240typedef int ImGuiPopupFlags;
241typedef int ImGuiMultiSelectFlags;
242typedef int ImGuiSelectableFlags;
243typedef int ImGuiSliderFlags;
244typedef int ImGuiTabBarFlags;
245typedef int ImGuiTabItemFlags;
246typedef int ImGuiTableFlags;
247typedef int ImGuiTableColumnFlags;
248typedef int ImGuiTableRowFlags;
249typedef int ImGuiTreeNodeFlags;
250typedef int ImGuiViewportFlags;
251typedef int ImGuiWindowFlags;
257typedef void* ImTextureID;
264typedef unsigned short ImDrawIdx;
269typedef unsigned int ImWchar32;
270typedef unsigned short ImWchar16;
271#ifdef IMGUI_USE_WCHAR32
272typedef ImWchar32 ImWchar;
274typedef ImWchar16 ImWchar;
280typedef ImS64 ImGuiSelectionUserData;
285typedef void* (*ImGuiMemAllocFunc)(
size_t sz,
void* user_data);
286typedef void (*ImGuiMemFreeFunc)(
void* ptr,
void* user_data);
291IM_MSVC_RUNTIME_CHECKS_OFF
296 constexpr ImVec2(
float _x,
float _y) :
x(_x),
y(_y) { }
297 float&
operator[] (
size_t idx) { IM_ASSERT(idx == 0 || idx == 1);
return ((
float*)(
void*)(
char*)
this)[idx]; }
298 float operator[] (
size_t idx)
const { IM_ASSERT(idx == 0 || idx == 1);
return ((
const float*)(
const void*)(
const char*)
this)[idx]; }
299#ifdef IM_VEC2_CLASS_EXTRA
309 constexpr ImVec4(
float _x,
float _y,
float _z,
float _w) :
x(_x),
y(_y),
z(_z),
w(_w) { }
310#ifdef IM_VEC4_CLASS_EXTRA
314IM_MSVC_RUNTIME_CHECKS_RESTORE
327 IMGUI_API ImGuiContext*
CreateContext(ImFontAtlas* shared_font_atlas = NULL);
333 IMGUI_API ImGuiIO&
GetIO();
369 IMGUI_API
bool Begin(
const char* name,
bool* p_open = NULL, ImGuiWindowFlags flags = 0);
370 IMGUI_API
void End();
390 IMGUI_API
bool BeginChild(
const char* str_id,
const ImVec2& size = ImVec2(0, 0), ImGuiChildFlags child_flags = 0, ImGuiWindowFlags window_flags = 0);
391 IMGUI_API
bool BeginChild(ImGuiID
id,
const ImVec2& size = ImVec2(0, 0), ImGuiChildFlags child_flags = 0, ImGuiWindowFlags window_flags = 0);
410 IMGUI_API
void SetNextWindowPos(
const ImVec2& pos, ImGuiCond cond = 0,
const ImVec2& pivot = ImVec2(0, 0));
412 IMGUI_API
void SetNextWindowSizeConstraints(
const ImVec2& size_min,
const ImVec2& size_max, ImGuiSizeCallback custom_callback = NULL,
void* custom_callback_data = NULL);
419 IMGUI_API
void SetWindowPos(
const ImVec2& pos, ImGuiCond cond = 0);
420 IMGUI_API
void SetWindowSize(
const ImVec2& size, ImGuiCond cond = 0);
424 IMGUI_API
void SetWindowPos(
const char* name,
const ImVec2& pos, ImGuiCond cond = 0);
425 IMGUI_API
void SetWindowSize(
const char* name,
const ImVec2& size, ImGuiCond cond = 0);
426 IMGUI_API
void SetWindowCollapsed(
const char* name,
bool collapsed, ImGuiCond cond = 0);
452 IMGUI_API
void PushFont(ImFont* font);
457 IMGUI_API
void PushStyleVar(ImGuiStyleVar idx,
float val);
458 IMGUI_API
void PushStyleVar(ImGuiStyleVar idx,
const ImVec2& val);
460 IMGUI_API
void PushItemFlag(ImGuiItemFlags option,
bool enabled);
476 IMGUI_API ImU32
GetColorU32(ImGuiCol idx,
float alpha_mul = 1.0f);
478 IMGUI_API ImU32
GetColorU32(ImU32 col,
float alpha_mul = 1.0f);
501 IMGUI_API
void SameLine(
float offset_from_start_x=0.0f,
float spacing=-1.0f);
504 IMGUI_API
void Dummy(
const ImVec2& size);
505 IMGUI_API
void Indent(
float indent_w = 0.0f);
506 IMGUI_API
void Unindent(
float indent_w = 0.0f);
526 IMGUI_API
void PushID(
const char* str_id);
527 IMGUI_API
void PushID(
const char* str_id_begin,
const char* str_id_end);
528 IMGUI_API
void PushID(
const void* ptr_id);
529 IMGUI_API
void PushID(
int int_id);
530 IMGUI_API
void PopID();
531 IMGUI_API ImGuiID
GetID(
const char* str_id);
532 IMGUI_API ImGuiID
GetID(
const char* str_id_begin,
const char* str_id_end);
533 IMGUI_API ImGuiID
GetID(
const void* ptr_id);
536 IMGUI_API
void TextUnformatted(
const char* text,
const char* text_end = NULL);
537 IMGUI_API
void Text(
const char* fmt, ...) IM_FMTARGS(1);
538 IMGUI_API
void TextV(const
char* fmt, va_list args) IM_FMTLIST(1);
539 IMGUI_API
void TextColored(const ImVec4& col, const
char* fmt, ...) IM_FMTARGS(2);
540 IMGUI_API
void TextColoredV(const ImVec4& col, const
char* fmt, va_list args) IM_FMTLIST(2);
541 IMGUI_API
void TextDisabled(const
char* fmt, ...) IM_FMTARGS(1);
542 IMGUI_API
void TextDisabledV(const
char* fmt, va_list args) IM_FMTLIST(1);
543 IMGUI_API
void TextWrapped(const
char* fmt, ...) IM_FMTARGS(1);
544 IMGUI_API
void TextWrappedV(const
char* fmt, va_list args) IM_FMTLIST(1);
545 IMGUI_API
void LabelText(const
char* label, const
char* fmt, ...) IM_FMTARGS(2);
546 IMGUI_API
void LabelTextV(const
char* label, const
char* fmt, va_list args) IM_FMTLIST(2);
547 IMGUI_API
void BulletText(const
char* fmt, ...) IM_FMTARGS(1);
548 IMGUI_API
void BulletTextV(const
char* fmt, va_list args) IM_FMTLIST(1);
554 IMGUI_API
bool Button(const
char* label, const ImVec2& size = ImVec2(0, 0));
556 IMGUI_API
bool InvisibleButton(const
char* str_id, const ImVec2& size, ImGuiButtonFlags flags = 0);
557 IMGUI_API
bool ArrowButton(const
char* str_id, ImGuiDir dir);
558 IMGUI_API
bool Checkbox(const
char* label,
bool* v);
559 IMGUI_API
bool CheckboxFlags(const
char* label,
int* flags,
int flags_value);
560 IMGUI_API
bool CheckboxFlags(const
char* label,
unsigned int* flags,
unsigned int flags_value);
561 IMGUI_API
bool RadioButton(const
char* label,
bool active);
562 IMGUI_API
bool RadioButton(const
char* label,
int* v,
int v_button);
563 IMGUI_API
void ProgressBar(
float fraction, const ImVec2& size_arg = ImVec2(-FLT_MIN, 0), const
char* overlay = NULL);
565 IMGUI_API
bool TextLink(const
char* label);
566 IMGUI_API
void TextLinkOpenURL(const
char* label, const
char* url = NULL);
572 IMGUI_API
void Image(ImTextureID user_texture_id, const ImVec2& image_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));
573 IMGUI_API
bool ImageButton(const
char* str_id, ImTextureID user_texture_id, const ImVec2& image_size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1, 1), const ImVec4& bg_col = ImVec4(0, 0, 0, 0), const ImVec4& tint_col = ImVec4(1, 1, 1, 1));
578 IMGUI_API
bool BeginCombo(const
char* label, const
char* preview_value, ImGuiComboFlags flags = 0);
580 IMGUI_API
bool Combo(const
char* label,
int* current_item, const
char* const items[],
int items_count,
int popup_max_height_in_items = -1);
581 IMGUI_API
bool Combo(const
char* label,
int* current_item, const
char* items_separated_by_zeros,
int popup_max_height_in_items = -1);
582 IMGUI_API
bool Combo(const
char* label,
int* current_item, const
char* (*getter)(
void* user_data,
int idx),
void* user_data,
int items_count,
int popup_max_height_in_items = -1);
596 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);
597 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);
598 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);
599 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);
600 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);
601 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);
602 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);
603 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);
604 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);
605 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);
606 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);
607 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);
615 IMGUI_API
bool SliderFloat(const
char* label,
float* v,
float v_min,
float v_max, const
char* format =
"%.3f", ImGuiSliderFlags flags = 0);
616 IMGUI_API
bool SliderFloat2(const
char* label,
float v[2],
float v_min,
float v_max, const
char* format =
"%.3f", ImGuiSliderFlags flags = 0);
617 IMGUI_API
bool SliderFloat3(const
char* label,
float v[3],
float v_min,
float v_max, const
char* format =
"%.3f", ImGuiSliderFlags flags = 0);
618 IMGUI_API
bool SliderFloat4(const
char* label,
float v[4],
float v_min,
float v_max, const
char* format =
"%.3f", ImGuiSliderFlags flags = 0);
619 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);
620 IMGUI_API
bool SliderInt(const
char* label,
int* v,
int v_min,
int v_max, const
char* format =
"%d", ImGuiSliderFlags flags = 0);
621 IMGUI_API
bool SliderInt2(const
char* label,
int v[2],
int v_min,
int v_max, const
char* format =
"%d", ImGuiSliderFlags flags = 0);
622 IMGUI_API
bool SliderInt3(const
char* label,
int v[3],
int v_min,
int v_max, const
char* format =
"%d", ImGuiSliderFlags flags = 0);
623 IMGUI_API
bool SliderInt4(const
char* label,
int v[4],
int v_min,
int v_max, const
char* format =
"%d", ImGuiSliderFlags flags = 0);
624 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);
625 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);
626 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);
627 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);
628 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);
633 IMGUI_API
bool InputText(const
char* label,
char* buf,
size_t buf_size, ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = NULL,
void* user_data = NULL);
634 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);
635 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);
636 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);
637 IMGUI_API
bool InputFloat2(const
char* label,
float v[2], const
char* format =
"%.3f", ImGuiInputTextFlags flags = 0);
638 IMGUI_API
bool InputFloat3(const
char* label,
float v[3], const
char* format =
"%.3f", ImGuiInputTextFlags flags = 0);
639 IMGUI_API
bool InputFloat4(const
char* label,
float v[4], const
char* format =
"%.3f", ImGuiInputTextFlags flags = 0);
640 IMGUI_API
bool InputInt(const
char* label,
int* v,
int step = 1,
int step_fast = 100, ImGuiInputTextFlags flags = 0);
641 IMGUI_API
bool InputInt2(const
char* label,
int v[2], ImGuiInputTextFlags flags = 0);
642 IMGUI_API
bool InputInt3(const
char* label,
int v[3], ImGuiInputTextFlags flags = 0);
643 IMGUI_API
bool InputInt4(const
char* label,
int v[4], ImGuiInputTextFlags flags = 0);
644 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);
645 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);
646 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);
651 IMGUI_API
bool ColorEdit3(const
char* label,
float col[3], ImGuiColorEditFlags flags = 0);
652 IMGUI_API
bool ColorEdit4(const
char* label,
float col[4], ImGuiColorEditFlags flags = 0);
653 IMGUI_API
bool ColorPicker3(const
char* label,
float col[3], ImGuiColorEditFlags flags = 0);
654 IMGUI_API
bool ColorPicker4(const
char* label,
float col[4], ImGuiColorEditFlags flags = 0, const
float* ref_col = NULL);
655 IMGUI_API
bool ColorButton(const
char* desc_id, const ImVec4& col, ImGuiColorEditFlags flags = 0, const ImVec2& size = ImVec2(0, 0));
660 IMGUI_API
bool TreeNode(const
char* label);
661 IMGUI_API
bool TreeNode(const
char* str_id, const
char* fmt, ...) IM_FMTARGS(2);
662 IMGUI_API
bool TreeNode(const
void* ptr_id, const
char* fmt, ...) IM_FMTARGS(2);
663 IMGUI_API
bool TreeNodeV(const
char* str_id, const
char* fmt, va_list args) IM_FMTLIST(2);
664 IMGUI_API
bool TreeNodeV(const
void* ptr_id, const
char* fmt, va_list args) IM_FMTLIST(2);
665 IMGUI_API
bool TreeNodeEx(const
char* label, ImGuiTreeNodeFlags flags = 0);
666 IMGUI_API
bool TreeNodeEx(const
char* str_id, ImGuiTreeNodeFlags flags, const
char* fmt, ...) IM_FMTARGS(3);
667 IMGUI_API
bool TreeNodeEx(const
void* ptr_id, ImGuiTreeNodeFlags flags, const
char* fmt, ...) IM_FMTARGS(3);
668 IMGUI_API
bool TreeNodeExV(const
char* str_id, ImGuiTreeNodeFlags flags, const
char* fmt, va_list args) IM_FMTLIST(3);
669 IMGUI_API
bool TreeNodeExV(const
void* ptr_id, ImGuiTreeNodeFlags flags, const
char* fmt, va_list args) IM_FMTLIST(3);
670 IMGUI_API
void TreePush(const
char* str_id);
671 IMGUI_API
void TreePush(const
void* ptr_id);
674 IMGUI_API
bool CollapsingHeader(const
char* label, ImGuiTreeNodeFlags flags = 0);
675 IMGUI_API
bool CollapsingHeader(const
char* label,
bool* p_visible, ImGuiTreeNodeFlags flags = 0);
681 IMGUI_API
bool Selectable(const
char* label,
bool selected = false, ImGuiSelectableFlags flags = 0, const ImVec2& size = ImVec2(0, 0));
682 IMGUI_API
bool Selectable(const
char* label,
bool* p_selected, ImGuiSelectableFlags flags = 0, const ImVec2& size = ImVec2(0, 0));
691 IMGUI_API ImGuiMultiSelectIO*
BeginMultiSelect(ImGuiMultiSelectFlags flags,
int selection_size = -1,
int items_count = -1);
702 IMGUI_API
bool BeginListBox(const
char* label, const ImVec2& size = ImVec2(0, 0));
704 IMGUI_API
bool ListBox(const
char* label,
int* current_item, const
char* const items[],
int items_count,
int height_in_items = -1);
705 IMGUI_API
bool ListBox(const
char* label,
int* current_item, const
char* (*getter)(
void* user_data,
int idx),
void* user_data,
int items_count,
int height_in_items = -1);
709 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));
710 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));
711 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));
712 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));
716 IMGUI_API
void Value(const
char* prefix,
bool b);
717 IMGUI_API
void Value(const
char* prefix,
int v);
718 IMGUI_API
void Value(const
char* prefix,
unsigned int v);
719 IMGUI_API
void Value(const
char* prefix,
float v, const
char* float_format = NULL);
730 IMGUI_API
bool BeginMenu(const
char* label,
bool enabled = true);
732 IMGUI_API
bool MenuItem(const
char* label, const
char* shortcut = NULL,
bool selected = false,
bool enabled = true);
733 IMGUI_API
bool MenuItem(const
char* label, const
char* shortcut,
bool* p_selected,
bool enabled = true);
741 IMGUI_API
void SetTooltip(const
char* fmt, ...) IM_FMTARGS(1);
742 IMGUI_API
void SetTooltipV(const
char* fmt, va_list args) IM_FMTLIST(1);
749 IMGUI_API
void SetItemTooltip(const
char* fmt, ...) IM_FMTARGS(1);
750 IMGUI_API
void SetItemTooltipV(const
char* fmt, va_list args) IM_FMTLIST(1);
762 IMGUI_API
bool BeginPopup(const
char* str_id, ImGuiWindowFlags flags = 0);
763 IMGUI_API
bool BeginPopupModal(const
char* name,
bool* p_open = NULL, ImGuiWindowFlags flags = 0);
774 IMGUI_API
void OpenPopup(const
char* str_id, ImGuiPopupFlags popup_flags = 0);
775 IMGUI_API
void OpenPopup(ImGuiID
id, ImGuiPopupFlags popup_flags = 0);
776 IMGUI_API
void OpenPopupOnItemClick(const
char* str_id = NULL, ImGuiPopupFlags popup_flags = 1);
792 IMGUI_API
bool IsPopupOpen(const
char* str_id, ImGuiPopupFlags flags = 0);
815 IMGUI_API
bool BeginTable(const
char* str_id,
int columns, ImGuiTableFlags flags = 0, const ImVec2& outer_size = ImVec2(0.0f, 0.0f),
float inner_width = 0.0f);
817 IMGUI_API
void TableNextRow(ImGuiTableRowFlags row_flags = 0,
float min_row_height = 0.0f);
829 IMGUI_API
void TableSetupColumn(const
char* label, ImGuiTableColumnFlags flags = 0,
float init_width_or_weight = 0.0f, ImGuiID user_id = 0);
849 IMGUI_API
void TableSetBgColor(ImGuiTableBgTarget target, ImU32 color,
int column_n = -1);
853 IMGUI_API
void Columns(
int count = 1, const
char*
id = NULL,
bool border = true);
864 IMGUI_API
bool BeginTabBar(const
char* str_id, ImGuiTabBarFlags flags = 0);
866 IMGUI_API
bool BeginTabItem(const
char* label,
bool* p_open = NULL, ImGuiTabItemFlags flags = 0);
868 IMGUI_API
bool TabItemButton(const
char* label, ImGuiTabItemFlags flags = 0);
884 IMGUI_API ImGuiID
DockSpace(ImGuiID dockspace_id, const ImVec2& size = ImVec2(0, 0), ImGuiDockNodeFlags flags = 0, const ImGuiWindowClass* window_class = NULL);
885 IMGUI_API ImGuiID
DockSpaceOverViewport(ImGuiID dockspace_id = 0, const ImGuiViewport* viewport = NULL, ImGuiDockNodeFlags flags = 0, const ImGuiWindowClass* window_class = NULL);
893 IMGUI_API
void LogToTTY(
int auto_open_depth = -1);
894 IMGUI_API
void LogToFile(
int auto_open_depth = -1, const
char* filename = NULL);
898 IMGUI_API
void LogText(const
char* fmt, ...) IM_FMTARGS(1);
899 IMGUI_API
void LogTextV(const
char* fmt, va_list args) IM_FMTLIST(1);
907 IMGUI_API
bool SetDragDropPayload(const
char* type, const
void* data,
size_t sz, ImGuiCond cond = 0);
924 IMGUI_API
void PushClipRect(const ImVec2& clip_rect_min, const ImVec2& clip_rect_max,
bool intersect_with_current_clip_rect);
941 IMGUI_API
bool IsItemClicked(ImGuiMouseButton mouse_button = 0);
968 IMGUI_API
bool IsRectVisible(const ImVec2& rect_min, const ImVec2& rect_max);
977 IMGUI_API ImVec2
CalcTextSize(const
char* text, const
char* text_end = NULL,
bool hide_text_after_double_hash = false,
float wrap_width = -1.0f);
982 IMGUI_API
void ColorConvertRGBtoHSV(
float r,
float g,
float b,
float& out_h,
float& out_s,
float& out_v);
983 IMGUI_API
void ColorConvertHSVtoRGB(
float h,
float s,
float v,
float& out_r,
float& out_g,
float& out_b);
991 IMGUI_API
bool IsKeyPressed(ImGuiKey key,
bool repeat = true);
995 IMGUI_API const
char*
GetKeyName(ImGuiKey key);
1013 IMGUI_API
bool Shortcut(ImGuiKeyChord key_chord, ImGuiInputFlags flags = 0);
1020 IMGUI_API
bool IsMouseDown(ImGuiMouseButton button);
1021 IMGUI_API
bool IsMouseClicked(ImGuiMouseButton button,
bool repeat = false);
1025 IMGUI_API
bool IsMouseHoveringRect(const ImVec2& r_min, const ImVec2& r_max,
bool clip = true);
1030 IMGUI_API
bool IsMouseDragging(ImGuiMouseButton button,
float lock_threshold = -1.0f);
1031 IMGUI_API ImVec2
GetMouseDragDelta(ImGuiMouseButton button = 0,
float lock_threshold = -1.0f);
1056 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);
1057#ifndef IMGUI_DISABLE_DEBUG_TOOLS
1058 IMGUI_API
void DebugLog(
const char* fmt, ...) IM_FMTARGS(1);
1059 IMGUI_API
void DebugLogV(const
char* fmt, va_list args) IM_FMTLIST(1);
1066 IMGUI_API
void SetAllocatorFunctions(ImGuiMemAllocFunc alloc_func, ImGuiMemFreeFunc free_func,
void* user_data = NULL);
1067 IMGUI_API
void GetAllocatorFunctions(ImGuiMemAllocFunc* p_alloc_func, ImGuiMemFreeFunc* p_free_func,
void** p_user_data);
1068 IMGUI_API
void*
MemAlloc(
size_t size);
1069 IMGUI_API
void MemFree(
void* ptr);
1089enum ImGuiWindowFlags_
1091 ImGuiWindowFlags_None = 0,
1092 ImGuiWindowFlags_NoTitleBar = 1 << 0,
1093 ImGuiWindowFlags_NoResize = 1 << 1,
1094 ImGuiWindowFlags_NoMove = 1 << 2,
1095 ImGuiWindowFlags_NoScrollbar = 1 << 3,
1096 ImGuiWindowFlags_NoScrollWithMouse = 1 << 4,
1097 ImGuiWindowFlags_NoCollapse = 1 << 5,
1098 ImGuiWindowFlags_AlwaysAutoResize = 1 << 6,
1099 ImGuiWindowFlags_NoBackground = 1 << 7,
1100 ImGuiWindowFlags_NoSavedSettings = 1 << 8,
1101 ImGuiWindowFlags_NoMouseInputs = 1 << 9,
1102 ImGuiWindowFlags_MenuBar = 1 << 10,
1103 ImGuiWindowFlags_HorizontalScrollbar = 1 << 11,
1104 ImGuiWindowFlags_NoFocusOnAppearing = 1 << 12,
1105 ImGuiWindowFlags_NoBringToFrontOnFocus = 1 << 13,
1106 ImGuiWindowFlags_AlwaysVerticalScrollbar= 1 << 14,
1107 ImGuiWindowFlags_AlwaysHorizontalScrollbar=1<< 15,
1108 ImGuiWindowFlags_NoNavInputs = 1 << 16,
1109 ImGuiWindowFlags_NoNavFocus = 1 << 17,
1110 ImGuiWindowFlags_UnsavedDocument = 1 << 18,
1111 ImGuiWindowFlags_NoDocking = 1 << 19,
1112 ImGuiWindowFlags_NoNav = ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus,
1113 ImGuiWindowFlags_NoDecoration = ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoCollapse,
1114 ImGuiWindowFlags_NoInputs = ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus,
1117 ImGuiWindowFlags_ChildWindow = 1 << 24,
1118 ImGuiWindowFlags_Tooltip = 1 << 25,
1119 ImGuiWindowFlags_Popup = 1 << 26,
1120 ImGuiWindowFlags_Modal = 1 << 27,
1121 ImGuiWindowFlags_ChildMenu = 1 << 28,
1122 ImGuiWindowFlags_DockNodeHost = 1 << 29,
1125#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1126 ImGuiWindowFlags_AlwaysUseWindowPadding = 1 << 30,
1127 ImGuiWindowFlags_NavFlattened = 1 << 31,
1140enum ImGuiChildFlags_
1142 ImGuiChildFlags_None = 0,
1143 ImGuiChildFlags_Border = 1 << 0,
1144 ImGuiChildFlags_AlwaysUseWindowPadding = 1 << 1,
1145 ImGuiChildFlags_ResizeX = 1 << 2,
1146 ImGuiChildFlags_ResizeY = 1 << 3,
1147 ImGuiChildFlags_AutoResizeX = 1 << 4,
1148 ImGuiChildFlags_AutoResizeY = 1 << 5,
1149 ImGuiChildFlags_AlwaysAutoResize = 1 << 6,
1150 ImGuiChildFlags_FrameStyle = 1 << 7,
1151 ImGuiChildFlags_NavFlattened = 1 << 8,
1158 ImGuiItemFlags_None = 0,
1159 ImGuiItemFlags_NoTabStop = 1 << 0,
1160 ImGuiItemFlags_NoNav = 1 << 1,
1161 ImGuiItemFlags_NoNavDefaultFocus = 1 << 2,
1162 ImGuiItemFlags_ButtonRepeat = 1 << 3,
1163 ImGuiItemFlags_AutoClosePopups = 1 << 4,
1168enum ImGuiInputTextFlags_
1171 ImGuiInputTextFlags_None = 0,
1172 ImGuiInputTextFlags_CharsDecimal = 1 << 0,
1173 ImGuiInputTextFlags_CharsHexadecimal = 1 << 1,
1174 ImGuiInputTextFlags_CharsScientific = 1 << 2,
1175 ImGuiInputTextFlags_CharsUppercase = 1 << 3,
1176 ImGuiInputTextFlags_CharsNoBlank = 1 << 4,
1179 ImGuiInputTextFlags_AllowTabInput = 1 << 5,
1180 ImGuiInputTextFlags_EnterReturnsTrue = 1 << 6,
1181 ImGuiInputTextFlags_EscapeClearsAll = 1 << 7,
1182 ImGuiInputTextFlags_CtrlEnterForNewLine = 1 << 8,
1185 ImGuiInputTextFlags_ReadOnly = 1 << 9,
1186 ImGuiInputTextFlags_Password = 1 << 10,
1187 ImGuiInputTextFlags_AlwaysOverwrite = 1 << 11,
1188 ImGuiInputTextFlags_AutoSelectAll = 1 << 12,
1189 ImGuiInputTextFlags_ParseEmptyRefVal = 1 << 13,
1190 ImGuiInputTextFlags_DisplayEmptyRefVal = 1 << 14,
1191 ImGuiInputTextFlags_NoHorizontalScroll = 1 << 15,
1192 ImGuiInputTextFlags_NoUndoRedo = 1 << 16,
1195 ImGuiInputTextFlags_CallbackCompletion = 1 << 17,
1196 ImGuiInputTextFlags_CallbackHistory = 1 << 18,
1197 ImGuiInputTextFlags_CallbackAlways = 1 << 19,
1198 ImGuiInputTextFlags_CallbackCharFilter = 1 << 20,
1199 ImGuiInputTextFlags_CallbackResize = 1 << 21,
1200 ImGuiInputTextFlags_CallbackEdit = 1 << 22,
1207enum ImGuiTreeNodeFlags_
1209 ImGuiTreeNodeFlags_None = 0,
1210 ImGuiTreeNodeFlags_Selected = 1 << 0,
1211 ImGuiTreeNodeFlags_Framed = 1 << 1,
1212 ImGuiTreeNodeFlags_AllowOverlap = 1 << 2,
1213 ImGuiTreeNodeFlags_NoTreePushOnOpen = 1 << 3,
1214 ImGuiTreeNodeFlags_NoAutoOpenOnLog = 1 << 4,
1215 ImGuiTreeNodeFlags_DefaultOpen = 1 << 5,
1216 ImGuiTreeNodeFlags_OpenOnDoubleClick = 1 << 6,
1217 ImGuiTreeNodeFlags_OpenOnArrow = 1 << 7,
1218 ImGuiTreeNodeFlags_Leaf = 1 << 8,
1219 ImGuiTreeNodeFlags_Bullet = 1 << 9,
1220 ImGuiTreeNodeFlags_FramePadding = 1 << 10,
1221 ImGuiTreeNodeFlags_SpanAvailWidth = 1 << 11,
1222 ImGuiTreeNodeFlags_SpanFullWidth = 1 << 12,
1223 ImGuiTreeNodeFlags_SpanTextWidth = 1 << 13,
1224 ImGuiTreeNodeFlags_SpanAllColumns = 1 << 14,
1225 ImGuiTreeNodeFlags_NavLeftJumpsBackHere = 1 << 15,
1227 ImGuiTreeNodeFlags_CollapsingHeader = ImGuiTreeNodeFlags_Framed | ImGuiTreeNodeFlags_NoTreePushOnOpen | ImGuiTreeNodeFlags_NoAutoOpenOnLog,
1229#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1230 ImGuiTreeNodeFlags_AllowItemOverlap = ImGuiTreeNodeFlags_AllowOverlap,
1242enum ImGuiPopupFlags_
1244 ImGuiPopupFlags_None = 0,
1245 ImGuiPopupFlags_MouseButtonLeft = 0,
1246 ImGuiPopupFlags_MouseButtonRight = 1,
1247 ImGuiPopupFlags_MouseButtonMiddle = 2,
1248 ImGuiPopupFlags_MouseButtonMask_ = 0x1F,
1249 ImGuiPopupFlags_MouseButtonDefault_ = 1,
1250 ImGuiPopupFlags_NoReopen = 1 << 5,
1252 ImGuiPopupFlags_NoOpenOverExistingPopup = 1 << 7,
1253 ImGuiPopupFlags_NoOpenOverItems = 1 << 8,
1254 ImGuiPopupFlags_AnyPopupId = 1 << 10,
1255 ImGuiPopupFlags_AnyPopupLevel = 1 << 11,
1256 ImGuiPopupFlags_AnyPopup = ImGuiPopupFlags_AnyPopupId | ImGuiPopupFlags_AnyPopupLevel,
1260enum ImGuiSelectableFlags_
1262 ImGuiSelectableFlags_None = 0,
1263 ImGuiSelectableFlags_NoAutoClosePopups = 1 << 0,
1264 ImGuiSelectableFlags_SpanAllColumns = 1 << 1,
1265 ImGuiSelectableFlags_AllowDoubleClick = 1 << 2,
1266 ImGuiSelectableFlags_Disabled = 1 << 3,
1267 ImGuiSelectableFlags_AllowOverlap = 1 << 4,
1269#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1270 ImGuiSelectableFlags_DontClosePopups = ImGuiSelectableFlags_NoAutoClosePopups,
1271 ImGuiSelectableFlags_AllowItemOverlap = ImGuiSelectableFlags_AllowOverlap,
1276enum ImGuiComboFlags_
1278 ImGuiComboFlags_None = 0,
1279 ImGuiComboFlags_PopupAlignLeft = 1 << 0,
1280 ImGuiComboFlags_HeightSmall = 1 << 1,
1281 ImGuiComboFlags_HeightRegular = 1 << 2,
1282 ImGuiComboFlags_HeightLarge = 1 << 3,
1283 ImGuiComboFlags_HeightLargest = 1 << 4,
1284 ImGuiComboFlags_NoArrowButton = 1 << 5,
1285 ImGuiComboFlags_NoPreview = 1 << 6,
1286 ImGuiComboFlags_WidthFitPreview = 1 << 7,
1287 ImGuiComboFlags_HeightMask_ = ImGuiComboFlags_HeightSmall | ImGuiComboFlags_HeightRegular | ImGuiComboFlags_HeightLarge | ImGuiComboFlags_HeightLargest,
1291enum ImGuiTabBarFlags_
1293 ImGuiTabBarFlags_None = 0,
1294 ImGuiTabBarFlags_Reorderable = 1 << 0,
1295 ImGuiTabBarFlags_AutoSelectNewTabs = 1 << 1,
1296 ImGuiTabBarFlags_TabListPopupButton = 1 << 2,
1297 ImGuiTabBarFlags_NoCloseWithMiddleMouseButton = 1 << 3,
1298 ImGuiTabBarFlags_NoTabListScrollingButtons = 1 << 4,
1299 ImGuiTabBarFlags_NoTooltip = 1 << 5,
1300 ImGuiTabBarFlags_DrawSelectedOverline = 1 << 6,
1301 ImGuiTabBarFlags_FittingPolicyResizeDown = 1 << 7,
1302 ImGuiTabBarFlags_FittingPolicyScroll = 1 << 8,
1303 ImGuiTabBarFlags_FittingPolicyMask_ = ImGuiTabBarFlags_FittingPolicyResizeDown | ImGuiTabBarFlags_FittingPolicyScroll,
1304 ImGuiTabBarFlags_FittingPolicyDefault_ = ImGuiTabBarFlags_FittingPolicyResizeDown,
1308enum ImGuiTabItemFlags_
1310 ImGuiTabItemFlags_None = 0,
1311 ImGuiTabItemFlags_UnsavedDocument = 1 << 0,
1312 ImGuiTabItemFlags_SetSelected = 1 << 1,
1313 ImGuiTabItemFlags_NoCloseWithMiddleMouseButton = 1 << 2,
1314 ImGuiTabItemFlags_NoPushId = 1 << 3,
1315 ImGuiTabItemFlags_NoTooltip = 1 << 4,
1316 ImGuiTabItemFlags_NoReorder = 1 << 5,
1317 ImGuiTabItemFlags_Leading = 1 << 6,
1318 ImGuiTabItemFlags_Trailing = 1 << 7,
1319 ImGuiTabItemFlags_NoAssumedClosure = 1 << 8,
1323enum ImGuiFocusedFlags_
1325 ImGuiFocusedFlags_None = 0,
1326 ImGuiFocusedFlags_ChildWindows = 1 << 0,
1327 ImGuiFocusedFlags_RootWindow = 1 << 1,
1328 ImGuiFocusedFlags_AnyWindow = 1 << 2,
1329 ImGuiFocusedFlags_NoPopupHierarchy = 1 << 3,
1330 ImGuiFocusedFlags_DockHierarchy = 1 << 4,
1331 ImGuiFocusedFlags_RootAndChildWindows = ImGuiFocusedFlags_RootWindow | ImGuiFocusedFlags_ChildWindows,
1337enum ImGuiHoveredFlags_
1339 ImGuiHoveredFlags_None = 0,
1340 ImGuiHoveredFlags_ChildWindows = 1 << 0,
1341 ImGuiHoveredFlags_RootWindow = 1 << 1,
1342 ImGuiHoveredFlags_AnyWindow = 1 << 2,
1343 ImGuiHoveredFlags_NoPopupHierarchy = 1 << 3,
1344 ImGuiHoveredFlags_DockHierarchy = 1 << 4,
1345 ImGuiHoveredFlags_AllowWhenBlockedByPopup = 1 << 5,
1347 ImGuiHoveredFlags_AllowWhenBlockedByActiveItem = 1 << 7,
1348 ImGuiHoveredFlags_AllowWhenOverlappedByItem = 1 << 8,
1349 ImGuiHoveredFlags_AllowWhenOverlappedByWindow = 1 << 9,
1350 ImGuiHoveredFlags_AllowWhenDisabled = 1 << 10,
1351 ImGuiHoveredFlags_NoNavOverride = 1 << 11,
1352 ImGuiHoveredFlags_AllowWhenOverlapped = ImGuiHoveredFlags_AllowWhenOverlappedByItem | ImGuiHoveredFlags_AllowWhenOverlappedByWindow,
1353 ImGuiHoveredFlags_RectOnly = ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_AllowWhenOverlapped,
1354 ImGuiHoveredFlags_RootAndChildWindows = ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_ChildWindows,
1362 ImGuiHoveredFlags_ForTooltip = 1 << 12,
1367 ImGuiHoveredFlags_Stationary = 1 << 13,
1368 ImGuiHoveredFlags_DelayNone = 1 << 14,
1369 ImGuiHoveredFlags_DelayShort = 1 << 15,
1370 ImGuiHoveredFlags_DelayNormal = 1 << 16,
1371 ImGuiHoveredFlags_NoSharedDelay = 1 << 17,
1377enum ImGuiDockNodeFlags_
1379 ImGuiDockNodeFlags_None = 0,
1380 ImGuiDockNodeFlags_KeepAliveOnly = 1 << 0,
1382 ImGuiDockNodeFlags_NoDockingOverCentralNode = 1 << 2,
1383 ImGuiDockNodeFlags_PassthruCentralNode = 1 << 3,
1384 ImGuiDockNodeFlags_NoDockingSplit = 1 << 4,
1385 ImGuiDockNodeFlags_NoResize = 1 << 5,
1386 ImGuiDockNodeFlags_AutoHideTabBar = 1 << 6,
1387 ImGuiDockNodeFlags_NoUndocking = 1 << 7,
1389#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1390 ImGuiDockNodeFlags_NoSplit = ImGuiDockNodeFlags_NoDockingSplit,
1391 ImGuiDockNodeFlags_NoDockingInCentralNode = ImGuiDockNodeFlags_NoDockingOverCentralNode,
1396enum ImGuiDragDropFlags_
1398 ImGuiDragDropFlags_None = 0,
1400 ImGuiDragDropFlags_SourceNoPreviewTooltip = 1 << 0,
1401 ImGuiDragDropFlags_SourceNoDisableHover = 1 << 1,
1402 ImGuiDragDropFlags_SourceNoHoldToOpenOthers = 1 << 2,
1403 ImGuiDragDropFlags_SourceAllowNullID = 1 << 3,
1404 ImGuiDragDropFlags_SourceExtern = 1 << 4,
1405 ImGuiDragDropFlags_PayloadAutoExpire = 1 << 5,
1406 ImGuiDragDropFlags_PayloadNoCrossContext = 1 << 6,
1407 ImGuiDragDropFlags_PayloadNoCrossProcess = 1 << 7,
1409 ImGuiDragDropFlags_AcceptBeforeDelivery = 1 << 10,
1410 ImGuiDragDropFlags_AcceptNoDrawDefaultRect = 1 << 11,
1411 ImGuiDragDropFlags_AcceptNoPreviewTooltip = 1 << 12,
1412 ImGuiDragDropFlags_AcceptPeekOnly = ImGuiDragDropFlags_AcceptBeforeDelivery | ImGuiDragDropFlags_AcceptNoDrawDefaultRect,
1414#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1415 ImGuiDragDropFlags_SourceAutoExpirePayload = ImGuiDragDropFlags_PayloadAutoExpire,
1420#define IMGUI_PAYLOAD_TYPE_COLOR_3F "_COL3F"
1421#define IMGUI_PAYLOAD_TYPE_COLOR_4F "_COL4F"
1434 ImGuiDataType_Float,
1435 ImGuiDataType_Double,
1452enum ImGuiSortDirection : ImU8
1454 ImGuiSortDirection_None = 0,
1455 ImGuiSortDirection_Ascending = 1,
1456 ImGuiSortDirection_Descending = 2
1460#if defined(IMGUI_DISABLE_OBSOLETE_FUNCTIONS) && !defined(IMGUI_DISABLE_OBSOLETE_KEYIO)
1461#define IMGUI_DISABLE_OBSOLETE_KEYIO
1476 ImGuiKey_RightArrow,
1489 ImGuiKey_LeftCtrl, ImGuiKey_LeftShift, ImGuiKey_LeftAlt, ImGuiKey_LeftSuper,
1490 ImGuiKey_RightCtrl, ImGuiKey_RightShift, ImGuiKey_RightAlt, ImGuiKey_RightSuper,
1492 ImGuiKey_0, ImGuiKey_1, ImGuiKey_2, ImGuiKey_3, ImGuiKey_4, ImGuiKey_5, ImGuiKey_6, ImGuiKey_7, ImGuiKey_8, ImGuiKey_9,
1493 ImGuiKey_A, ImGuiKey_B, ImGuiKey_C, ImGuiKey_D, ImGuiKey_E, ImGuiKey_F, ImGuiKey_G, ImGuiKey_H, ImGuiKey_I, ImGuiKey_J,
1494 ImGuiKey_K, ImGuiKey_L, ImGuiKey_M, ImGuiKey_N, ImGuiKey_O, ImGuiKey_P, ImGuiKey_Q, ImGuiKey_R, ImGuiKey_S, ImGuiKey_T,
1495 ImGuiKey_U, ImGuiKey_V, ImGuiKey_W, ImGuiKey_X, ImGuiKey_Y, ImGuiKey_Z,
1496 ImGuiKey_F1, ImGuiKey_F2, ImGuiKey_F3, ImGuiKey_F4, ImGuiKey_F5, ImGuiKey_F6,
1497 ImGuiKey_F7, ImGuiKey_F8, ImGuiKey_F9, ImGuiKey_F10, ImGuiKey_F11, ImGuiKey_F12,
1498 ImGuiKey_F13, ImGuiKey_F14, ImGuiKey_F15, ImGuiKey_F16, ImGuiKey_F17, ImGuiKey_F18,
1499 ImGuiKey_F19, ImGuiKey_F20, ImGuiKey_F21, ImGuiKey_F22, ImGuiKey_F23, ImGuiKey_F24,
1500 ImGuiKey_Apostrophe,
1507 ImGuiKey_LeftBracket,
1509 ImGuiKey_RightBracket,
1510 ImGuiKey_GraveAccent,
1512 ImGuiKey_ScrollLock,
1514 ImGuiKey_PrintScreen,
1516 ImGuiKey_Keypad0, ImGuiKey_Keypad1, ImGuiKey_Keypad2, ImGuiKey_Keypad3, ImGuiKey_Keypad4,
1517 ImGuiKey_Keypad5, ImGuiKey_Keypad6, ImGuiKey_Keypad7, ImGuiKey_Keypad8, ImGuiKey_Keypad9,
1518 ImGuiKey_KeypadDecimal,
1519 ImGuiKey_KeypadDivide,
1520 ImGuiKey_KeypadMultiply,
1521 ImGuiKey_KeypadSubtract,
1523 ImGuiKey_KeypadEnter,
1524 ImGuiKey_KeypadEqual,
1526 ImGuiKey_AppForward,
1530 ImGuiKey_GamepadStart,
1531 ImGuiKey_GamepadBack,
1532 ImGuiKey_GamepadFaceLeft,
1533 ImGuiKey_GamepadFaceRight,
1534 ImGuiKey_GamepadFaceUp,
1535 ImGuiKey_GamepadFaceDown,
1536 ImGuiKey_GamepadDpadLeft,
1537 ImGuiKey_GamepadDpadRight,
1538 ImGuiKey_GamepadDpadUp,
1539 ImGuiKey_GamepadDpadDown,
1546 ImGuiKey_GamepadLStickLeft,
1547 ImGuiKey_GamepadLStickRight,
1548 ImGuiKey_GamepadLStickUp,
1549 ImGuiKey_GamepadLStickDown,
1550 ImGuiKey_GamepadRStickLeft,
1551 ImGuiKey_GamepadRStickRight,
1552 ImGuiKey_GamepadRStickUp,
1553 ImGuiKey_GamepadRStickDown,
1557 ImGuiKey_MouseLeft, ImGuiKey_MouseRight, ImGuiKey_MouseMiddle, ImGuiKey_MouseX1, ImGuiKey_MouseX2, ImGuiKey_MouseWheelX, ImGuiKey_MouseWheelY,
1560 ImGuiKey_ReservedForModCtrl, ImGuiKey_ReservedForModShift, ImGuiKey_ReservedForModAlt, ImGuiKey_ReservedForModSuper,
1573 ImGuiMod_Ctrl = 1 << 12,
1574 ImGuiMod_Shift = 1 << 13,
1575 ImGuiMod_Alt = 1 << 14,
1576 ImGuiMod_Super = 1 << 15,
1577 ImGuiMod_Mask_ = 0xF000,
1582 ImGuiKey_NamedKey_BEGIN = 512,
1583 ImGuiKey_NamedKey_END = ImGuiKey_COUNT,
1584 ImGuiKey_NamedKey_COUNT = ImGuiKey_NamedKey_END - ImGuiKey_NamedKey_BEGIN,
1585#ifdef IMGUI_DISABLE_OBSOLETE_KEYIO
1586 ImGuiKey_KeysData_SIZE = ImGuiKey_NamedKey_COUNT,
1587 ImGuiKey_KeysData_OFFSET = ImGuiKey_NamedKey_BEGIN,
1589 ImGuiKey_KeysData_SIZE = ImGuiKey_COUNT,
1590 ImGuiKey_KeysData_OFFSET = 0,
1593#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1594 ImGuiMod_Shortcut = ImGuiMod_Ctrl,
1595 ImGuiKey_ModCtrl = ImGuiMod_Ctrl, ImGuiKey_ModShift = ImGuiMod_Shift, ImGuiKey_ModAlt = ImGuiMod_Alt, ImGuiKey_ModSuper = ImGuiMod_Super,
1603enum ImGuiInputFlags_
1605 ImGuiInputFlags_None = 0,
1606 ImGuiInputFlags_Repeat = 1 << 0,
1611 ImGuiInputFlags_RouteActive = 1 << 10,
1612 ImGuiInputFlags_RouteFocused = 1 << 11,
1613 ImGuiInputFlags_RouteGlobal = 1 << 12,
1614 ImGuiInputFlags_RouteAlways = 1 << 13,
1616 ImGuiInputFlags_RouteOverFocused = 1 << 14,
1617 ImGuiInputFlags_RouteOverActive = 1 << 15,
1618 ImGuiInputFlags_RouteUnlessBgFocused = 1 << 16,
1619 ImGuiInputFlags_RouteFromRootWindow = 1 << 17,
1622 ImGuiInputFlags_Tooltip = 1 << 18,
1625#ifndef IMGUI_DISABLE_OBSOLETE_KEYIO
1631 ImGuiNavInput_Activate, ImGuiNavInput_Cancel, ImGuiNavInput_Input, ImGuiNavInput_Menu, ImGuiNavInput_DpadLeft, ImGuiNavInput_DpadRight, ImGuiNavInput_DpadUp, ImGuiNavInput_DpadDown,
1632 ImGuiNavInput_LStickLeft, ImGuiNavInput_LStickRight, ImGuiNavInput_LStickUp, ImGuiNavInput_LStickDown, ImGuiNavInput_FocusPrev, ImGuiNavInput_FocusNext, ImGuiNavInput_TweakSlow, ImGuiNavInput_TweakFast,
1633 ImGuiNavInput_COUNT,
1638enum ImGuiConfigFlags_
1640 ImGuiConfigFlags_None = 0,
1641 ImGuiConfigFlags_NavEnableKeyboard = 1 << 0,
1642 ImGuiConfigFlags_NavEnableGamepad = 1 << 1,
1643 ImGuiConfigFlags_NavEnableSetMousePos = 1 << 2,
1644 ImGuiConfigFlags_NavNoCaptureKeyboard = 1 << 3,
1645 ImGuiConfigFlags_NoMouse = 1 << 4,
1646 ImGuiConfigFlags_NoMouseCursorChange = 1 << 5,
1647 ImGuiConfigFlags_NoKeyboard = 1 << 6,
1650 ImGuiConfigFlags_DockingEnable = 1 << 7,
1654 ImGuiConfigFlags_ViewportsEnable = 1 << 10,
1655 ImGuiConfigFlags_DpiEnableScaleViewports= 1 << 14,
1656 ImGuiConfigFlags_DpiEnableScaleFonts = 1 << 15,
1659 ImGuiConfigFlags_IsSRGB = 1 << 20,
1660 ImGuiConfigFlags_IsTouchScreen = 1 << 21,
1664enum ImGuiBackendFlags_
1666 ImGuiBackendFlags_None = 0,
1667 ImGuiBackendFlags_HasGamepad = 1 << 0,
1668 ImGuiBackendFlags_HasMouseCursors = 1 << 1,
1669 ImGuiBackendFlags_HasSetMousePos = 1 << 2,
1670 ImGuiBackendFlags_RendererHasVtxOffset = 1 << 3,
1673 ImGuiBackendFlags_PlatformHasViewports = 1 << 10,
1674 ImGuiBackendFlags_HasMouseHoveredViewport=1 << 11,
1675 ImGuiBackendFlags_RendererHasViewports = 1 << 12,
1682 ImGuiCol_TextDisabled,
1687 ImGuiCol_BorderShadow,
1689 ImGuiCol_FrameBgHovered,
1690 ImGuiCol_FrameBgActive,
1692 ImGuiCol_TitleBgActive,
1693 ImGuiCol_TitleBgCollapsed,
1695 ImGuiCol_ScrollbarBg,
1696 ImGuiCol_ScrollbarGrab,
1697 ImGuiCol_ScrollbarGrabHovered,
1698 ImGuiCol_ScrollbarGrabActive,
1700 ImGuiCol_SliderGrab,
1701 ImGuiCol_SliderGrabActive,
1703 ImGuiCol_ButtonHovered,
1704 ImGuiCol_ButtonActive,
1706 ImGuiCol_HeaderHovered,
1707 ImGuiCol_HeaderActive,
1709 ImGuiCol_SeparatorHovered,
1710 ImGuiCol_SeparatorActive,
1711 ImGuiCol_ResizeGrip,
1712 ImGuiCol_ResizeGripHovered,
1713 ImGuiCol_ResizeGripActive,
1714 ImGuiCol_TabHovered,
1716 ImGuiCol_TabSelected,
1717 ImGuiCol_TabSelectedOverline,
1719 ImGuiCol_TabDimmedSelected,
1720 ImGuiCol_TabDimmedSelectedOverline,
1721 ImGuiCol_DockingPreview,
1722 ImGuiCol_DockingEmptyBg,
1724 ImGuiCol_PlotLinesHovered,
1725 ImGuiCol_PlotHistogram,
1726 ImGuiCol_PlotHistogramHovered,
1727 ImGuiCol_TableHeaderBg,
1728 ImGuiCol_TableBorderStrong,
1729 ImGuiCol_TableBorderLight,
1730 ImGuiCol_TableRowBg,
1731 ImGuiCol_TableRowBgAlt,
1733 ImGuiCol_TextSelectedBg,
1734 ImGuiCol_DragDropTarget,
1735 ImGuiCol_NavHighlight,
1736 ImGuiCol_NavWindowingHighlight,
1737 ImGuiCol_NavWindowingDimBg,
1738 ImGuiCol_ModalWindowDimBg,
1741#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1742 ImGuiCol_TabActive = ImGuiCol_TabSelected,
1743 ImGuiCol_TabUnfocused = ImGuiCol_TabDimmed,
1744 ImGuiCol_TabUnfocusedActive = ImGuiCol_TabDimmedSelected,
1759 ImGuiStyleVar_Alpha,
1760 ImGuiStyleVar_DisabledAlpha,
1761 ImGuiStyleVar_WindowPadding,
1762 ImGuiStyleVar_WindowRounding,
1763 ImGuiStyleVar_WindowBorderSize,
1764 ImGuiStyleVar_WindowMinSize,
1765 ImGuiStyleVar_WindowTitleAlign,
1766 ImGuiStyleVar_ChildRounding,
1767 ImGuiStyleVar_ChildBorderSize,
1768 ImGuiStyleVar_PopupRounding,
1769 ImGuiStyleVar_PopupBorderSize,
1770 ImGuiStyleVar_FramePadding,
1771 ImGuiStyleVar_FrameRounding,
1772 ImGuiStyleVar_FrameBorderSize,
1773 ImGuiStyleVar_ItemSpacing,
1774 ImGuiStyleVar_ItemInnerSpacing,
1775 ImGuiStyleVar_IndentSpacing,
1776 ImGuiStyleVar_CellPadding,
1777 ImGuiStyleVar_ScrollbarSize,
1778 ImGuiStyleVar_ScrollbarRounding,
1779 ImGuiStyleVar_GrabMinSize,
1780 ImGuiStyleVar_GrabRounding,
1781 ImGuiStyleVar_TabRounding,
1782 ImGuiStyleVar_TabBorderSize,
1783 ImGuiStyleVar_TabBarBorderSize,
1784 ImGuiStyleVar_TableAngledHeadersAngle,
1785 ImGuiStyleVar_TableAngledHeadersTextAlign,
1786 ImGuiStyleVar_ButtonTextAlign,
1787 ImGuiStyleVar_SelectableTextAlign,
1788 ImGuiStyleVar_SeparatorTextBorderSize,
1789 ImGuiStyleVar_SeparatorTextAlign,
1790 ImGuiStyleVar_SeparatorTextPadding,
1791 ImGuiStyleVar_DockingSeparatorSize,
1796enum ImGuiButtonFlags_
1798 ImGuiButtonFlags_None = 0,
1799 ImGuiButtonFlags_MouseButtonLeft = 1 << 0,
1800 ImGuiButtonFlags_MouseButtonRight = 1 << 1,
1801 ImGuiButtonFlags_MouseButtonMiddle = 1 << 2,
1802 ImGuiButtonFlags_MouseButtonMask_ = ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight | ImGuiButtonFlags_MouseButtonMiddle,
1807enum ImGuiColorEditFlags_
1809 ImGuiColorEditFlags_None = 0,
1810 ImGuiColorEditFlags_NoAlpha = 1 << 1,
1811 ImGuiColorEditFlags_NoPicker = 1 << 2,
1812 ImGuiColorEditFlags_NoOptions = 1 << 3,
1813 ImGuiColorEditFlags_NoSmallPreview = 1 << 4,
1814 ImGuiColorEditFlags_NoInputs = 1 << 5,
1815 ImGuiColorEditFlags_NoTooltip = 1 << 6,
1816 ImGuiColorEditFlags_NoLabel = 1 << 7,
1817 ImGuiColorEditFlags_NoSidePreview = 1 << 8,
1818 ImGuiColorEditFlags_NoDragDrop = 1 << 9,
1819 ImGuiColorEditFlags_NoBorder = 1 << 10,
1822 ImGuiColorEditFlags_AlphaBar = 1 << 16,
1823 ImGuiColorEditFlags_AlphaPreview = 1 << 17,
1824 ImGuiColorEditFlags_AlphaPreviewHalf= 1 << 18,
1825 ImGuiColorEditFlags_HDR = 1 << 19,
1826 ImGuiColorEditFlags_DisplayRGB = 1 << 20,
1827 ImGuiColorEditFlags_DisplayHSV = 1 << 21,
1828 ImGuiColorEditFlags_DisplayHex = 1 << 22,
1829 ImGuiColorEditFlags_Uint8 = 1 << 23,
1830 ImGuiColorEditFlags_Float = 1 << 24,
1831 ImGuiColorEditFlags_PickerHueBar = 1 << 25,
1832 ImGuiColorEditFlags_PickerHueWheel = 1 << 26,
1833 ImGuiColorEditFlags_InputRGB = 1 << 27,
1834 ImGuiColorEditFlags_InputHSV = 1 << 28,
1838 ImGuiColorEditFlags_DefaultOptions_ = ImGuiColorEditFlags_Uint8 | ImGuiColorEditFlags_DisplayRGB | ImGuiColorEditFlags_InputRGB | ImGuiColorEditFlags_PickerHueBar,
1841 ImGuiColorEditFlags_DisplayMask_ = ImGuiColorEditFlags_DisplayRGB | ImGuiColorEditFlags_DisplayHSV | ImGuiColorEditFlags_DisplayHex,
1842 ImGuiColorEditFlags_DataTypeMask_ = ImGuiColorEditFlags_Uint8 | ImGuiColorEditFlags_Float,
1843 ImGuiColorEditFlags_PickerMask_ = ImGuiColorEditFlags_PickerHueWheel | ImGuiColorEditFlags_PickerHueBar,
1844 ImGuiColorEditFlags_InputMask_ = ImGuiColorEditFlags_InputRGB | ImGuiColorEditFlags_InputHSV,
1853enum ImGuiSliderFlags_
1855 ImGuiSliderFlags_None = 0,
1856 ImGuiSliderFlags_AlwaysClamp = 1 << 4,
1857 ImGuiSliderFlags_Logarithmic = 1 << 5,
1858 ImGuiSliderFlags_NoRoundToFormat = 1 << 6,
1859 ImGuiSliderFlags_NoInput = 1 << 7,
1860 ImGuiSliderFlags_WrapAround = 1 << 8,
1861 ImGuiSliderFlags_InvalidMask_ = 0x7000000F,
1869enum ImGuiMouseButton_
1871 ImGuiMouseButton_Left = 0,
1872 ImGuiMouseButton_Right = 1,
1873 ImGuiMouseButton_Middle = 2,
1874 ImGuiMouseButton_COUNT = 5
1879enum ImGuiMouseCursor_
1881 ImGuiMouseCursor_None = -1,
1882 ImGuiMouseCursor_Arrow = 0,
1883 ImGuiMouseCursor_TextInput,
1884 ImGuiMouseCursor_ResizeAll,
1885 ImGuiMouseCursor_ResizeNS,
1886 ImGuiMouseCursor_ResizeEW,
1887 ImGuiMouseCursor_ResizeNESW,
1888 ImGuiMouseCursor_ResizeNWSE,
1889 ImGuiMouseCursor_Hand,
1890 ImGuiMouseCursor_NotAllowed,
1891 ImGuiMouseCursor_COUNT
1898enum ImGuiMouseSource :
int
1900 ImGuiMouseSource_Mouse = 0,
1901 ImGuiMouseSource_TouchScreen,
1902 ImGuiMouseSource_Pen,
1903 ImGuiMouseSource_COUNT
1912 ImGuiCond_Always = 1 << 0,
1913 ImGuiCond_Once = 1 << 1,
1914 ImGuiCond_FirstUseEver = 1 << 2,
1915 ImGuiCond_Appearing = 1 << 3,
1944enum ImGuiTableFlags_
1947 ImGuiTableFlags_None = 0,
1948 ImGuiTableFlags_Resizable = 1 << 0,
1949 ImGuiTableFlags_Reorderable = 1 << 1,
1950 ImGuiTableFlags_Hideable = 1 << 2,
1951 ImGuiTableFlags_Sortable = 1 << 3,
1952 ImGuiTableFlags_NoSavedSettings = 1 << 4,
1953 ImGuiTableFlags_ContextMenuInBody = 1 << 5,
1955 ImGuiTableFlags_RowBg = 1 << 6,
1956 ImGuiTableFlags_BordersInnerH = 1 << 7,
1957 ImGuiTableFlags_BordersOuterH = 1 << 8,
1958 ImGuiTableFlags_BordersInnerV = 1 << 9,
1959 ImGuiTableFlags_BordersOuterV = 1 << 10,
1960 ImGuiTableFlags_BordersH = ImGuiTableFlags_BordersInnerH | ImGuiTableFlags_BordersOuterH,
1961 ImGuiTableFlags_BordersV = ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_BordersOuterV,
1962 ImGuiTableFlags_BordersInner = ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_BordersInnerH,
1963 ImGuiTableFlags_BordersOuter = ImGuiTableFlags_BordersOuterV | ImGuiTableFlags_BordersOuterH,
1964 ImGuiTableFlags_Borders = ImGuiTableFlags_BordersInner | ImGuiTableFlags_BordersOuter,
1965 ImGuiTableFlags_NoBordersInBody = 1 << 11,
1966 ImGuiTableFlags_NoBordersInBodyUntilResize = 1 << 12,
1968 ImGuiTableFlags_SizingFixedFit = 1 << 13,
1969 ImGuiTableFlags_SizingFixedSame = 2 << 13,
1970 ImGuiTableFlags_SizingStretchProp = 3 << 13,
1971 ImGuiTableFlags_SizingStretchSame = 4 << 13,
1973 ImGuiTableFlags_NoHostExtendX = 1 << 16,
1974 ImGuiTableFlags_NoHostExtendY = 1 << 17,
1975 ImGuiTableFlags_NoKeepColumnsVisible = 1 << 18,
1976 ImGuiTableFlags_PreciseWidths = 1 << 19,
1978 ImGuiTableFlags_NoClip = 1 << 20,
1980 ImGuiTableFlags_PadOuterX = 1 << 21,
1981 ImGuiTableFlags_NoPadOuterX = 1 << 22,
1982 ImGuiTableFlags_NoPadInnerX = 1 << 23,
1984 ImGuiTableFlags_ScrollX = 1 << 24,
1985 ImGuiTableFlags_ScrollY = 1 << 25,
1987 ImGuiTableFlags_SortMulti = 1 << 26,
1988 ImGuiTableFlags_SortTristate = 1 << 27,
1990 ImGuiTableFlags_HighlightHoveredColumn = 1 << 28,
1993 ImGuiTableFlags_SizingMask_ = ImGuiTableFlags_SizingFixedFit | ImGuiTableFlags_SizingFixedSame | ImGuiTableFlags_SizingStretchProp | ImGuiTableFlags_SizingStretchSame,
1997enum ImGuiTableColumnFlags_
2000 ImGuiTableColumnFlags_None = 0,
2001 ImGuiTableColumnFlags_Disabled = 1 << 0,
2002 ImGuiTableColumnFlags_DefaultHide = 1 << 1,
2003 ImGuiTableColumnFlags_DefaultSort = 1 << 2,
2004 ImGuiTableColumnFlags_WidthStretch = 1 << 3,
2005 ImGuiTableColumnFlags_WidthFixed = 1 << 4,
2006 ImGuiTableColumnFlags_NoResize = 1 << 5,
2007 ImGuiTableColumnFlags_NoReorder = 1 << 6,
2008 ImGuiTableColumnFlags_NoHide = 1 << 7,
2009 ImGuiTableColumnFlags_NoClip = 1 << 8,
2010 ImGuiTableColumnFlags_NoSort = 1 << 9,
2011 ImGuiTableColumnFlags_NoSortAscending = 1 << 10,
2012 ImGuiTableColumnFlags_NoSortDescending = 1 << 11,
2013 ImGuiTableColumnFlags_NoHeaderLabel = 1 << 12,
2014 ImGuiTableColumnFlags_NoHeaderWidth = 1 << 13,
2015 ImGuiTableColumnFlags_PreferSortAscending = 1 << 14,
2016 ImGuiTableColumnFlags_PreferSortDescending = 1 << 15,
2017 ImGuiTableColumnFlags_IndentEnable = 1 << 16,
2018 ImGuiTableColumnFlags_IndentDisable = 1 << 17,
2019 ImGuiTableColumnFlags_AngledHeader = 1 << 18,
2022 ImGuiTableColumnFlags_IsEnabled = 1 << 24,
2023 ImGuiTableColumnFlags_IsVisible = 1 << 25,
2024 ImGuiTableColumnFlags_IsSorted = 1 << 26,
2025 ImGuiTableColumnFlags_IsHovered = 1 << 27,
2028 ImGuiTableColumnFlags_WidthMask_ = ImGuiTableColumnFlags_WidthStretch | ImGuiTableColumnFlags_WidthFixed,
2029 ImGuiTableColumnFlags_IndentMask_ = ImGuiTableColumnFlags_IndentEnable | ImGuiTableColumnFlags_IndentDisable,
2030 ImGuiTableColumnFlags_StatusMask_ = ImGuiTableColumnFlags_IsEnabled | ImGuiTableColumnFlags_IsVisible | ImGuiTableColumnFlags_IsSorted | ImGuiTableColumnFlags_IsHovered,
2031 ImGuiTableColumnFlags_NoDirectResize_ = 1 << 30,
2035enum ImGuiTableRowFlags_
2037 ImGuiTableRowFlags_None = 0,
2038 ImGuiTableRowFlags_Headers = 1 << 0,
2050enum ImGuiTableBgTarget_
2052 ImGuiTableBgTarget_None = 0,
2053 ImGuiTableBgTarget_RowBg0 = 1,
2054 ImGuiTableBgTarget_RowBg1 = 2,
2055 ImGuiTableBgTarget_CellBg = 3,
2090#ifndef IMGUI_DISABLE_DEBUG_TOOLS
2091#define IMGUI_DEBUG_LOG(...) ImGui::DebugLog(__VA_ARGS__)
2093#define IMGUI_DEBUG_LOG(...) ((void)0)
2103inline void*
operator new(size_t,
ImNewWrapper,
void* ptr) {
return ptr; }
2104inline void operator delete(
void*,
ImNewWrapper,
void*) {}
2105#define IM_ALLOC(_SIZE) ImGui::MemAlloc(_SIZE)
2106#define IM_FREE(_PTR) ImGui::MemFree(_PTR)
2107#define IM_PLACEMENT_NEW(_PTR) new(ImNewWrapper(), _PTR)
2108#define IM_NEW(_TYPE) new(ImNewWrapper(), ImGui::MemAlloc(sizeof(_TYPE))) _TYPE
2109template<
typename T>
void IM_DELETE(T* p) {
if (p) { p->~T();
ImGui::MemFree(p); } }
2122IM_MSVC_RUNTIME_CHECKS_OFF
2148 inline int max_size()
const {
return 0x7FFFFFFF / (int)
sizeof(T); }
2167 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; }
2175 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; }
2178 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; }
2179 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; }
2180 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; }
2181 inline int find_index(
const T& v)
const {
const T* data_end =
Data +
Size;
const T* it =
find(v);
if (it == data_end)
return -1;
const ptrdiff_t off = it -
Data;
return (
int)off; }
2186IM_MSVC_RUNTIME_CHECKS_RESTORE
2370 const char* (*GetClipboardTextFn)(
void* user_data);
2392 IMGUI_API
void AddKeyEvent(ImGuiKey key,
bool down);
2404 IMGUI_API
void SetKeyEventNativeData(ImGuiKey key,
int native_keycode,
int native_scancode,
int native_legacy_index = -1);
2409#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
2484#ifndef IMGUI_DISABLE_OBSOLETE_KEYIO
2532 IMGUI_API
void DeleteChars(
int pos,
int bytes_count);
2533 IMGUI_API
void InsertChars(
int pos,
const char* text,
const char* text_end = NULL);
2598#define IM_UNICODE_CODEPOINT_INVALID 0xFFFD
2599#ifdef IMGUI_USE_WCHAR32
2600#define IM_UNICODE_CODEPOINT_MAX 0x10FFFF
2602#define IM_UNICODE_CODEPOINT_MAX 0xFFFF
2618 IMGUI_API
bool Draw(
const char* label =
"Filter (inc,-exc)",
float width = 0.0f);
2619 IMGUI_API
bool PassFilter(
const char* text,
const char* text_end = NULL)
const;
2620 IMGUI_API
void Build();
2656 IMGUI_API
void append(
const char* str,
const char* str_end = NULL);
2657 IMGUI_API
void appendf(
const char* fmt, ...) IM_FMTARGS(2);
2658 IMGUI_API
void appendfv(const
char* fmt, va_list args) IM_FMTLIST(2);
2688 IMGUI_API
int GetInt(ImGuiID key,
int default_val = 0)
const;
2689 IMGUI_API
void SetInt(ImGuiID key,
int val);
2690 IMGUI_API
bool GetBool(ImGuiID key,
bool default_val =
false)
const;
2691 IMGUI_API
void SetBool(ImGuiID key,
bool val);
2692 IMGUI_API
float GetFloat(ImGuiID key,
float default_val = 0.0f)
const;
2693 IMGUI_API
void SetFloat(ImGuiID key,
float val);
2694 IMGUI_API
void* GetVoidPtr(ImGuiID key)
const;
2695 IMGUI_API
void SetVoidPtr(ImGuiID key,
void* val);
2701 IMGUI_API
int* GetIntRef(ImGuiID key,
int default_val = 0);
2702 IMGUI_API
bool* GetBoolRef(ImGuiID key,
bool default_val =
false);
2703 IMGUI_API
float* GetFloatRef(ImGuiID key,
float default_val = 0.0f);
2704 IMGUI_API
void** GetVoidPtrRef(ImGuiID key,
void* default_val = NULL);
2707 IMGUI_API
void BuildSortByKey();
2709 IMGUI_API
void SetAllInt(
int val);
2711#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
2751 IMGUI_API
void Begin(
int items_count,
float items_height = -1.0f);
2752 IMGUI_API
void End();
2753 IMGUI_API
bool Step();
2758 IMGUI_API
void IncludeItemsByIndex(
int item_begin,
int item_end);
2763 IMGUI_API
void SeekCursorForItem(
int item_index);
2765#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
2776#ifdef IMGUI_DEFINE_MATH_OPERATORS
2777#define IMGUI_DEFINE_MATH_OPERATORS_IMPLEMENTED
2778IM_MSVC_RUNTIME_CHECKS_OFF
2779static inline ImVec2 operator*(
const ImVec2& lhs,
const float rhs) {
return ImVec2(lhs.
x * rhs, lhs.
y * rhs); }
2780static inline ImVec2 operator/(
const ImVec2& lhs,
const float rhs) {
return ImVec2(lhs.
x / rhs, lhs.
y / rhs); }
2781static inline ImVec2 operator+(
const ImVec2& lhs,
const ImVec2& rhs) {
return ImVec2(lhs.
x + rhs.
x, lhs.
y + rhs.
y); }
2782static inline ImVec2 operator-(
const ImVec2& lhs,
const ImVec2& rhs) {
return ImVec2(lhs.
x - rhs.
x, lhs.
y - rhs.
y); }
2783static inline ImVec2 operator*(
const ImVec2& lhs,
const ImVec2& rhs) {
return ImVec2(lhs.
x * rhs.
x, lhs.
y * rhs.
y); }
2784static inline ImVec2 operator/(
const ImVec2& lhs,
const ImVec2& rhs) {
return ImVec2(lhs.
x / rhs.
x, lhs.
y / rhs.
y); }
2785static inline ImVec2 operator-(
const ImVec2& lhs) {
return ImVec2(-lhs.
x, -lhs.
y); }
2786static inline ImVec2& operator*=(ImVec2& lhs,
const float rhs) { lhs.
x *= rhs; lhs.
y *= rhs;
return lhs; }
2787static inline ImVec2& operator/=(ImVec2& lhs,
const float rhs) { lhs.
x /= rhs; lhs.
y /= rhs;
return lhs; }
2788static inline ImVec2& operator+=(ImVec2& lhs,
const ImVec2& rhs) { lhs.
x += rhs.
x; lhs.
y += rhs.
y;
return lhs; }
2789static inline ImVec2& operator-=(ImVec2& lhs,
const ImVec2& rhs) { lhs.
x -= rhs.
x; lhs.
y -= rhs.
y;
return lhs; }
2790static inline ImVec2& operator*=(ImVec2& lhs,
const ImVec2& rhs) { lhs.
x *= rhs.
x; lhs.
y *= rhs.
y;
return lhs; }
2791static inline ImVec2& operator/=(ImVec2& lhs,
const ImVec2& rhs) { lhs.
x /= rhs.
x; lhs.
y /= rhs.
y;
return lhs; }
2792static inline bool operator==(
const ImVec2& lhs,
const ImVec2& rhs) {
return lhs.
x == rhs.
x && lhs.
y == rhs.
y; }
2793static inline bool operator!=(
const ImVec2& lhs,
const ImVec2& rhs) {
return lhs.
x != rhs.
x || lhs.
y != rhs.
y; }
2794static inline ImVec4 operator+(
const ImVec4& lhs,
const ImVec4& rhs) {
return ImVec4(lhs.
x + rhs.
x, lhs.
y + rhs.
y, lhs.
z + rhs.
z, lhs.
w + rhs.
w); }
2795static inline ImVec4 operator-(
const ImVec4& lhs,
const ImVec4& rhs) {
return ImVec4(lhs.
x - rhs.
x, lhs.
y - rhs.
y, lhs.
z - rhs.
z, lhs.
w - rhs.
w); }
2796static inline ImVec4 operator*(
const ImVec4& lhs,
const ImVec4& rhs) {
return ImVec4(lhs.
x * rhs.
x, lhs.
y * rhs.
y, lhs.
z * rhs.
z, lhs.
w * rhs.
w); }
2797static inline bool operator==(
const ImVec4& lhs,
const ImVec4& rhs) {
return lhs.
x == rhs.
x && lhs.
y == rhs.
y && lhs.
z == rhs.
z && lhs.
w == rhs.
w; }
2798static inline bool operator!=(
const ImVec4& lhs,
const ImVec4& rhs) {
return lhs.
x != rhs.
x || lhs.
y != rhs.
y || lhs.
z != rhs.
z || lhs.
w != rhs.
w; }
2799IM_MSVC_RUNTIME_CHECKS_RESTORE
2804#ifndef IM_COL32_R_SHIFT
2805#ifdef IMGUI_USE_BGRA_PACKED_COLOR
2806#define IM_COL32_R_SHIFT 16
2807#define IM_COL32_G_SHIFT 8
2808#define IM_COL32_B_SHIFT 0
2809#define IM_COL32_A_SHIFT 24
2810#define IM_COL32_A_MASK 0xFF000000
2812#define IM_COL32_R_SHIFT 0
2813#define IM_COL32_G_SHIFT 8
2814#define IM_COL32_B_SHIFT 16
2815#define IM_COL32_A_SHIFT 24
2816#define IM_COL32_A_MASK 0xFF000000
2819#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))
2820#define IM_COL32_WHITE IM_COL32(255,255,255,255)
2821#define IM_COL32_BLACK IM_COL32(0,0,0,255)
2822#define IM_COL32_BLACK_TRANS IM_COL32(0,0,0,0)
2833 constexpr ImColor(
float r,
float g,
float b,
float a = 1.0f) :
Value(r, g, b, a) { }
2835 constexpr ImColor(
int r,
int g,
int b,
int a = 255) :
Value((float)r * (1.0f / 255.0f), (float)g * (1.0f / 255.0f), (float)b * (1.0f / 255.0f), (float)a* (1.0f / 255.0f)) {}
2836 constexpr ImColor(ImU32 rgba) :
Value((float)((rgba >> IM_COL32_R_SHIFT) & 0xFF) * (1.0f / 255.0f), (float)((rgba >> IM_COL32_G_SHIFT) & 0xFF) * (1.0f / 255.0f), (float)((rgba >> IM_COL32_B_SHIFT) & 0xFF) * (1.0f / 255.0f), (float)((rgba >> IM_COL32_A_SHIFT) & 0xFF) * (1.0f / 255.0f)) {}
2842 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); }
2884enum ImGuiMultiSelectFlags_
2886 ImGuiMultiSelectFlags_None = 0,
2887 ImGuiMultiSelectFlags_SingleSelect = 1 << 0,
2888 ImGuiMultiSelectFlags_NoSelectAll = 1 << 1,
2889 ImGuiMultiSelectFlags_NoRangeSelect = 1 << 2,
2890 ImGuiMultiSelectFlags_NoAutoSelect = 1 << 3,
2891 ImGuiMultiSelectFlags_NoAutoClear = 1 << 4,
2892 ImGuiMultiSelectFlags_NoAutoClearOnReselect = 1 << 5,
2893 ImGuiMultiSelectFlags_BoxSelect1d = 1 << 6,
2894 ImGuiMultiSelectFlags_BoxSelect2d = 1 << 7,
2895 ImGuiMultiSelectFlags_BoxSelectNoScroll = 1 << 8,
2896 ImGuiMultiSelectFlags_ClearOnEscape = 1 << 9,
2897 ImGuiMultiSelectFlags_ClearOnClickVoid = 1 << 10,
2898 ImGuiMultiSelectFlags_ScopeWindow = 1 << 11,
2899 ImGuiMultiSelectFlags_ScopeRect = 1 << 12,
2900 ImGuiMultiSelectFlags_SelectOnClick = 1 << 13,
2901 ImGuiMultiSelectFlags_SelectOnClickRelease = 1 << 14,
2903 ImGuiMultiSelectFlags_NavWrapX = 1 << 16,
2923enum ImGuiSelectionRequestType
2925 ImGuiSelectionRequestType_None = 0,
2926 ImGuiSelectionRequestType_SetAll,
2927 ImGuiSelectionRequestType_SetRange,
2970 IMGUI_API
bool Contains(ImGuiID
id)
const;
2971 IMGUI_API
void Clear();
2997#ifndef IM_DRAWLIST_TEX_LINES_WIDTH_MAX
2998#define IM_DRAWLIST_TEX_LINES_WIDTH_MAX (63)
3008#ifndef ImDrawCallback
3016#define ImDrawCallback_ResetRenderState (ImDrawCallback)(-8)
3040#ifndef IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT
3052IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT;
3082 IMGUI_API
void ClearFreeMemory();
3083 IMGUI_API
void Split(
ImDrawList* draw_list,
int count);
3085 IMGUI_API
void SetCurrentChannel(
ImDrawList* draw_list,
int channel_idx);
3092 ImDrawFlags_None = 0,
3093 ImDrawFlags_Closed = 1 << 0,
3094 ImDrawFlags_RoundCornersTopLeft = 1 << 4,
3095 ImDrawFlags_RoundCornersTopRight = 1 << 5,
3096 ImDrawFlags_RoundCornersBottomLeft = 1 << 6,
3097 ImDrawFlags_RoundCornersBottomRight = 1 << 7,
3098 ImDrawFlags_RoundCornersNone = 1 << 8,
3099 ImDrawFlags_RoundCornersTop = ImDrawFlags_RoundCornersTopLeft | ImDrawFlags_RoundCornersTopRight,
3100 ImDrawFlags_RoundCornersBottom = ImDrawFlags_RoundCornersBottomLeft | ImDrawFlags_RoundCornersBottomRight,
3101 ImDrawFlags_RoundCornersLeft = ImDrawFlags_RoundCornersBottomLeft | ImDrawFlags_RoundCornersTopLeft,
3102 ImDrawFlags_RoundCornersRight = ImDrawFlags_RoundCornersBottomRight | ImDrawFlags_RoundCornersTopRight,
3103 ImDrawFlags_RoundCornersAll = ImDrawFlags_RoundCornersTopLeft | ImDrawFlags_RoundCornersTopRight | ImDrawFlags_RoundCornersBottomLeft | ImDrawFlags_RoundCornersBottomRight,
3104 ImDrawFlags_RoundCornersDefault_ = ImDrawFlags_RoundCornersAll,
3105 ImDrawFlags_RoundCornersMask_ = ImDrawFlags_RoundCornersAll | ImDrawFlags_RoundCornersNone,
3110enum ImDrawListFlags_
3112 ImDrawListFlags_None = 0,
3113 ImDrawListFlags_AntiAliasedLines = 1 << 0,
3114 ImDrawListFlags_AntiAliasedLinesUseTex = 1 << 1,
3115 ImDrawListFlags_AntiAliasedFill = 1 << 2,
3116 ImDrawListFlags_AllowVtxOffset = 1 << 3,
3153 IMGUI_API
void PushClipRect(
const ImVec2& clip_rect_min,
const ImVec2& clip_rect_max,
bool intersect_with_current_clip_rect =
false);
3154 IMGUI_API
void PushClipRectFullScreen();
3155 IMGUI_API
void PopClipRect();
3156 IMGUI_API
void PushTextureID(ImTextureID texture_id);
3157 IMGUI_API
void PopTextureID();
3168 IMGUI_API
void AddLine(
const ImVec2& p1,
const ImVec2& p2, ImU32 col,
float thickness = 1.0f);
3169 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);
3170 IMGUI_API
void AddRectFilled(
const ImVec2& p_min,
const ImVec2& p_max, ImU32 col,
float rounding = 0.0f, ImDrawFlags flags = 0);
3171 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);
3172 IMGUI_API
void AddQuad(
const ImVec2& p1,
const ImVec2& p2,
const ImVec2& p3,
const ImVec2& p4, ImU32 col,
float thickness = 1.0f);
3174 IMGUI_API
void AddTriangle(
const ImVec2& p1,
const ImVec2& p2,
const ImVec2& p3, ImU32 col,
float thickness = 1.0f);
3175 IMGUI_API
void AddTriangleFilled(
const ImVec2& p1,
const ImVec2& p2,
const ImVec2& p3, ImU32 col);
3176 IMGUI_API
void AddCircle(
const ImVec2& center,
float radius, ImU32 col,
int num_segments = 0,
float thickness = 1.0f);
3177 IMGUI_API
void AddCircleFilled(
const ImVec2& center,
float radius, ImU32 col,
int num_segments = 0);
3178 IMGUI_API
void AddNgon(
const ImVec2& center,
float radius, ImU32 col,
int num_segments,
float thickness = 1.0f);
3179 IMGUI_API
void AddNgonFilled(
const ImVec2& center,
float radius, ImU32 col,
int num_segments);
3180 IMGUI_API
void AddEllipse(
const ImVec2& center,
const ImVec2& radius, ImU32 col,
float rot = 0.0f,
int num_segments = 0,
float thickness = 1.0f);
3181 IMGUI_API
void AddEllipseFilled(
const ImVec2& center,
const ImVec2& radius, ImU32 col,
float rot = 0.0f,
int num_segments = 0);
3182 IMGUI_API
void AddText(
const ImVec2& pos, ImU32 col,
const char* text_begin,
const char* text_end = NULL);
3183 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);
3184 IMGUI_API
void AddBezierCubic(
const ImVec2& p1,
const ImVec2& p2,
const ImVec2& p3,
const ImVec2& p4, ImU32 col,
float thickness,
int num_segments = 0);
3185 IMGUI_API
void AddBezierQuadratic(
const ImVec2& p1,
const ImVec2& p2,
const ImVec2& p3, ImU32 col,
float thickness,
int num_segments = 0);
3190 IMGUI_API
void AddPolyline(
const ImVec2* points,
int num_points, ImU32 col, ImDrawFlags flags,
float thickness);
3191 IMGUI_API
void AddConvexPolyFilled(
const ImVec2* points,
int num_points, ImU32 col);
3192 IMGUI_API
void AddConcavePolyFilled(
const ImVec2* points,
int num_points, ImU32 col);
3198 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);
3199 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);
3200 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);
3211 IMGUI_API
void PathArcTo(
const ImVec2& center,
float radius,
float a_min,
float a_max,
int num_segments = 0);
3212 IMGUI_API
void PathArcToFast(
const ImVec2& center,
float radius,
int a_min_of_12,
int a_max_of_12);
3213 IMGUI_API
void PathEllipticalArcTo(
const ImVec2& center,
const ImVec2& radius,
float rot,
float a_min,
float a_max,
int num_segments = 0);
3214 IMGUI_API
void PathBezierCubicCurveTo(
const ImVec2& p2,
const ImVec2& p3,
const ImVec2& p4,
int num_segments = 0);
3215 IMGUI_API
void PathBezierQuadraticCurveTo(
const ImVec2& p2,
const ImVec2& p3,
int num_segments = 0);
3216 IMGUI_API
void PathRect(
const ImVec2& rect_min,
const ImVec2& rect_max,
float rounding = 0.0f, ImDrawFlags flags = 0);
3219 IMGUI_API
void AddCallback(ImDrawCallback callback,
void* callback_data);
3220 IMGUI_API
void AddDrawCmd();
3236 IMGUI_API
void PrimReserve(
int idx_count,
int vtx_count);
3237 IMGUI_API
void PrimUnreserve(
int idx_count,
int vtx_count);
3238 IMGUI_API
void PrimRect(
const ImVec2& a,
const ImVec2& b, ImU32 col);
3253 IMGUI_API
void _ResetForNewFrame();
3254 IMGUI_API
void _ClearFreeMemory();
3255 IMGUI_API
void _PopUnusedDrawCmd();
3256 IMGUI_API
void _TryMergeDrawCmds();
3257 IMGUI_API
void _OnChangedClipRect();
3258 IMGUI_API
void _OnChangedTextureID();
3259 IMGUI_API
void _OnChangedVtxOffset();
3260 IMGUI_API
int _CalcCircleAutoSegmentCount(
float radius)
const;
3261 IMGUI_API
void _PathArcToFastEx(
const ImVec2& center,
float radius,
int a_min_sample,
int a_max_sample,
int a_step);
3262 IMGUI_API
void _PathArcToN(
const ImVec2& center,
float radius,
float a_min,
float a_max,
int num_segments);
3282 IMGUI_API
void Clear();
3283 IMGUI_API
void AddDrawList(
ImDrawList* draw_list);
3284 IMGUI_API
void DeIndexAllBuffers();
3285 IMGUI_API
void ScaleClipRects(
const ImVec2& fb_scale);
3339 inline void Clear() {
int size_in_bytes = (IM_UNICODE_CODEPOINT_MAX + 1) / 8;
UsedChars.resize(size_in_bytes / (
int)
sizeof(ImU32)); memset(
UsedChars.Data, 0, (
size_t)size_in_bytes); }
3340 inline bool GetBit(
size_t n)
const {
int off = (int)(n >> 5); ImU32 mask = 1u << (n & 31);
return (
UsedChars[off] & mask) != 0; }
3341 inline void SetBit(
size_t n) {
int off = (int)(n >> 5); ImU32 mask = 1u << (n & 31);
UsedChars[off] |= mask; }
3343 IMGUI_API
void AddText(
const char* text,
const char* text_end = NULL);
3344 IMGUI_API
void AddRanges(
const ImWchar* ranges);
3362enum ImFontAtlasFlags_
3364 ImFontAtlasFlags_None = 0,
3365 ImFontAtlasFlags_NoPowerOfTwoHeight = 1 << 0,
3366 ImFontAtlasFlags_NoMouseCursors = 1 << 1,
3367 ImFontAtlasFlags_NoBakedLines = 1 << 2,
3400 IMGUI_API
void Clear();
3407 IMGUI_API
bool Build();
3408 IMGUI_API
void GetTexDataAsAlpha8(
unsigned char** out_pixels,
int* out_width,
int* out_height,
int* out_bytes_per_pixel = NULL);
3409 IMGUI_API
void GetTexDataAsRGBA32(
unsigned char** out_pixels,
int* out_width,
int* out_height,
int* out_bytes_per_pixel = NULL);
3421 IMGUI_API
const ImWchar* GetGlyphRangesDefault();
3422 IMGUI_API
const ImWchar* GetGlyphRangesGreek();
3423 IMGUI_API
const ImWchar* GetGlyphRangesKorean();
3424 IMGUI_API
const ImWchar* GetGlyphRangesJapanese();
3425 IMGUI_API
const ImWchar* GetGlyphRangesChineseFull();
3426 IMGUI_API
const ImWchar* GetGlyphRangesChineseSimplifiedCommon();
3427 IMGUI_API
const ImWchar* GetGlyphRangesCyrillic();
3428 IMGUI_API
const ImWchar* GetGlyphRangesThai();
3429 IMGUI_API
const ImWchar* GetGlyphRangesVietnamese();
3442 IMGUI_API
int AddCustomRectRegular(
int width,
int height);
3443 IMGUI_API
int AddCustomRectFontGlyph(
ImFont* font, ImWchar
id,
int width,
int height,
float advance_x,
const ImVec2& offset =
ImVec2(0, 0));
3448 IMGUI_API
bool GetMouseCursorTexData(ImGuiMouseCursor cursor,
ImVec2* out_offset,
ImVec2* out_size,
ImVec2 out_uv_border[2],
ImVec2 out_uv_fill[2]);
3529 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;
3530 IMGUI_API
const char* CalcWordWrapPositionA(
float scale,
const char* text,
const char* text_end,
float wrap_width)
const;
3531 IMGUI_API
void RenderChar(
ImDrawList* draw_list,
float size,
const ImVec2& pos, ImU32 col, ImWchar c)
const;
3532 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;
3535 IMGUI_API
void BuildLookupTable();
3536 IMGUI_API
void ClearOutputData();
3537 IMGUI_API
void GrowIndex(
int new_size);
3538 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);
3539 IMGUI_API
void AddRemapChar(ImWchar dst, ImWchar src,
bool overwrite_dst =
true);
3540 IMGUI_API
void SetGlyphVisible(ImWchar c,
bool visible);
3541 IMGUI_API
bool IsGlyphRangeUnused(
unsigned int c_begin,
unsigned int c_last);
3549enum ImGuiViewportFlags_
3551 ImGuiViewportFlags_None = 0,
3552 ImGuiViewportFlags_IsPlatformWindow = 1 << 0,
3553 ImGuiViewportFlags_IsPlatformMonitor = 1 << 1,
3554 ImGuiViewportFlags_OwnedByApp = 1 << 2,
3555 ImGuiViewportFlags_NoDecoration = 1 << 3,
3556 ImGuiViewportFlags_NoTaskBarIcon = 1 << 4,
3557 ImGuiViewportFlags_NoFocusOnAppearing = 1 << 5,
3558 ImGuiViewportFlags_NoFocusOnClick = 1 << 6,
3559 ImGuiViewportFlags_NoInputs = 1 << 7,
3560 ImGuiViewportFlags_NoRendererClear = 1 << 8,
3561 ImGuiViewportFlags_NoAutoMerge = 1 << 9,
3562 ImGuiViewportFlags_TopMost = 1 << 10,
3563 ImGuiViewportFlags_CanHostOtherWindows = 1 << 11,
3566 ImGuiViewportFlags_IsMinimized = 1 << 12,
3567 ImGuiViewportFlags_IsFocused = 1 << 13,
3749#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
3758 static inline bool BeginChildFrame(ImGuiID
id,
const ImVec2& size, ImGuiWindowFlags window_flags = 0) {
return BeginChild(
id, size, ImGuiChildFlags_FrameStyle, window_flags); }
3763 IMGUI_API
bool Combo(
const char* label,
int* current_item,
bool (*old_callback)(
void* user_data,
int idx,
const char** out_text),
void* user_data,
int items_count,
int popup_max_height_in_items = -1);
3764 IMGUI_API
bool ListBox(
const char* label,
int* current_item,
bool (*old_callback)(
void* user_data,
int idx,
const char** out_text),
void* user_data,
int items_count,
int height_in_items = -1);
3766 IMGUI_API
void SetItemAllowOverlap();
3771 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));
3773 IMGUI_API ImGuiKey GetKeyIndex(ImGuiKey key);
3857#define IM_OFFSETOF(_TYPE,_MEMBER) offsetof(_TYPE, _MEMBER)
3862#if defined(IMGUI_DISABLE_METRICS_WINDOW) && !defined(IMGUI_DISABLE_OBSOLETE_FUNCTIONS) && !defined(IMGUI_DISABLE_DEBUG_TOOLS)
3863#define IMGUI_DISABLE_DEBUG_TOOLS
3865#if defined(IMGUI_DISABLE_METRICS_WINDOW) && defined(IMGUI_DISABLE_OBSOLETE_FUNCTIONS)
3866#error IMGUI_DISABLE_METRICS_WINDOW was renamed to IMGUI_DISABLE_DEBUG_TOOLS, please use new name.
3871#if defined(__clang__)
3872#pragma clang diagnostic pop
3873#elif defined(__GNUC__)
3874#pragma GCC diagnostic pop
3878#pragma warning (pop)
3883#ifdef IMGUI_INCLUDE_IMGUI_USER_H
3884#ifdef IMGUI_USER_H_FILENAME
3885#include IMGUI_USER_H_FILENAME
3887#include "imgui_user.h"
Definition imgui.cpp:1176
IMGUI_API void SetCursorPosY(float local_y)
Definition imgui.cpp:11152
static void PopAllowKeyboardFocus()
Definition imgui.h:3769
IMGUI_API int GetFrameCount()
Definition imgui.cpp:4564
IMGUI_API float GetCursorPosX()
Definition imgui.cpp:11124
IMGUI_API void EndDragDropSource()
Definition imgui.cpp:14107
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)
Definition imgui_widgets.cpp:3822
IMGUI_API bool IsAnyItemHovered()
Definition imgui.cpp:5778
IMGUI_API int TableGetColumnIndex()
Definition imgui_tables.cpp:2066
IMGUI_API bool BeginItemTooltip()
Definition imgui.cpp:11684
IMGUI_API void EndGroup()
Definition imgui.cpp:11367
IMGUI_API bool BeginTooltip()
Definition imgui.cpp:11679
IMGUI_API void ColorConvertHSVtoRGB(float h, float s, float v, float &out_r, float &out_g, float &out_b)
Definition imgui.cpp:2591
IMGUI_API void SetScrollX(float scroll_x)
Definition imgui.cpp:11599
IMGUI_API void PopTextWrapPos()
Definition imgui.cpp:8267
IMGUI_API ImVec2 GetContentRegionMax()
Definition imgui.cpp:11299
IMGUI_API void ShowFontSelector(const char *label)
Definition imgui_demo.cpp:7537
IMGUI_API void TableHeadersRow()
Definition imgui_tables.cpp:3031
IMGUI_API bool IsAnyMouseDown()
Definition imgui.cpp:9763
IMGUI_API ImU32 GetColorU32(ImGuiCol idx, float alpha_mul=1.0f)
Definition imgui.cpp:3260
IMGUI_API void Columns(int count=1, const char *id=NULL, bool border=true)
Definition imgui_tables.cpp:4450
IMGUI_API bool IsPopupOpen(const char *str_id, ImGuiPopupFlags flags=0)
Definition imgui.cpp:11806
IMGUI_API bool IsItemVisible()
Definition imgui.cpp:5796
IMGUI_API bool IsMouseDragging(ImGuiMouseButton button, float lock_threshold=-1.0f)
Definition imgui.cpp:9716
IMGUI_API ImGuiMultiSelectIO * BeginMultiSelect(ImGuiMultiSelectFlags flags, int selection_size=-1, int items_count=-1)
Definition imgui_widgets.cpp:7340
IMGUI_API ImGuiID GetItemID()
Definition imgui.cpp:5842
IMGUI_API void TextV(const char *fmt, va_list args) IM_FMTLIST(1)
Definition imgui_widgets.cpp:295
IMGUI_API bool BeginPopup(const char *str_id, ImGuiWindowFlags flags=0)
Definition imgui.cpp:12049
IMGUI_API const char * GetClipboardText()
Definition imgui.cpp:4521
IMGUI_API bool IsItemClicked(ImGuiMouseButton mouse_button=0)
Definition imgui.cpp:5752
IMGUI_API void PushClipRect(const ImVec2 &clip_rect_min, const ImVec2 &clip_rect_max, bool intersect_with_current_clip_rect)
Definition imgui.cpp:5295
IMGUI_API void SetWindowFontScale(float scale)
Definition imgui.cpp:8733
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)
Definition imgui_widgets.cpp:2680
IMGUI_API void SetNextItemWidth(float item_width)
Definition imgui.cpp:11183
IMGUI_API void PopStyleVar(int count=1)
Definition imgui.cpp:3410
IMGUI_API void EndMenu()
Definition imgui_widgets.cpp:8822
IMGUI_API void SetNextWindowSizeConstraints(const ImVec2 &size_min, const ImVec2 &size_max, ImGuiSizeCallback custom_callback=NULL, void *custom_callback_data=NULL)
Definition imgui.cpp:8621
IMGUI_API const ImGuiPayload * GetDragDropPayload()
Definition imgui.cpp:14289
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)
Definition imgui_widgets.cpp:2593
IMGUI_API void TableAngledHeadersRow()
Definition imgui_tables.cpp:3214
IMGUI_API void Separator()
Definition imgui_widgets.cpp:1616
IMGUI_API ImGuiMultiSelectIO * EndMultiSelect()
Definition imgui_widgets.cpp:7458
IMGUI_API int TableGetHoveredColumn()
Definition imgui_tables.cpp:1770
IMGUI_API ImGuiViewport * FindViewportByID(ImGuiID id)
Definition imgui.cpp:14992
IMGUI_API void Value(const char *prefix, bool b)
Definition imgui_widgets.cpp:8340
static void ShowStackToolWindow(bool *p_open=NULL)
Definition imgui.h:3762
IMGUI_API int TableGetRowIndex()
Definition imgui_tables.cpp:1844
IMGUI_API void StyleColorsClassic(ImGuiStyle *dst=NULL)
Definition imgui_draw.cpp:263
IMGUI_API const char * GetKeyName(ImGuiKey key)
Definition imgui.cpp:9184
IMGUI_API bool TabItemButton(const char *label, ImGuiTabItemFlags flags=0)
Definition imgui_widgets.cpp:9799
IMGUI_API bool BeginMenu(const char *label, bool enabled=true)
Definition imgui_widgets.cpp:8817
IMGUI_API bool InvisibleButton(const char *str_id, const ImVec2 &size, ImGuiButtonFlags flags=0)
Definition imgui_widgets.cpp:781
IMGUI_API bool TreeNodeEx(const char *label, ImGuiTreeNodeFlags flags=0)
Definition imgui_widgets.cpp:6259
IMGUI_API bool IsMousePosValid(const ImVec2 *mouse_pos=NULL)
Definition imgui.cpp:9752
IMGUI_API ImVec2 GetMouseDragDelta(ImGuiMouseButton button=0, float lock_threshold=-1.0f)
Definition imgui.cpp:9775
IMGUI_API void EndFrame()
Definition imgui.cpp:5433
static void PopButtonRepeat()
Definition imgui.h:3754
IMGUI_API bool TreeNodeExV(const char *str_id, ImGuiTreeNodeFlags flags, const char *fmt, va_list args) IM_FMTLIST(3)
Definition imgui_widgets.cpp:6286
IMGUI_API void Spacing()
Definition imgui_widgets.cpp:1502
IMGUI_API const char * GetStyleColorName(ImGuiCol idx)
Definition imgui.cpp:3431
IMGUI_API void MemFree(void *ptr)
Definition imgui.cpp:4485
IMGUI_API void StyleColorsDark(ImGuiStyle *dst=NULL)
Definition imgui_draw.cpp:198
IMGUI_API const char * SaveIniSettingsToMemory(size_t *out_ini_size=NULL)
Definition imgui.cpp:14750
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)
Definition imgui_widgets.cpp:2790
IMGUI_API void PushID(const char *str_id)
Definition imgui.cpp:8946
IMGUI_API void SetCurrentContext(ImGuiContext *ctx)
Definition imgui.cpp:3764
IMGUI_API ImGuiID DockSpaceOverViewport(ImGuiID dockspace_id=0, const ImGuiViewport *viewport=NULL, ImGuiDockNodeFlags flags=0, const ImGuiWindowClass *window_class=NULL)
Definition imgui.cpp:18896
IMGUI_API bool ColorPicker3(const char *label, float col[3], ImGuiColorEditFlags flags=0)
Definition imgui_widgets.cpp:5583
IMGUI_API ImDrawListSharedData * GetDrawListSharedData()
Definition imgui.cpp:4607
IMGUI_API bool IsWindowCollapsed()
Definition imgui.cpp:8561
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))
Definition imgui_widgets.cpp:8311
IMGUI_API bool IsMouseDoubleClicked(ImGuiMouseButton button)
Definition imgui.cpp:9664
IMGUI_API bool IsMouseClicked(ImGuiMouseButton button, bool repeat=false)
Definition imgui.cpp:9623
IMGUI_API bool IsItemActive()
Definition imgui.cpp:5703
IMGUI_API void LogFinish()
Definition imgui.cpp:14490
IMGUI_API bool BeginListBox(const char *label, const ImVec2 &size=ImVec2(0, 0))
Definition imgui_widgets.cpp:8063
IMGUI_API bool IsItemToggledOpen()
Definition imgui.cpp:5757
IMGUI_API ImVec2 GetCursorPos()
Definition imgui.cpp:11118
IMGUI_API ImVec2 GetFontTexUvWhitePixel()
Definition imgui.cpp:8728
IMGUI_API void TreePush(const char *str_id)
Definition imgui_widgets.cpp:6642
IMGUI_API void SetTooltip(const char *fmt,...) IM_FMTARGS(1)
Definition imgui.cpp:11736
IMGUI_API ImGuiIO & GetIO()
Definition imgui.cpp:4539
IMGUI_API void SetScrollHereX(float center_x_ratio=0.5f)
Definition imgui.cpp:11650
IMGUI_API void DebugTextEncoding(const char *text)
Definition imgui.cpp:20270
IMGUI_API ImVec2 GetItemRectSize()
Definition imgui.cpp:5860
IMGUI_API ImGuiID GetID(const char *str_id)
Definition imgui.cpp:9022
IMGUI_API void TableNextRow(ImGuiTableRowFlags row_flags=0, float min_row_height=0.0f)
Definition imgui_tables.cpp:1854
IMGUI_API void SetNextWindowScroll(const ImVec2 &scroll)
Definition imgui.cpp:8639
IMGUI_API void SeparatorText(const char *label)
Definition imgui_widgets.cpp:1684
IMGUI_API void SetItemTooltip(const char *fmt,...) IM_FMTARGS(1)
Definition imgui.cpp:11754
IMGUI_API void TextColored(const ImVec4 &col, const char *fmt,...) IM_FMTARGS(2)
Definition imgui_widgets.cpp:306
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)
Definition imgui_widgets.cpp:3756
IMGUI_API bool InputInt(const char *label, int *v, int step=1, int step_fast=100, ImGuiInputTextFlags flags=0)
Definition imgui_widgets.cpp:3776
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)
Definition imgui_widgets.cpp:2769
IMGUI_API void SetItemDefaultFocus()
Definition imgui.cpp:8853
IMGUI_API bool Button(const char *label, const ImVec2 &size=ImVec2(0, 0))
Definition imgui_widgets.cpp:763
IMGUI_API void OpenPopupOnItemClick(const char *str_id=NULL, ImGuiPopupFlags popup_flags=1)
Definition imgui.cpp:12121
IMGUI_API void SetTooltipV(const char *fmt, va_list args) IM_FMTLIST(1)
Definition imgui.cpp:11744
IMGUI_API const char * TableGetColumnName(int column_n=-1)
Definition imgui_tables.cpp:1685
IMGUI_API bool InputInt4(const char *label, int v[4], ImGuiInputTextFlags flags=0)
Definition imgui_widgets.cpp:3793
IMGUI_API ImGuiMouseCursor GetMouseCursor()
Definition imgui.cpp:9800
IMGUI_API void TableSetupScrollFreeze(int cols, int rows)
Definition imgui_tables.cpp:1635
IMGUI_API int GetColumnsCount()
Definition imgui_tables.cpp:4066
IMGUI_API float GetScrollY()
Definition imgui.cpp:11567
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)
Definition imgui_widgets.cpp:3418
IMGUI_API float GetColumnWidth(int column_index=-1)
Definition imgui_tables.cpp:4130
IMGUI_API ImVec2 GetItemRectMax()
Definition imgui.cpp:5854
IMGUI_API bool ColorPicker4(const char *label, float col[4], ImGuiColorEditFlags flags=0, const float *ref_col=NULL)
Definition imgui_widgets.cpp:5606
IMGUI_API ImGuiID DockSpace(ImGuiID dockspace_id, const ImVec2 &size=ImVec2(0, 0), ImGuiDockNodeFlags flags=0, const ImGuiWindowClass *window_class=NULL)
Definition imgui.cpp:18788
IMGUI_API void SetNextWindowCollapsed(bool collapsed, ImGuiCond cond=0)
Definition imgui.cpp:8646
IMGUI_API ImGuiPlatformIO & GetPlatformIO()
Definition imgui.cpp:4545
IMGUI_API double GetTime()
Definition imgui.cpp:4559
IMGUI_API ImVec2 GetContentRegionAvail()
Definition imgui.cpp:11316
IMGUI_API void ProgressBar(float fraction, const ImVec2 &size_arg=ImVec2(-FLT_MIN, 0), const char *overlay=NULL)
Definition imgui_widgets.cpp:1337
IMGUI_API ImVec2 GetWindowPos()
Definition imgui.cpp:8443
IMGUI_API void SetScrollY(float scroll_y)
Definition imgui.cpp:11605
IMGUI_API void TreePop()
Definition imgui_widgets.cpp:6667
static void PushTabStop(bool tab_stop)
Definition imgui.h:3755
IMGUI_API void BeginGroup()
Definition imgui.cpp:11338
IMGUI_API void EndTabItem()
Definition imgui_widgets.cpp:9780
IMGUI_API ImFont * GetFont()
Definition imgui.cpp:8718
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)
Definition imgui_widgets.cpp:2730
IMGUI_API bool BeginPopupContextItem(const char *str_id=NULL, ImGuiPopupFlags popup_flags=1)
Definition imgui.cpp:12150
IMGUI_API bool ListBox(const char *label, int *current_item, const char *const items[], int items_count, int height_in_items=-1)
Definition imgui_widgets.cpp:8115
IMGUI_API float GetWindowHeight()
Definition imgui.cpp:8437
IMGUI_API bool SetDragDropPayload(const char *type, const void *data, size_t sz, ImGuiCond cond=0)
Definition imgui.cpp:14123
IMGUI_API float GetWindowWidth()
Definition imgui.cpp:8431
IMGUI_API bool IsKeyPressed(ImGuiKey key, bool repeat=true)
Definition imgui.cpp:9549
IMGUI_API int GetKeyPressedAmount(ImGuiKey key, float repeat_delay, float rate)
Definition imgui.cpp:9261
IMGUI_API bool BeginMenuBar()
Definition imgui_widgets.cpp:8430
IMGUI_API ImDrawList * GetBackgroundDrawList(ImGuiViewport *viewport=NULL)
Definition imgui.cpp:4593
IMGUI_API void SetNextItemOpen(bool is_open, ImGuiCond cond=0)
Definition imgui_widgets.cpp:6702
IMGUI_API void TableSetupColumn(const char *label, ImGuiTableColumnFlags flags=0, float init_width_or_weight=0.0f, ImGuiID user_id=0)
Definition imgui_tables.cpp:1561
IMGUI_API void PushItemWidth(float item_width)
Definition imgui.cpp:11191
IMGUI_API void LoadIniSettingsFromDisk(const char *ini_filename)
Definition imgui.cpp:14650
IMGUI_API bool BeginTabItem(const char *label, bool *p_open=NULL, ImGuiTabItemFlags flags=0)
Definition imgui_widgets.cpp:9756
IMGUI_API bool TreeNode(const char *label)
Definition imgui_widgets.cpp:6240
IMGUI_API ImGuiContext * CreateContext(ImFontAtlas *shared_font_atlas=NULL)
Definition imgui.cpp:3788
IMGUI_API void SetCursorPos(const ImVec2 &local_pos)
Definition imgui.cpp:11136
IMGUI_API bool IsWindowFocused(ImGuiFocusedFlags flags=0)
Definition imgui.cpp:8388
IMGUI_API ImGuiViewport * FindViewportByPlatformHandle(void *platform_handle)
Definition imgui.cpp:15001
IMGUI_API void End()
Definition imgui.cpp:7903
IMGUI_API bool BeginMainMenuBar()
Definition imgui_widgets.cpp:8546
IMGUI_API void LabelTextV(const char *label, const char *fmt, va_list args) IM_FMTLIST(2)
Definition imgui_widgets.cpp:365
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)
Definition imgui_widgets.cpp:2774
IMGUI_API bool IsItemActivated()
Definition imgui.cpp:5711
IMGUI_API bool IsRectVisible(const ImVec2 &size)
Definition imgui.cpp:8883
IMGUI_API bool Checkbox(const char *label, bool *v)
Definition imgui_widgets.cpp:1151
IMGUI_API bool SliderInt(const char *label, int *v, int v_min, int v_max, const char *format="%d", ImGuiSliderFlags flags=0)
Definition imgui_widgets.cpp:3333
IMGUI_API bool Begin(const char *name, bool *p_open=NULL, ImGuiWindowFlags flags=0)
Definition imgui.cpp:6978
IMGUI_API bool Shortcut(ImGuiKeyChord key_chord, ImGuiInputFlags flags=0)
Definition imgui.cpp:10524
IMGUI_API bool ColorEdit3(const char *label, float col[3], ImGuiColorEditFlags flags=0)
Definition imgui_widgets.cpp:5299
IMGUI_API void TextDisabledV(const char *fmt, va_list args) IM_FMTLIST(1)
Definition imgui_widgets.cpp:329
IMGUI_API bool SmallButton(const char *label)
Definition imgui_widgets.cpp:769
IMGUI_API void SetStateStorage(ImGuiStorage *storage)
Definition imgui.cpp:8871
IMGUI_API float GetTreeNodeToLabelSpacing()
Definition imgui_widgets.cpp:6695
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)
Definition imgui_widgets.cpp:2784
IMGUI_API const ImGuiPayload * AcceptDragDropPayload(const char *type, ImGuiDragDropFlags flags=0)
Definition imgui.cpp:14232
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)
Definition imgui_widgets.cpp:2725
IMGUI_API void SetCursorScreenPos(const ImVec2 &pos)
Definition imgui.cpp:11108
IMGUI_API void EndCombo()
Definition imgui_widgets.cpp:1973
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)
Definition imgui_widgets.cpp:3268
IMGUI_API const char * GetVersion()
Definition imgui.cpp:4534
IMGUI_API bool IsItemEdited()
Definition imgui.cpp:5802
IMGUI_API void SetWindowSize(const ImVec2 &size, ImGuiCond cond=0)
Definition imgui.cpp:8521
static void PushAllowKeyboardFocus(bool tab_stop)
Definition imgui.h:3768
IMGUI_API ImVec2 GetItemRectMin()
Definition imgui.cpp:5848
IMGUI_API bool SliderFloat2(const char *label, float v[2], float v_min, float v_max, const char *format="%.3f", ImGuiSliderFlags flags=0)
Definition imgui_widgets.cpp:3308
IMGUI_API void TextLinkOpenURL(const char *label, const char *url=NULL)
Definition imgui_widgets.cpp:1472
IMGUI_API void SetScrollFromPosY(float local_y, float center_y_ratio=0.5f)
Definition imgui.cpp:11643
IMGUI_API bool BeginPopupContextVoid(const char *str_id=NULL, ImGuiPopupFlags popup_flags=1)
Definition imgui.cpp:12178
IMGUI_API bool InputFloat4(const char *label, float v[4], const char *format="%.3f", ImGuiInputTextFlags flags=0)
Definition imgui_widgets.cpp:3771
IMGUI_API void EndListBox()
Definition imgui_widgets.cpp:8104
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)
Definition imgui_widgets.cpp:3353
IMGUI_API void RenderPlatformWindowsDefault(void *platform_render_arg=NULL, void *renderer_render_arg=NULL)
Definition imgui.cpp:15828
IMGUI_API bool RadioButton(const char *label, bool active)
Definition imgui_widgets.cpp:1273
IMGUI_API void Indent(float indent_w=0.0f)
Definition imgui.cpp:11166
IMGUI_API bool BeginPopupModal(const char *name, bool *p_open=NULL, ImGuiWindowFlags flags=0)
Definition imgui.cpp:12066
IMGUI_API float GetScrollX()
Definition imgui.cpp:11561
IMGUI_API void LogToClipboard(int auto_open_depth=-1)
Definition imgui.cpp:14474
static void PushButtonRepeat(bool repeat)
Definition imgui.h:3753
IMGUI_API void PushTextWrapPos(float wrap_local_pos_x=0.0f)
Definition imgui.cpp:8260
IMGUI_API ImVec4 ColorConvertU32ToFloat4(ImU32 in)
Definition imgui.cpp:2547
IMGUI_API void ResetMouseDragDelta(ImGuiMouseButton button=0)
Definition imgui.cpp:9788
IMGUI_API void SetItemTooltipV(const char *fmt, va_list args) IM_FMTLIST(1)
Definition imgui.cpp:11763
IMGUI_API ImDrawList * GetForegroundDrawList(ImGuiViewport *viewport=NULL)
Definition imgui.cpp:4600
IMGUI_API void PushStyleColor(ImGuiCol idx, ImU32 col)
Definition imgui.cpp:3294
IMGUI_API void NewLine()
Definition imgui_widgets.cpp:1521
IMGUI_API ImVec2 GetWindowContentRegionMin()
Definition imgui.cpp:11323
IMGUI_API float GetColumnOffset(int column_index=-1)
Definition imgui_tables.cpp:4101
IMGUI_API bool BeginTable(const char *str_id, int columns, ImGuiTableFlags flags=0, const ImVec2 &outer_size=ImVec2(0.0f, 0.0f), float inner_width=0.0f)
Definition imgui_tables.cpp:326
IMGUI_API void SetNextWindowDockID(ImGuiID dock_id, ImGuiCond cond=0)
Definition imgui.cpp:8675
IMGUI_API void LogButtons()
Definition imgui.cpp:14526
IMGUI_API ImGuiViewport * GetMainViewport()
Definition imgui.cpp:14985
IMGUI_API void SetAllocatorFunctions(ImGuiMemAllocFunc alloc_func, ImGuiMemFreeFunc free_func, void *user_data=NULL)
Definition imgui.cpp:3773
IMGUI_API void SetNextWindowBgAlpha(float alpha)
Definition imgui.cpp:8661
IMGUI_API ImGuiTableColumnFlags TableGetColumnFlags(int column_n=-1)
Definition imgui_tables.cpp:1728
IMGUI_API bool IsKeyDown(ImGuiKey key)
Definition imgui.cpp:9534
IMGUI_API bool InputInt2(const char *label, int v[2], ImGuiInputTextFlags flags=0)
Definition imgui_widgets.cpp:3783
IMGUI_API bool ShowStyleSelector(const char *label)
Definition imgui_demo.cpp:7563
IMGUI_API ImVec2 CalcTextSize(const char *text, const char *text_end=NULL, bool hide_text_after_double_hash=false, float wrap_width=-1.0f)
Definition imgui.cpp:5602
IMGUI_API bool InputFloat2(const char *label, float v[2], const char *format="%.3f", ImGuiInputTextFlags flags=0)
Definition imgui_widgets.cpp:3761
IMGUI_API void GetAllocatorFunctions(ImGuiMemAllocFunc *p_alloc_func, ImGuiMemFreeFunc *p_free_func, void **p_user_data)
Definition imgui.cpp:3781
IMGUI_API void EndTabBar()
Definition imgui_widgets.cpp:9102
IMGUI_API bool SliderFloat(const char *label, float *v, float v_min, float v_max, const char *format="%.3f", ImGuiSliderFlags flags=0)
Definition imgui_widgets.cpp:3303
IMGUI_API float GetCursorPosY()
Definition imgui.cpp:11130
IMGUI_API bool IsItemToggledSelection()
Definition imgui.cpp:5768
IMGUI_API void TextColoredV(const ImVec4 &col, const char *fmt, va_list args) IM_FMTLIST(2)
Definition imgui_widgets.cpp:314
IMGUI_API bool TextLink(const char *label)
Definition imgui_widgets.cpp:1423
IMGUI_API bool IsAnyItemFocused()
Definition imgui.cpp:5790
IMGUI_API ImGuiViewport * GetWindowViewport()
Definition imgui.cpp:8711
IMGUI_API void Dummy(const ImVec2 &size)
Definition imgui_widgets.cpp:1510
IMGUI_API bool IsItemDeactivatedAfterEdit()
Definition imgui.cpp:5728
IMGUI_API void SetColumnOffset(int column_index, float offset_x)
Definition imgui_tables.cpp:4143
IMGUI_API float GetFrameHeightWithSpacing()
Definition imgui.cpp:11290
IMGUI_API void LoadIniSettingsFromMemory(const char *ini_data, size_t ini_size=0)
Definition imgui.cpp:14663
IMGUI_API ImGuiID GetWindowDockID()
Definition imgui.cpp:8411
IMGUI_API void TableSetColumnEnabled(int column_n, bool v)
Definition imgui_tables.cpp:1712
IMGUI_API ImVec2 GetCursorStartPos()
Definition imgui.cpp:11160
IMGUI_API void NextColumn()
Definition imgui_tables.cpp:4318
IMGUI_API void LogToFile(int auto_open_depth=-1, const char *filename=NULL)
Definition imgui.cpp:14449
IMGUI_API void TextWrappedV(const char *fmt, va_list args) IM_FMTLIST(1)
Definition imgui_widgets.cpp:345
static void PopTabStop()
Definition imgui.h:3756
IMGUI_API void Image(ImTextureID user_texture_id, const ImVec2 &image_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))
Definition imgui_widgets.cpp:1066
IMGUI_API void TextUnformatted(const char *text, const char *text_end=NULL)
Definition imgui_widgets.cpp:282
IMGUI_API ImVec2 GetWindowContentRegionMax()
Definition imgui.cpp:11329
IMGUI_API bool InputFloat3(const char *label, float v[3], const char *format="%.3f", ImGuiInputTextFlags flags=0)
Definition imgui_widgets.cpp:3766
IMGUI_API void PopStyleColor(int count=1)
Definition imgui.cpp:3316
IMGUI_API float GetWindowDpiScale()
Definition imgui.cpp:8705
IMGUI_API void LogTextV(const char *fmt, va_list args) IM_FMTLIST(1)
Definition imgui.cpp:14341
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)
Definition imgui_widgets.cpp:3413
IMGUI_API bool SliderInt2(const char *label, int v[2], int v_min, int v_max, const char *format="%d", ImGuiSliderFlags flags=0)
Definition imgui_widgets.cpp:3338
IMGUI_API bool IsWindowAppearing()
Definition imgui.cpp:8567
IMGUI_API bool SliderInt4(const char *label, int v[4], int v_min, int v_max, const char *format="%d", ImGuiSliderFlags flags=0)
Definition imgui_widgets.cpp:3348
IMGUI_API bool TreeNodeV(const char *str_id, const char *fmt, va_list args) IM_FMTLIST(2)
Definition imgui_widgets.cpp:6249
IMGUI_API void EndTable()
Definition imgui_tables.cpp:1340
IMGUI_API void OpenPopup(const char *str_id, ImGuiPopupFlags popup_flags=0)
Definition imgui.cpp:11837
IMGUI_API void EndDisabled()
Definition imgui.cpp:8224
IMGUI_API void Text(const char *fmt,...) IM_FMTARGS(1)
Definition imgui_widgets.cpp:287
IMGUI_API bool SliderFloat3(const char *label, float v[3], float v_min, float v_max, const char *format="%.3f", ImGuiSliderFlags flags=0)
Definition imgui_widgets.cpp:3313
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)
Definition imgui.cpp:10580
IMGUI_API ImDrawList * GetWindowDrawList()
Definition imgui.cpp:8699
IMGUI_API float GetTextLineHeightWithSpacing()
Definition imgui.cpp:11278
IMGUI_API bool MenuItem(const char *label, const char *shortcut=NULL, bool selected=false, bool enabled=true)
Definition imgui_widgets.cpp:8916
IMGUI_API void EndMenuBar()
Definition imgui_widgets.cpp:8459
IMGUI_API bool Combo(const char *label, int *current_item, const char *const items[], int items_count, int popup_max_height_in_items=-1)
Definition imgui_widgets.cpp:2105
IMGUI_API ImGuiStorage * GetStateStorage()
Definition imgui.cpp:8877
IMGUI_API void SetClipboardText(const char *text)
Definition imgui.cpp:4527
IMGUI_API void LogText(const char *fmt,...) IM_FMTARGS(1)
Definition imgui.cpp:14329
IMGUI_API void EndPopup()
Definition imgui.cpp:12100
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)
Definition imgui_widgets.cpp:2736
IMGUI_API bool InputText(const char *label, char *buf, size_t buf_size, ImGuiInputTextFlags flags=0, ImGuiInputTextCallback callback=NULL, void *user_data=NULL)
Definition imgui_widgets.cpp:3816
IMGUI_API bool BeginCombo(const char *label, const char *preview_value, ImGuiComboFlags flags=0)
Definition imgui_widgets.cpp:1830
IMGUI_API void PopItemFlag()
Definition imgui.cpp:8195
IMGUI_API void TextDisabled(const char *fmt,...) IM_FMTARGS(1)
Definition imgui_widgets.cpp:321
IMGUI_API ImVec2 GetWindowSize()
Definition imgui.cpp:8486
IMGUI_API void DebugLog(const char *fmt,...) IM_FMTARGS(1)
Definition imgui.cpp:21650
IMGUI_API void SetWindowPos(const ImVec2 &pos, ImGuiCond cond=0)
Definition imgui.cpp:8474
static void EndChildFrame()
Definition imgui.h:3759
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)
Definition imgui_widgets.cpp:2715
IMGUI_API void PushStyleVar(ImGuiStyleVar idx, float val)
Definition imgui.cpp:3382
IMGUI_API float GetTextLineHeight()
Definition imgui.cpp:11272
IMGUI_API void SetTabItemClosed(const char *tab_or_docked_window_label)
Definition imgui_widgets.cpp:10108
IMGUI_API void SetNextWindowContentSize(const ImVec2 &size)
Definition imgui.cpp:8632
IMGUI_API bool IsWindowHovered(ImGuiHoveredFlags flags=0)
Definition imgui.cpp:8342
IMGUI_API void ColorConvertRGBtoHSV(float r, float g, float b, float &out_h, float &out_s, float &out_v)
Definition imgui.cpp:2569
IMGUI_API bool SliderInt3(const char *label, int v[3], int v_min, int v_max, const char *format="%d", ImGuiSliderFlags flags=0)
Definition imgui_widgets.cpp:3343
IMGUI_API void ShowStyleEditor(ImGuiStyle *ref=NULL)
Definition imgui_demo.cpp:7579
IMGUI_API void SetNextWindowSize(const ImVec2 &size, ImGuiCond cond=0)
Definition imgui.cpp:8608
IMGUI_API float GetScrollMaxY()
Definition imgui.cpp:11579
IMGUI_API float CalcItemWidth()
Definition imgui.cpp:11228
IMGUI_API bool IsKeyChordPressed(ImGuiKeyChord key_chord)
Definition imgui.cpp:10468
IMGUI_API void NewFrame()
Definition imgui.cpp:4909
IMGUI_API bool CheckboxFlags(const char *label, int *flags, int flags_value)
Definition imgui_widgets.cpp:1253
IMGUI_API void ShowIDStackToolWindow(bool *p_open=NULL)
Definition imgui.cpp:22021
IMGUI_API void Render()
Definition imgui.cpp:5534
IMGUI_API bool CollapsingHeader(const char *label, ImGuiTreeNodeFlags flags=0)
Definition imgui_widgets.cpp:6714
IMGUI_API void SetWindowCollapsed(bool collapsed, ImGuiCond cond=0)
Definition imgui.cpp:8556
IMGUI_API ImDrawData * GetDrawData()
Definition imgui.cpp:4552
IMGUI_API bool InputInt3(const char *label, int v[3], ImGuiInputTextFlags flags=0)
Definition imgui_widgets.cpp:3788
IMGUI_API void DestroyContext(ImGuiContext *ctx=NULL)
Definition imgui.cpp:3799
IMGUI_API void EndMainMenuBar()
Definition imgui_widgets.cpp:8570
IMGUI_API bool BeginTabBar(const char *str_id, ImGuiTabBarFlags flags=0)
Definition imgui_widgets.cpp:9023
IMGUI_API void PopID()
Definition imgui.cpp:9015
IMGUI_API ImGuiStyle & GetStyle()
Definition imgui.cpp:3254
IMGUI_API void DebugStartItemPicker()
Definition imgui.cpp:21875
IMGUI_API ImU32 ColorConvertFloat4ToU32(const ImVec4 &in)
Definition imgui.cpp:2557
IMGUI_API ImVec2 GetMousePos()
Definition imgui.cpp:9725
IMGUI_API bool IsWindowDocked()
Definition imgui.cpp:8417
IMGUI_API void SetNextFrameWantCaptureKeyboard(bool want_capture_keyboard)
Definition imgui.cpp:10191
IMGUI_API ImVec2 GetMousePosOnOpeningCurrentPopup()
Definition imgui.cpp:9743
IMGUI_API bool BeginDragDropSource(ImGuiDragDropFlags flags=0)
Definition imgui.cpp:13988
IMGUI_API void ShowAboutWindow(bool *p_open=NULL)
Definition imgui_demo.cpp:7348
IMGUI_API void SetNextWindowFocus()
Definition imgui.cpp:8655
IMGUI_API bool ColorEdit4(const char *label, float col[4], ImGuiColorEditFlags flags=0)
Definition imgui_widgets.cpp:5335
IMGUI_API bool BeginDragDropTarget()
Definition imgui.cpp:14195
IMGUI_API float GetFontSize()
Definition imgui.cpp:8723
IMGUI_API void PushFont(ImFont *font)
Definition imgui.cpp:8164
IMGUI_API void SetWindowFocus()
Definition imgui.cpp:8579
IMGUI_API void PushItemFlag(ImGuiItemFlags option, bool enabled)
Definition imgui.cpp:8182
IMGUI_API void SetScrollHereY(float center_y_ratio=0.5f)
Definition imgui.cpp:11663
IMGUI_API void SetColorEditOptions(ImGuiColorEditFlags flags)
Definition imgui_widgets.cpp:6060
IMGUI_API void EndTooltip()
Definition imgui.cpp:11730
IMGUI_API void SetNextWindowViewport(ImGuiID viewport_id)
Definition imgui.cpp:8668
IMGUI_API bool TableNextColumn()
Definition imgui_tables.cpp:2097
IMGUI_API bool IsItemHovered(ImGuiHoveredFlags flags=0)
Definition imgui.cpp:4251
IMGUI_API void SetMouseCursor(ImGuiMouseCursor cursor_type)
Definition imgui.cpp:9806
IMGUI_API ImGuiTableSortSpecs * TableGetSortSpecs()
Definition imgui_tables.cpp:2805
IMGUI_API int TableGetColumnCount()
Definition imgui_tables.cpp:1678
IMGUI_API int GetColumnIndex()
Definition imgui_tables.cpp:4060
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)
Definition imgui_widgets.cpp:3323
IMGUI_API bool IsAnyItemActive()
Definition imgui.cpp:5784
static bool BeginChildFrame(ImGuiID id, const ImVec2 &size, ImGuiWindowFlags window_flags=0)
Definition imgui.h:3758
IMGUI_API bool SliderFloat4(const char *label, float v[4], float v_min, float v_max, const char *format="%.3f", ImGuiSliderFlags flags=0)
Definition imgui_widgets.cpp:3318
IMGUI_API void LogToTTY(int auto_open_depth=-1)
Definition imgui.cpp:14436
IMGUI_API void SetScrollFromPosX(float local_x, float center_x_ratio=0.5f)
Definition imgui.cpp:11637
IMGUI_API void PopItemWidth()
Definition imgui.cpp:11219
IMGUI_API bool ArrowButton(const char *str_id, ImGuiDir dir)
Definition imgui_widgets.cpp:833
IMGUI_API void SetNextItemShortcut(ImGuiKeyChord key_chord, ImGuiInputFlags flags=0)
Definition imgui.cpp:10491
IMGUI_API void Unindent(float indent_w=0.0f)
Definition imgui.cpp:11174
IMGUI_API void TextWrapped(const char *fmt,...) IM_FMTARGS(1)
Definition imgui_widgets.cpp:337
IMGUI_API void ShowUserGuide()
Definition imgui_demo.cpp:7869
IMGUI_API const ImVec4 & GetStyleColorVec4(ImGuiCol idx)
Definition imgui.cpp:3276
IMGUI_API void LabelText(const char *label, const char *fmt,...) IM_FMTARGS(2)
Definition imgui_widgets.cpp:356
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)
Definition imgui_widgets.cpp:3798
IMGUI_API bool IsItemDeactivated()
Definition imgui.cpp:5720
IMGUI_API ImVec2 GetCursorScreenPos()
Definition imgui.cpp:11102
IMGUI_API void SetNextItemSelectionUserData(ImGuiSelectionUserData selection_user_data)
Definition imgui_widgets.cpp:7541
IMGUI_API bool IsItemFocused()
Definition imgui.cpp:5735
IMGUI_API void SameLine(float offset_from_start_x=0.0f, float spacing=-1.0f)
Definition imgui.cpp:11076
IMGUI_API bool TableSetColumnIndex(int column_n)
Definition imgui_tables.cpp:2076
IMGUI_API bool IsMouseHoveringRect(const ImVec2 &r_min, const ImVec2 &r_max, bool clip=true)
Definition imgui.cpp:9688
IMGUI_API void AlignTextToFramePadding()
Definition imgui_widgets.cpp:1538
IMGUI_API void StyleColorsLight(ImGuiStyle *dst=NULL)
Definition imgui_draw.cpp:329
IMGUI_API void Bullet()
Definition imgui_widgets.cpp:1396
IMGUI_API bool ColorButton(const char *desc_id, const ImVec4 &col, ImGuiColorEditFlags flags=0, const ImVec2 &size=ImVec2(0, 0))
Definition imgui_widgets.cpp:5979
IMGUI_API void TableHeader(const char *label)
Definition imgui_tables.cpp:3072
IMGUI_API bool IsMouseReleased(ImGuiMouseButton button)
Definition imgui.cpp:9650
IMGUI_API float GetFrameHeight()
Definition imgui.cpp:11284
IMGUI_API void SetCursorPosX(float local_x)
Definition imgui.cpp:11144
IMGUI_API void EndDragDropTarget()
Definition imgui.cpp:14295
IMGUI_API void SetKeyboardFocusHere(int offset=0)
Definition imgui.cpp:8820
IMGUI_API void TableSetBgColor(ImGuiTableBgTarget target, ImU32 color, int column_n=-1)
Definition imgui_tables.cpp:1792
IMGUI_API void BeginDisabled(bool disabled=true)
Definition imgui.cpp:8209
IMGUI_API void CloseCurrentPopup()
Definition imgui.cpp:11994
IMGUI_API bool BeginChild(const char *str_id, const ImVec2 &size=ImVec2(0, 0), ImGuiChildFlags child_flags=0, ImGuiWindowFlags window_flags=0)
Definition imgui.cpp:5868
IMGUI_API void DestroyPlatformWindows()
Definition imgui.cpp:15938
IMGUI_API void UpdatePlatformWindows()
Definition imgui.cpp:15716
IMGUI_API void SetNextItemAllowOverlap()
Definition imgui.cpp:5811
IMGUI_API bool IsMouseDown(ImGuiMouseButton button)
Definition imgui.cpp:9609
IMGUI_API void * MemAlloc(size_t size)
Definition imgui.cpp:4474
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)
Definition imgui_widgets.cpp:3827
IMGUI_API void PopClipRect()
Definition imgui.cpp:5302
IMGUI_API bool BeginPopupContextWindow(const char *str_id=NULL, ImGuiPopupFlags popup_flags=1)
Definition imgui.cpp:12164
IMGUI_API void SetColumnWidth(int column_index, float width)
Definition imgui_tables.cpp:4165
IMGUI_API void ShowDebugLogWindow(bool *p_open=NULL)
Definition imgui.cpp:21702
IMGUI_API bool IsKeyReleased(ImGuiKey key)
Definition imgui.cpp:9594
IMGUI_API bool ImageButton(const char *str_id, ImTextureID user_texture_id, const ImVec2 &image_size, const ImVec2 &uv0=ImVec2(0, 0), const ImVec2 &uv1=ImVec2(1, 1), const ImVec4 &bg_col=ImVec4(0, 0, 0, 0), const ImVec4 &tint_col=ImVec4(1, 1, 1, 1))
Definition imgui_widgets.cpp:1115
IMGUI_API float GetScrollMaxX()
Definition imgui.cpp:11573
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)
Definition imgui_widgets.cpp:2779
IMGUI_API ImGuiContext * GetCurrentContext()
Definition imgui.cpp:3759
IMGUI_API void PopFont()
Definition imgui.cpp:8174
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))
Definition imgui_widgets.cpp:8322
IMGUI_API void BulletText(const char *fmt,...) IM_FMTARGS(1)
Definition imgui_widgets.cpp:393
IMGUI_API void EndChild()
Definition imgui.cpp:5988
IMGUI_API void BulletTextV(const char *fmt, va_list args) IM_FMTLIST(1)
Definition imgui_widgets.cpp:402
IMGUI_API void ShowDemoWindow(bool *p_open=NULL)
Definition imgui_demo.cpp:303
IMGUI_API bool Selectable(const char *label, bool selected=false, ImGuiSelectableFlags flags=0, const ImVec2 &size=ImVec2(0, 0))
Definition imgui_widgets.cpp:6770
IMGUI_API void DebugLogV(const char *fmt, va_list args) IM_FMTLIST(1)
Definition imgui.cpp:21658
IMGUI_API void SaveIniSettingsToDisk(const char *ini_filename)
Definition imgui.cpp:14733
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)
Definition imgui_widgets.cpp:3721
IMGUI_API void SetNextWindowPos(const ImVec2 &pos, ImGuiCond cond=0, const ImVec2 &pivot=ImVec2(0, 0))
Definition imgui.cpp:8597
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)
Definition imgui_widgets.cpp:2720
IMGUI_API void DebugFlashStyleColor(ImGuiCol idx)
Definition imgui.cpp:20314
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)
Definition imgui_widgets.cpp:3643
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)
Definition imgui_widgets.cpp:3185
IMGUI_API void ShowMetricsWindow(bool *p_open=NULL)
Definition imgui.cpp:20368
IMGUI_API void SetNextWindowClass(const ImGuiWindowClass *window_class)
Definition imgui.cpp:8683
IMGUI_API void SetNextFrameWantCaptureMouse(bool want_capture_mouse)
Definition imgui.cpp:10197
IMGUI_API int GetMouseClickedCount(ImGuiMouseButton button)
Definition imgui.cpp:9678
constexpr ImColor(int r, int g, int b, int a=255)
Definition imgui.h:2835
ImVec4 Value
Definition imgui.h:2830
constexpr ImColor(ImU32 rgba)
Definition imgui.h:2836
constexpr ImColor(const ImVec4 &col)
Definition imgui.h:2834
static ImColor HSV(float h, float s, float v, float a=1.0f)
Definition imgui.h:2842
constexpr ImColor(float r, float g, float b, float a=1.0f)
Definition imgui.h:2833
constexpr ImColor()
Definition imgui.h:2832
void SetHSV(float h, float s, float v, float a=1.0f)
Definition imgui.h:2841
ImVector< ImDrawCmd > _CmdBuffer
Definition imgui.h:3066
ImVector< ImDrawIdx > _IdxBuffer
Definition imgui.h:3067
ImTextureID TextureId
Definition imgui.h:3026
unsigned int VtxOffset
Definition imgui.h:3027
ImVec4 ClipRect
Definition imgui.h:3025
ImTextureID GetTexID() const
Definition imgui.h:3036
unsigned int ElemCount
Definition imgui.h:3029
ImDrawCallback UserCallback
Definition imgui.h:3030
ImDrawCmd()
Definition imgui.h:3033
unsigned int IdxOffset
Definition imgui.h:3028
void * UserCallbackData
Definition imgui.h:3031
int TotalIdxCount
Definition imgui.h:3272
ImVec2 DisplayPos
Definition imgui.h:3275
ImVec2 DisplaySize
Definition imgui.h:3276
ImDrawData()
Definition imgui.h:3281
IMGUI_API void Clear()
Definition imgui_draw.cpp:2203
bool Valid
Definition imgui.h:3270
ImVec2 FramebufferScale
Definition imgui.h:3277
ImVector< ImDrawList * > CmdLists
Definition imgui.h:3274
int CmdListsCount
Definition imgui.h:3271
int TotalVtxCount
Definition imgui.h:3273
ImGuiViewport * OwnerViewport
Definition imgui.h:3278
Definition imgui_internal.h:790
ImDrawListSplitter()
Definition imgui.h:3079
~ImDrawListSplitter()
Definition imgui.h:3080
IMGUI_API void ClearFreeMemory()
Definition imgui_draw.cpp:2060
int _Current
Definition imgui.h:3075
ImVector< ImDrawChannel > _Channels
Definition imgui.h:3077
void Clear()
Definition imgui.h:3081
int _Count
Definition imgui.h:3076
~ImDrawList()
Definition imgui.h:3152
unsigned int _VtxCurrentIdx
Definition imgui.h:3137
ImDrawListSplitter _Splitter
Definition imgui.h:3143
void ChannelsMerge()
Definition imgui.h:3230
void PrimVtx(const ImVec2 &pos, const ImVec2 &uv, ImU32 col)
Definition imgui.h:3243
void PrimWriteIdx(ImDrawIdx idx)
Definition imgui.h:3242
ImVector< ImVec2 > _Path
Definition imgui.h:3141
void PathStroke(ImU32 col, ImDrawFlags flags=0, float thickness=1.0f)
Definition imgui.h:3210
IMGUI_API void _ClearFreeMemory()
Definition imgui_draw.cpp:451
ImDrawList(ImDrawListSharedData *shared_data)
Definition imgui.h:3150
const char * _OwnerName
Definition imgui.h:3147
ImVector< ImDrawCmd > CmdBuffer
Definition imgui.h:3131
ImDrawVert * _VtxWritePtr
Definition imgui.h:3139
ImDrawIdx * _IdxWritePtr
Definition imgui.h:3140
void PathLineTo(const ImVec2 &pos)
Definition imgui.h:3206
ImVector< ImTextureID > _TextureIdStack
Definition imgui.h:3145
ImDrawCmdHeader _CmdHeader
Definition imgui.h:3142
ImVec2 GetClipRectMax() const
Definition imgui.h:3159
ImVec2 GetClipRectMin() const
Definition imgui.h:3158
void PathLineToMergeDuplicate(const ImVec2 &pos)
Definition imgui.h:3207
float _FringeScale
Definition imgui.h:3146
ImVector< ImDrawVert > VtxBuffer
Definition imgui.h:3133
IMGUI_API void AddConcavePolyFilled(const ImVec2 *points, int num_points, ImU32 col)
Definition imgui_draw.cpp:1964
void ChannelsSetCurrent(int n)
Definition imgui.h:3231
void PathFillConcave(ImU32 col)
Definition imgui.h:3209
IMGUI_API void AddPolyline(const ImVec2 *points, int num_points, ImU32 col, ImDrawFlags flags, float thickness)
Definition imgui_draw.cpp:749
void ChannelsSplit(int count)
Definition imgui.h:3229
IMGUI_API void AddConvexPolyFilled(const ImVec2 *points, int num_points, ImU32 col)
Definition imgui_draw.cpp:1007
ImDrawListSharedData * _Data
Definition imgui.h:3138
ImDrawListFlags Flags
Definition imgui.h:3134
ImVector< ImDrawIdx > IdxBuffer
Definition imgui.h:3132
ImVector< ImVec4 > _ClipRectStack
Definition imgui.h:3144
void PathClear()
Definition imgui.h:3205
void PathFillConvex(ImU32 col)
Definition imgui.h:3208
void PrimWriteVtx(const ImVec2 &pos, const ImVec2 &uv, ImU32 col)
Definition imgui.h:3241
ImU32 col
Definition imgui.h:3045
ImVec2 uv
Definition imgui.h:3044
ImVec2 pos
Definition imgui.h:3043
ImVec2 GlyphOffset
Definition imgui.h:3355
float GlyphAdvanceX
Definition imgui.h:3354
unsigned short X
Definition imgui.h:3352
unsigned int GlyphID
Definition imgui.h:3353
bool IsPacked() const
Definition imgui.h:3358
unsigned short Height
Definition imgui.h:3351
unsigned short Width
Definition imgui.h:3351
ImFontAtlasCustomRect()
Definition imgui.h:3357
unsigned short Y
Definition imgui.h:3352
ImFont * Font
Definition imgui.h:3356
ImVector< ImFont * > Fonts
Definition imgui.h:3471
int PackIdLines
Definition imgui.h:3482
bool IsBuilt() const
Definition imgui.h:3410
ImTextureID TexID
Definition imgui.h:3455
bool Locked
Definition imgui.h:3458
IMGUI_API ImFont * AddFontFromFileTTF(const char *filename, float size_pixels, const ImFontConfig *font_cfg=NULL, const ImWchar *glyph_ranges=NULL)
Definition imgui_draw.cpp:2591
int TexWidth
Definition imgui.h:3467
int TexGlyphPadding
Definition imgui.h:3457
IMGUI_API void ClearTexData()
Definition imgui_draw.cpp:2456
IMGUI_API void ClearInputData()
Definition imgui_draw.cpp:2433
unsigned int * TexPixelsRGBA32
Definition imgui.h:3466
const ImFontBuilderIO * FontBuilderIO
Definition imgui.h:3477
unsigned char * TexPixelsAlpha8
Definition imgui.h:3465
IMGUI_API ImFont * AddFontFromMemoryCompressedTTF(const void *compressed_font_data, int compressed_font_data_size, float size_pixels, const ImFontConfig *font_cfg=NULL, const ImWchar *glyph_ranges=NULL)
Definition imgui_draw.cpp:2627
bool TexPixelsUseColors
Definition imgui.h:3464
int TexHeight
Definition imgui.h:3468
ImFontAtlasCustomRect * GetCustomRectByIndex(int index)
Definition imgui.h:3444
IMGUI_API bool Build()
Definition imgui_draw.cpp:2708
IMGUI_API void GetTexDataAsRGBA32(unsigned char **out_pixels, int *out_width, int *out_height, int *out_bytes_per_pixel=NULL)
Definition imgui_draw.cpp:2495
IMGUI_API void Clear()
Definition imgui_draw.cpp:2476
IMGUI_API ImFont * AddFontFromMemoryTTF(void *font_data, int font_data_size, float size_pixels, const ImFontConfig *font_cfg=NULL, const ImWchar *glyph_ranges=NULL)
Definition imgui_draw.cpp:2613
void SetTexID(ImTextureID id)
Definition imgui.h:3411
bool TexReady
Definition imgui.h:3463
IMGUI_API ImFont * AddFontDefault(const ImFontConfig *font_cfg=NULL)
Definition imgui_draw.cpp:2570
int TexDesiredWidth
Definition imgui.h:3456
IMGUI_API ImFontAtlas()
Definition imgui_draw.cpp:2420
IMGUI_API ImFont * AddFontFromMemoryCompressedBase85TTF(const char *compressed_font_data_base85, float size_pixels, const ImFontConfig *font_cfg=NULL, const ImWchar *glyph_ranges=NULL)
Definition imgui_draw.cpp:2639
ImVec4 TexUvLines[IM_DRAWLIST_TEX_LINES_WIDTH_MAX+1]
Definition imgui.h:3474
void * UserData
Definition imgui.h:3459
IMGUI_API ImFont * AddFont(const ImFontConfig *font_cfg)
Definition imgui_draw.cpp:2519
unsigned int FontBuilderFlags
Definition imgui.h:3478
IMGUI_API void ClearFonts()
Definition imgui_draw.cpp:2469
ImVec2 TexUvScale
Definition imgui.h:3469
ImFontAtlasFlags Flags
Definition imgui.h:3454
ImVector< ImFontAtlasCustomRect > CustomRects
Definition imgui.h:3472
IMGUI_API void GetTexDataAsAlpha8(unsigned char **out_pixels, int *out_width, int *out_height, int *out_bytes_per_pixel=NULL)
Definition imgui_draw.cpp:2483
ImVec2 TexUvWhitePixel
Definition imgui.h:3470
ImVector< ImFontConfig > ConfigData
Definition imgui.h:3473
int PackIdMouseCursors
Definition imgui.h:3481
Definition imgui_internal.h:3976
void * FontData
Definition imgui.h:3294
char Name[40]
Definition imgui.h:3314
float RasterizerDensity
Definition imgui.h:3310
unsigned int FontBuilderFlags
Definition imgui.h:3308
ImVec2 GlyphOffset
Definition imgui.h:3303
float SizePixels
Definition imgui.h:3298
float GlyphMinAdvanceX
Definition imgui.h:3305
int FontDataSize
Definition imgui.h:3295
ImFont * DstFont
Definition imgui.h:3315
bool PixelSnapH
Definition imgui.h:3301
int OversampleV
Definition imgui.h:3300
ImVec2 GlyphExtraSpacing
Definition imgui.h:3302
float RasterizerMultiply
Definition imgui.h:3309
bool FontDataOwnedByAtlas
Definition imgui.h:3296
const ImWchar * GlyphRanges
Definition imgui.h:3304
int FontNo
Definition imgui.h:3297
int OversampleH
Definition imgui.h:3299
bool MergeMode
Definition imgui.h:3307
IMGUI_API ImFontConfig()
Definition imgui_draw.cpp:2354
ImWchar EllipsisChar
Definition imgui.h:3311
float GlyphMaxAdvanceX
Definition imgui.h:3306
void SetBit(size_t n)
Definition imgui.h:3341
bool GetBit(size_t n) const
Definition imgui.h:3340
void AddChar(ImWchar c)
Definition imgui.h:3342
void Clear()
Definition imgui.h:3339
ImFontGlyphRangesBuilder()
Definition imgui.h:3338
ImVector< ImU32 > UsedChars
Definition imgui.h:3336
float AdvanceX
Definition imgui.h:3327
float X1
Definition imgui.h:3328
float X0
Definition imgui.h:3328
unsigned int Codepoint
Definition imgui.h:3326
float V0
Definition imgui.h:3329
float U0
Definition imgui.h:3329
float V1
Definition imgui.h:3329
unsigned int Visible
Definition imgui.h:3325
unsigned int Colored
Definition imgui.h:3324
float Y1
Definition imgui.h:3328
float U1
Definition imgui.h:3329
float Y0
Definition imgui.h:3328
ImVector< ImWchar > IndexLookup
Definition imgui.h:3499
const ImFontGlyph * FallbackGlyph
Definition imgui.h:3501
ImVector< ImFontGlyph > Glyphs
Definition imgui.h:3500
IMGUI_API ImFont()
Definition imgui_draw.cpp:3598
float EllipsisWidth
Definition imgui.h:3510
bool DirtyLookupTables
Definition imgui.h:3512
float FontSize
Definition imgui.h:3496
short ConfigDataCount
Definition imgui.h:3506
ImWchar EllipsisChar
Definition imgui.h:3508
const char * GetDebugName() const
Definition imgui.h:3525
float Ascent
Definition imgui.h:3514
int MetricsTotalSurface
Definition imgui.h:3515
ImFontAtlas * ContainerAtlas
Definition imgui.h:3504
ImU8 Used4kPagesMap[(IM_UNICODE_CODEPOINT_MAX+1)/4096/8]
Definition imgui.h:3516
bool IsLoaded() const
Definition imgui.h:3524
float EllipsisCharStep
Definition imgui.h:3511
IMGUI_API const ImFontGlyph * FindGlyphNoFallback(ImWchar c) const
Definition imgui_draw.cpp:3828
short EllipsisCharCount
Definition imgui.h:3509
float Descent
Definition imgui.h:3514
IMGUI_API const ImFontGlyph * FindGlyph(ImWchar c) const
Definition imgui_draw.cpp:3818
float FallbackAdvanceX
Definition imgui.h:3495
float GetCharAdvance(ImWchar c) const
Definition imgui.h:3523
ImWchar FallbackChar
Definition imgui.h:3507
float Scale
Definition imgui.h:3513
ImVector< float > IndexAdvanceX
Definition imgui.h:3494
const ImFontConfig * ConfigData
Definition imgui.h:3505
Definition imgui_internal.h:2180
ImVec2 DisplaySize
Definition imgui.h:2287
IMGUI_API void AddFocusEvent(bool focused)
Definition imgui.cpp:1817
bool WantCaptureMouseUnlessPopupClose
Definition imgui.h:2456
IMGUI_API void AddInputCharacterUTF16(ImWchar16 c)
Definition imgui.cpp:1480
IMGUI_API ImGuiIO()
Definition imgui.cpp:1379
bool ConfigDebugBeginReturnValueOnce
Definition imgui.h:2345
IMGUI_API void AddInputCharacter(unsigned int c)
Definition imgui.cpp:1463
bool WantTextInput
Definition imgui.h:2421
ImVec2 MousePosPrev
Definition imgui.h:2457
ImFont * FontDefault
Definition imgui.h:2297
float MouseDoubleClickMaxDist
Definition imgui.h:2326
void * ClipboardUserData
Definition imgui.h:2372
bool ConfigDockingAlwaysTabBar
Definition imgui.h:2303
bool ConfigWindowsMoveFromTitleBarOnly
Definition imgui.h:2320
int MetricsRenderIndices
Definition imgui.h:2428
bool KeyAlt
Definition imgui.h:2450
float NavInputs[ImGuiNavInput_COUNT]
Definition imgui.h:2487
void(* SetClipboardTextFn)(void *user_data, const char *text)
Definition imgui.h:2371
float MouseWheel
Definition imgui.h:2444
ImVec2 MouseClickedPos[5]
Definition imgui.h:2458
ImFontAtlas * Fonts
Definition imgui.h:2294
float MouseWheelH
Definition imgui.h:2445
float KeyRepeatDelay
Definition imgui.h:2328
bool(* PlatformOpenInShellFn)(ImGuiContext *ctx, const char *path)
Definition imgui.h:2376
bool MouseReleased[5]
Definition imgui.h:2464
IMGUI_API void AddMouseWheelEvent(float wheel_x, float wheel_y)
Definition imgui.cpp:1768
bool KeyShift
Definition imgui.h:2449
ImVec2 MouseDragMaxDistanceAbs[5]
Definition imgui.h:2471
bool WantCaptureKeyboard
Definition imgui.h:2420
ImWchar16 InputQueueSurrogate
Definition imgui.h:2478
ImVector< ImWchar > InputQueueCharacters
Definition imgui.h:2479
float DeltaTime
Definition imgui.h:2288
IMGUI_API void AddKeyEvent(ImGuiKey key, bool down)
Definition imgui.cpp:1654
bool KeyCtrl
Definition imgui.h:2448
const char * BackendPlatformName
Definition imgui.h:2362
float MouseDownDurationPrev[5]
Definition imgui.h:2470
bool KeysDown[ImGuiKey_COUNT]
Definition imgui.h:2486
ImVec2 MouseDelta
Definition imgui.h:2431
void * PlatformOpenInShellUserData
Definition imgui.h:2377
IMGUI_API void ClearInputKeys()
Definition imgui.cpp:1535
bool MouseDownOwnedUnlessPopupClose[5]
Definition imgui.h:2466
ImGuiConfigFlags ConfigFlags
Definition imgui.h:2285
IMGUI_API void AddMouseViewportEvent(ImGuiID id)
Definition imgui.cpp:1796
bool ConfigDebugIgnoreFocusLoss
Definition imgui.h:2351
bool ConfigDebugBeginReturnValueLoop
Definition imgui.h:2346
void(* PlatformSetImeDataFn)(ImGuiContext *ctx, ImGuiViewport *viewport, ImGuiPlatformImeData *data)
Definition imgui.h:2381
bool MouseDownOwned[5]
Definition imgui.h:2465
bool WantSaveIniSettings
Definition imgui.h:2423
IMGUI_API void SetKeyEventNativeData(ImGuiKey key, int native_keycode, int native_scancode, int native_legacy_index=-1)
Definition imgui.cpp:1664
void * BackendPlatformUserData
Definition imgui.h:2364
ImGuiKeyData KeysData[ImGuiKey_KeysData_SIZE]
Definition imgui.h:2455
bool AppFocusLost
Definition imgui.h:2474
ImVec2 DisplayFramebufferScale
Definition imgui.h:2298
ImS8 BackendUsingLegacyKeyArrays
Definition imgui.h:2476
bool ConfigDebugIsDebuggerPresent
Definition imgui.h:2339
float FontGlobalScale
Definition imgui.h:2295
ImGuiKeyChord KeyMods
Definition imgui.h:2454
bool ConfigViewportsNoDecoration
Definition imgui.h:2309
bool ConfigDockingTransparentPayload
Definition imgui.h:2304
IMGUI_API void ClearInputCharacters()
Definition imgui.cpp:1574
bool MouseClicked[5]
Definition imgui.h:2460
float MouseDragMaxDistanceSqr[5]
Definition imgui.h:2472
bool WantSetMousePos
Definition imgui.h:2422
const char * IniFilename
Definition imgui.h:2290
bool MouseDoubleClicked[5]
Definition imgui.h:2461
void * UserData
Definition imgui.h:2292
float Framerate
Definition imgui.h:2426
IMGUI_API void SetAppAcceptingEvents(bool accepting_events)
Definition imgui.cpp:1687
int MetricsRenderVertices
Definition imgui.h:2427
bool ConfigDragClickToInputText
Definition imgui.h:2318
bool MouseDown[5]
Definition imgui.h:2443
ImGuiContext * Ctx
Definition imgui.h:2437
bool NavVisible
Definition imgui.h:2425
ImGuiBackendFlags BackendFlags
Definition imgui.h:2286
ImWchar PlatformLocaleDecimalPoint
Definition imgui.h:2385
bool MouseDrawCursor
Definition imgui.h:2313
float IniSavingRate
Definition imgui.h:2289
bool MouseCtrlLeftAsRightClick
Definition imgui.h:2468
void * BackendRendererUserData
Definition imgui.h:2365
IMGUI_API void ClearInputMouse()
Definition imgui.cpp:1553
IMGUI_API void AddMouseButtonEvent(int button, bool down)
Definition imgui.cpp:1719
int KeyMap[ImGuiKey_COUNT]
Definition imgui.h:2485
bool NavActive
Definition imgui.h:2424
bool BackendUsingLegacyNavInputArray
Definition imgui.h:2477
bool ConfigWindowsResizeFromEdges
Definition imgui.h:2319
bool AppAcceptingEvents
Definition imgui.h:2475
bool ConfigMacOSXBehaviors
Definition imgui.h:2314
bool ConfigDebugIniSettings
Definition imgui.h:2354
float MouseDownDuration[5]
Definition imgui.h:2469
IMGUI_API void AddMousePosEvent(float x, float y)
Definition imgui.cpp:1693
bool ConfigViewportsNoAutoMerge
Definition imgui.h:2307
bool ConfigInputTextEnterKeepActive
Definition imgui.h:2317
IMGUI_API void AddInputCharactersUTF8(const char *str)
Definition imgui.cpp:1514
ImU16 MouseClickedCount[5]
Definition imgui.h:2462
bool ConfigDockingWithShift
Definition imgui.h:2302
IMGUI_API void AddKeyAnalogEvent(ImGuiKey key, bool down, float v)
Definition imgui.cpp:1603
bool MouseWheelRequestAxisSwap
Definition imgui.h:2467
float KeyRepeatRate
Definition imgui.h:2329
bool ConfigDockingNoSplit
Definition imgui.h:2301
const char * BackendRendererName
Definition imgui.h:2363
bool ConfigInputTextCursorBlink
Definition imgui.h:2316
ImVec2 MousePos
Definition imgui.h:2442
void * BackendLanguageUserData
Definition imgui.h:2366
float MouseDragThreshold
Definition imgui.h:2327
float PenPressure
Definition imgui.h:2473
IMGUI_API void AddMouseSourceEvent(ImGuiMouseSource source)
Definition imgui.cpp:1789
ImGuiMouseSource MouseSource
Definition imgui.h:2446
bool ConfigViewportsNoDefaultParent
Definition imgui.h:2310
int MetricsActiveWindows
Definition imgui.h:2430
const char * LogFilename
Definition imgui.h:2291
ImGuiID MouseHoveredViewport
Definition imgui.h:2447
int MetricsRenderWindows
Definition imgui.h:2429
float ConfigMemoryCompactTimer
Definition imgui.h:2321
float MouseDoubleClickTime
Definition imgui.h:2325
ImU16 MouseClickedLastCount[5]
Definition imgui.h:2463
IMGUI_API void ClearEventsQueue()
Definition imgui.cpp:1527
bool ConfigInputTrickleEventQueue
Definition imgui.h:2315
bool WantCaptureMouse
Definition imgui.h:2419
bool FontAllowUserScaling
Definition imgui.h:2296
bool ConfigViewportsNoTaskBarIcon
Definition imgui.h:2308
double MouseClickedTime[5]
Definition imgui.h:2459
bool KeySuper
Definition imgui.h:2451
int BufSize
Definition imgui.h:2523
void ClearSelection()
Definition imgui.h:2535
ImGuiKey EventKey
Definition imgui.h:2520
int CursorPos
Definition imgui.h:2525
int SelectionEnd
Definition imgui.h:2527
ImGuiInputTextFlags EventFlag
Definition imgui.h:2510
int SelectionStart
Definition imgui.h:2526
ImWchar EventChar
Definition imgui.h:2519
IMGUI_API void InsertChars(int pos, const char *text, const char *text_end=NULL)
Definition imgui_widgets.cpp:4073
bool BufDirty
Definition imgui.h:2524
int BufTextLen
Definition imgui.h:2522
void SelectAll()
Definition imgui.h:2534
ImGuiInputTextFlags Flags
Definition imgui.h:2511
bool HasSelection() const
Definition imgui.h:2536
IMGUI_API void DeleteChars(int pos, int bytes_count)
Definition imgui_widgets.cpp:4055
ImGuiContext * Ctx
Definition imgui.h:2509
char * Buf
Definition imgui.h:2521
IMGUI_API ImGuiInputTextCallbackData()
Definition imgui_widgets.cpp:4047
void * UserData
Definition imgui.h:2512
bool Down
Definition imgui.h:2273
float DownDurationPrev
Definition imgui.h:2275
float DownDuration
Definition imgui.h:2274
float AnalogValue
Definition imgui.h:2276
float ItemsHeight
Definition imgui.h:2742
void ForceDisplayRangeByIndices(int item_begin, int item_end)
Definition imgui.h:2767
void IncludeItemByIndex(int item_index)
Definition imgui.h:2757
IMGUI_API void End()
Definition imgui.cpp:3038
ImGuiContext * Ctx
Definition imgui.h:2738
int ItemsCount
Definition imgui.h:2741
void * TempData
Definition imgui.h:2745
void IncludeRangeByIndices(int item_begin, int item_end)
Definition imgui.h:2766
IMGUI_API void Begin(int items_count, float items_height=-1.0f)
Definition imgui.cpp:3009
IMGUI_API void IncludeItemsByIndex(int item_begin, int item_end)
Definition imgui.cpp:3061
double StartSeekOffsetY
Definition imgui.h:2744
int DisplayStart
Definition imgui.h:2739
int DisplayEnd
Definition imgui.h:2740
IMGUI_API bool Step()
Definition imgui.cpp:3227
IMGUI_API ImGuiListClipper()
Definition imgui.cpp:2999
float StartPosY
Definition imgui.h:2743
bool NavIdSelected
Definition imgui.h:2917
int ItemsCount
Definition imgui.h:2919
bool RangeSrcReset
Definition imgui.h:2918
ImGuiSelectionUserData RangeSrcItem
Definition imgui.h:2915
ImGuiSelectionUserData NavIdItem
Definition imgui.h:2916
ImVector< ImGuiSelectionRequest > Requests
Definition imgui.h:2914
int RefFrame
Definition imgui.h:2610
ImGuiOnceUponAFrame()
Definition imgui.h:2609
ImGuiID SourceParentId
Definition imgui.h:2580
bool Preview
Definition imgui.h:2583
ImGuiPayload()
Definition imgui.h:2586
bool IsPreview() const
Definition imgui.h:2589
bool Delivery
Definition imgui.h:2584
int DataSize
Definition imgui.h:2576
char DataType[32+1]
Definition imgui.h:2582
bool IsDataType(const char *type) const
Definition imgui.h:2588
void Clear()
Definition imgui.h:2587
ImGuiID SourceId
Definition imgui.h:2579
int DataFrameCount
Definition imgui.h:2581
bool IsDelivery() const
Definition imgui.h:2590
void * Data
Definition imgui.h:2575
IMGUI_API void SetItemSelected(ImGuiID id, bool selected)
Definition imgui_widgets.cpp:7924
IMGUI_API void Swap(ImGuiSelectionBasicStorage &r)
Definition imgui_widgets.cpp:7883
ImGuiID GetStorageIdFromIndex(int idx)
Definition imgui.h:2975
IMGUI_API void ApplyRequests(ImGuiMultiSelectIO *ms_io)
Definition imgui_widgets.cpp:7969
bool PreserveOrder
Definition imgui.h:2961
int Size
Definition imgui.h:2960
IMGUI_API bool GetNextSelectedItem(void **opaque_it, ImGuiID *out_id)
Definition imgui_widgets.cpp:7904
IMGUI_API void Clear()
Definition imgui_widgets.cpp:7876
IMGUI_API bool Contains(ImGuiID id) const
Definition imgui_widgets.cpp:7890
int _SelectionOrder
Definition imgui.h:2964
ImGuiSelectionBasicStorage()
Definition imgui_widgets.cpp:7867
void * UserData
Definition imgui.h:2962
ImGuiStorage _Storage
Definition imgui.h:2965
ImGuiID(* AdapterIndexToStorageId)(ImGuiSelectionBasicStorage *self, int idx)
Definition imgui.h:2963
IMGUI_API ImGuiSelectionExternalStorage()
Definition imgui_widgets.cpp:8029
IMGUI_API void ApplyRequests(ImGuiMultiSelectIO *ms_io)
Definition imgui_widgets.cpp:8038
void(* AdapterSetItemSelected)(ImGuiSelectionExternalStorage *self, int idx, bool selected)
Definition imgui.h:2984
void * UserData
Definition imgui.h:2983
bool Selected
Definition imgui.h:2935
ImGuiSelectionUserData RangeFirstItem
Definition imgui.h:2937
ImGuiSelectionUserData RangeLastItem
Definition imgui.h:2938
ImGuiSelectionRequestType Type
Definition imgui.h:2934
ImS8 RangeDirection
Definition imgui.h:2936
ImVec2 DesiredSize
Definition imgui.h:2546
ImVec2 Pos
Definition imgui.h:2544
ImVec2 CurrentSize
Definition imgui.h:2545
void * UserData
Definition imgui.h:2543
ImGuiID key
Definition imgui.h:2664
ImGuiStoragePair(ImGuiID _key, float _val)
Definition imgui.h:2667
void * val_p
Definition imgui.h:2665
int val_i
Definition imgui.h:2665
ImGuiStoragePair(ImGuiID _key, void *_val)
Definition imgui.h:2668
ImGuiStoragePair(ImGuiID _key, int _val)
Definition imgui.h:2666
float val_f
Definition imgui.h:2665
ImVector< ImGuiStoragePair > Data
Definition imgui.h:2682
void Clear()
Definition imgui.h:2687
float ScrollbarRounding
Definition imgui.h:2220
bool AntiAliasedLines
Definition imgui.h:2240
float GrabMinSize
Definition imgui.h:2221
ImVec2 WindowMinSize
Definition imgui.h:2203
float FrameRounding
Definition imgui.h:2211
ImVec2 ButtonTextAlign
Definition imgui.h:2231
ImVec2 ItemInnerSpacing
Definition imgui.h:2214
bool AntiAliasedFill
Definition imgui.h:2242
float FrameBorderSize
Definition imgui.h:2212
float TabRounding
Definition imgui.h:2224
float TabBorderSize
Definition imgui.h:2225
ImVec4 Colors[ImGuiCol_COUNT]
Definition imgui.h:2245
ImGuiHoveredFlags HoverFlagsForTooltipNav
Definition imgui.h:2253
float IndentSpacing
Definition imgui.h:2217
ImVec2 WindowPadding
Definition imgui.h:2200
float DockingSeparatorSize
Definition imgui.h:2238
ImVec2 WindowTitleAlign
Definition imgui.h:2204
float CurveTessellationTol
Definition imgui.h:2243
float GrabRounding
Definition imgui.h:2222
float PopupRounding
Definition imgui.h:2208
float WindowBorderSize
Definition imgui.h:2202
float ChildBorderSize
Definition imgui.h:2207
float MouseCursorScale
Definition imgui.h:2239
ImGuiDir ColorButtonPosition
Definition imgui.h:2230
ImVec2 ItemSpacing
Definition imgui.h:2213
float LogSliderDeadzone
Definition imgui.h:2223
IMGUI_API void ScaleAllSizes(float scale_factor)
Definition imgui.cpp:1350
float SeparatorTextBorderSize
Definition imgui.h:2233
ImVec2 DisplaySafeAreaPadding
Definition imgui.h:2237
float ColumnsMinSpacing
Definition imgui.h:2218
float ScrollbarSize
Definition imgui.h:2219
float Alpha
Definition imgui.h:2198
ImGuiHoveredFlags HoverFlagsForTooltipMouse
Definition imgui.h:2252
float HoverDelayNormal
Definition imgui.h:2251
ImVec2 CellPadding
Definition imgui.h:2215
ImVec2 DisplayWindowPadding
Definition imgui.h:2236
IMGUI_API ImGuiStyle()
Definition imgui.cpp:1287
ImVec2 SeparatorTextAlign
Definition imgui.h:2234
ImVec2 TouchExtraPadding
Definition imgui.h:2216
ImGuiDir WindowMenuButtonPosition
Definition imgui.h:2205
float ChildRounding
Definition imgui.h:2206
ImVec2 TableAngledHeadersTextAlign
Definition imgui.h:2229
float PopupBorderSize
Definition imgui.h:2209
float DisabledAlpha
Definition imgui.h:2199
float CircleTessellationMaxError
Definition imgui.h:2244
float HoverStationaryDelay
Definition imgui.h:2249
bool AntiAliasedLinesUseTex
Definition imgui.h:2241
float WindowRounding
Definition imgui.h:2201
float TabMinWidthForCloseButton
Definition imgui.h:2226
ImVec2 SeparatorTextPadding
Definition imgui.h:2235
float TableAngledHeadersAngle
Definition imgui.h:2228
ImVec2 SelectableTextAlign
Definition imgui.h:2232
ImVec2 FramePadding
Definition imgui.h:2210
float HoverDelayShort
Definition imgui.h:2250
float TabBarBorderSize
Definition imgui.h:2227
ImS16 SortOrder
Definition imgui.h:2076
ImGuiID ColumnUserID
Definition imgui.h:2074
ImGuiSortDirection SortDirection
Definition imgui.h:2077
ImS16 ColumnIndex
Definition imgui.h:2075
ImGuiTableColumnSortSpecs()
Definition imgui.h:2079
int SpecsCount
Definition imgui.h:2065
ImGuiTableSortSpecs()
Definition imgui.h:2068
bool SpecsDirty
Definition imgui.h:2066
const ImGuiTableColumnSortSpecs * Specs
Definition imgui.h:2064
char operator[](int i) const
Definition imgui.h:2648
IMGUI_API void appendf(const char *fmt,...) IM_FMTARGS(2)
Definition imgui.cpp:2889
int size() const
Definition imgui.h:2651
void reserve(int capacity)
Definition imgui.h:2654
static IMGUI_API char EmptyString[1]
Definition imgui.h:2869
ImGuiTextBuffer()
Definition imgui.h:2647
const char * end() const
Definition imgui.h:2650
IMGUI_API void append(const char *str, const char *str_end=NULL)
Definition imgui.cpp:2871
void clear()
Definition imgui.h:2653
ImVector< char > Buf
Definition imgui.h:2644
const char * c_str() const
Definition imgui.h:2655
IMGUI_API void appendfv(const char *fmt, va_list args) IM_FMTLIST(2)
Definition imgui.cpp:2898
const char * begin() const
Definition imgui.h:2649
bool empty() const
Definition imgui.h:2652
IMGUI_API ImGuiTextFilter(const char *default_filter="")
Definition imgui.cpp:2763
ImVector< ImGuiTextRange > Filters
Definition imgui.h:2636
bool IsActive() const
Definition imgui.h:2622
IMGUI_API bool PassFilter(const char *text, const char *text_end=NULL) const
Definition imgui.cpp:2822
void Clear()
Definition imgui.h:2621
IMGUI_API bool Draw(const char *label="Filter (inc,-exc)", float width=0.0f)
Definition imgui.cpp:2774
int CountGrep
Definition imgui.h:2637
char InputBuf[256]
Definition imgui.h:2635
IMGUI_API void Build()
Definition imgui.cpp:2802
void * PlatformUserData
Definition imgui.h:3595
ImGuiViewportFlags Flags
Definition imgui.h:3580
ImVec2 Pos
Definition imgui.h:3581
ImGuiID ParentViewportId
Definition imgui.h:3586
ImGuiID ID
Definition imgui.h:3579
ImVec2 GetWorkCenter() const
Definition imgui.h:3608
bool PlatformRequestMove
Definition imgui.h:3599
bool PlatformWindowCreated
Definition imgui.h:3598
float DpiScale
Definition imgui.h:3585
ImVec2 WorkPos
Definition imgui.h:3583
void * PlatformHandle
Definition imgui.h:3596
~ImGuiViewport()
Definition imgui.h:3604
ImGuiViewport()
Definition imgui.h:3603
void * RendererUserData
Definition imgui.h:3594
void * PlatformHandleRaw
Definition imgui.h:3597
ImVec2 Size
Definition imgui.h:3582
ImVec2 WorkSize
Definition imgui.h:3584
bool PlatformRequestClose
Definition imgui.h:3601
ImDrawData * DrawData
Definition imgui.h:3587
bool PlatformRequestResize
Definition imgui.h:3600
ImVec2 GetCenter() const
Definition imgui.h:3607
ImGuiDockNodeFlags DockNodeFlagsOverrideSet
Definition imgui.h:2564
ImGuiID ClassId
Definition imgui.h:2558
ImGuiViewportFlags ViewportFlagsOverrideSet
Definition imgui.h:2561
ImGuiViewportFlags ViewportFlagsOverrideClear
Definition imgui.h:2562
ImGuiID FocusRouteParentWindowId
Definition imgui.h:2560
bool DockingAlwaysTabBar
Definition imgui.h:2565
ImGuiID ParentViewportId
Definition imgui.h:2559
bool DockingAllowUnclassed
Definition imgui.h:2566
ImGuiTabItemFlags TabItemFlagsOverrideSet
Definition imgui.h:2563
ImGuiWindowClass()
Definition imgui.h:2568
float y
Definition imgui.h:294
float x
Definition imgui.h:294
float & operator[](size_t idx)
Definition imgui.h:297
constexpr ImVec2()
Definition imgui.h:295
constexpr ImVec2(float _x, float _y)
Definition imgui.h:296
float x
Definition imgui.h:307
constexpr ImVec4()
Definition imgui.h:308
float y
Definition imgui.h:307
float z
Definition imgui.h:307
constexpr ImVec4(float _x, float _y, float _z, float _w)
Definition imgui.h:309
float w
Definition imgui.h:307
bool find_erase_unsorted(const T &v)
Definition imgui.h:2183
void reserve(int new_capacity)
Definition imgui.h:2167
void push_front(const T &v)
Definition imgui.h:2173
const T & operator[](int i) const
Definition imgui.h:2151
const T * begin() const
Definition imgui.h:2154
const T * find(const T &v) const
Definition imgui.h:2180
T * end()
Definition imgui.h:2155
T & back()
Definition imgui.h:2159
bool contains(const T &v) const
Definition imgui.h:2178
T * erase(const T *it)
Definition imgui.h:2174
int find_index(const T &v) const
Definition imgui.h:2181
int _grow_capacity(int sz) const
Definition imgui.h:2163
void pop_back()
Definition imgui.h:2172
int index_from_ptr(const T *it) const
Definition imgui.h:2184
T * find(const T &v)
Definition imgui.h:2179
void reserve_discard(int new_capacity)
Definition imgui.h:2168
const T * end() const
Definition imgui.h:2156
bool find_erase(const T &v)
Definition imgui.h:2182
T * insert(const T *it, const T &v)
Definition imgui.h:2177
ImVector()
Definition imgui.h:2136
T & front()
Definition imgui.h:2157
int max_size() const
Definition imgui.h:2148
ImVector(const ImVector< T > &src)
Definition imgui.h:2137
const T & front() const
Definition imgui.h:2158
value_type * iterator
Definition imgui.h:2132
T * erase_unsorted(const T *it)
Definition imgui.h:2176
T value_type
Definition imgui.h:2131
int size() const
Definition imgui.h:2146
void shrink(int new_size)
Definition imgui.h:2166
T * erase(const T *it, const T *it_last)
Definition imgui.h:2175
~ImVector()
Definition imgui.h:2139
bool empty() const
Definition imgui.h:2145
ImVector< T > & operator=(const ImVector< T > &src)
Definition imgui.h:2138
void push_back(const T &v)
Definition imgui.h:2171
const T & back() const
Definition imgui.h:2160
T * begin()
Definition imgui.h:2153
int Size
Definition imgui.h:2126
int Capacity
Definition imgui.h:2127
void resize(int new_size, const T &v)
Definition imgui.h:2165
T * Data
Definition imgui.h:2128
int capacity() const
Definition imgui.h:2149
void clear_destruct()
Definition imgui.h:2143
void resize(int new_size)
Definition imgui.h:2164
int size_in_bytes() const
Definition imgui.h:2147
void clear()
Definition imgui.h:2141
T & operator[](int i)
Definition imgui.h:2150
void clear_delete()
Definition imgui.h:2142
const value_type * const_iterator
Definition imgui.h:2133
void swap(ImVector< T > &rhs)
Definition imgui.h:2161