Go to the documentation of this file.
41 #ifdef IMGUI_USER_CONFIG
42 #include IMGUI_USER_CONFIG
44 #if !defined(IMGUI_DISABLE_INCLUDE_IMCONFIG_H) || defined(IMGUI_INCLUDE_IMCONFIG_H)
62 #define IMGUI_VERSION "1.76 WIP"
63 #define IMGUI_VERSION_NUM 17502
64 #define IMGUI_CHECKVERSION() ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx))
72 #ifndef IMGUI_IMPL_API
73 #define IMGUI_IMPL_API IMGUI_API
79 #define IM_ASSERT(_EXPR) assert(_EXPR) // You can override the default assert handler by editing imconfig.h
81 #if !defined(IMGUI_USE_STB_SPRINTF) && (defined(__clang__) || defined(__GNUC__))
82 #define IM_FMTARGS(FMT) __attribute__((format(printf, FMT, FMT+1))) // To apply printf-style warnings to our functions.
83 #define IM_FMTLIST(FMT) __attribute__((format(printf, FMT, 0)))
85 #define IM_FMTARGS(FMT)
86 #define IM_FMTLIST(FMT)
88 #define IM_ARRAYSIZE(_ARR) ((int)(sizeof(_ARR) / sizeof(*_ARR))) // Size of a static C-style array. Don't use on pointers!
89 #define IM_UNUSED(_VAR) ((void)_VAR) // Used to silence "unused variable warnings". Often useful as asserts may be stripped out from final builds.
90 #if (__cplusplus >= 201100)
91 #define IM_OFFSETOF(_TYPE,_MEMBER) offsetof(_TYPE, _MEMBER) // Offset of _MEMBER within _TYPE. Standardized as offsetof() in C++11
93 #define IM_OFFSETOF(_TYPE,_MEMBER) ((size_t)&(((_TYPE*)0)->_MEMBER)) // Offset of _MEMBER within _TYPE. Old style macro.
97 #if defined(__clang__)
98 #pragma clang diagnostic push
99 #pragma clang diagnostic ignored "-Wold-style-cast"
100 #if __has_warning("-Wzero-as-null-pointer-constant")
101 #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
103 #elif defined(__GNUC__)
104 #pragma GCC diagnostic push
105 #pragma GCC diagnostic ignored "-Wpragmas" // warning: unknown option after '#pragma GCC diagnostic' kind
106 #pragma GCC diagnostic ignored "-Wclass-memaccess" // [__GNUC__ >= 8] warning: 'memset/memcpy' clearing/writing an object of type 'xxxx' with no trivial copy-assignment; use assignment or value-initialization instead
171 #ifndef ImTextureID // ImTextureID [configurable type: override in imconfig.h with '#define ImTextureID xxx']
182 #ifdef IMGUI_USE_WCHAR32 // ImWchar [configurable type: override in imconfig.h with '#define IMGUI_USE_WCHAR32' to support Unicode planes 1-16]
195 #if defined(_MSC_VER) && !defined(__clang__)
196 typedef signed __int64
ImS64;
197 typedef unsigned __int64
ImU64;
198 #elif (defined(__clang__) || defined(__GNUC__)) && (__cplusplus < 201100)
200 typedef int64_t
ImS64;
201 typedef uint64_t
ImU64;
215 #ifdef IM_VEC2_CLASS_EXTRA
225 ImVec4(
float _x,
float _y,
float _z,
float _w) {
x = _x;
y = _y;
z = _z;
w = _w; }
226 #ifdef IM_VEC4_CLASS_EXTRA
410 IMGUI_API void PushID(
const char* str_id_begin,
const char* str_id_end);
440 IMGUI_API void Image(
ImTextureID user_texture_id,
const ImVec2&
size,
const ImVec2& uv0 =
ImVec2(0,0),
const ImVec2& uv1 =
ImVec2(1,1),
const ImVec4& tint_col =
ImVec4(1,1,1,1),
const ImVec4& border_col =
ImVec4(0,0,0,0));
441 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));
561 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));
563 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));
693 IMGUI_API void CalcListClipping(
int items_count,
float items_height,
int* out_items_display_start,
int* out_items_display_end);
954 #define IMGUI_PAYLOAD_TYPE_COLOR_3F "_COL3F" // float[3]: Standard type for colors, without alpha. User code may use this type.
955 #define IMGUI_PAYLOAD_TYPE_COLOR_4F "_COL4F" // float[4]: Standard type for colors. User code may use this type.
1137 #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1179 #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1225 #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1257 #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1281 inline void*
operator new(size_t,
ImNewDummy,
void* ptr) {
return ptr; }
1283 #define IM_ALLOC(_SIZE) ImGui::MemAlloc(_SIZE)
1284 #define IM_FREE(_PTR) ImGui::MemFree(_PTR)
1285 #define IM_PLACEMENT_NEW(_PTR) new(ImNewDummy(), _PTR)
1286 #define IM_NEW(_TYPE) new(ImNewDummy(), ImGui::MemAlloc(sizeof(_TYPE))) _TYPE
1300 template<
typename T>
1318 inline bool empty()
const {
return Size == 0; }
1319 inline int size()
const {
return Size; }
1327 inline const T*
begin()
const {
return Data; }
1328 inline T*
end() {
return Data + Size; }
1329 inline const T*
end()
const {
return Data + Size; }
1336 inline int _grow_capacity(
int sz)
const {
int new_capacity = Capacity ? (Capacity + Capacity/2) : 8;
return new_capacity > sz ? new_capacity : sz; }
1337 inline void resize(
int new_size) {
if (new_size > Capacity)
reserve(_grow_capacity(new_size)); Size = new_size; }
1338 inline void resize(
int new_size,
const T&
v) {
if (new_size > Capacity)
reserve(_grow_capacity(new_size));
if (new_size > Size)
for (
int n = Size;
n < new_size;
n++) memcpy(&Data[
n], &
v,
sizeof(
v)); Size = new_size; }
1340 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; }
1343 inline void push_back(
const T&
v) {
if (Size == Capacity)
reserve(_grow_capacity(Size + 1)); memcpy(&Data[Size], &
v,
sizeof(
v)); Size++; }
1346 inline T*
erase(
const T*
it) {
IM_ASSERT(
it >= Data &&
it < Data+Size);
const ptrdiff_t off =
it - Data; memmove(Data + off, Data + off + 1, ((
size_t)Size - (
size_t)off - 1) *
sizeof(
T)); Size--;
return Data + off; }
1347 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 -
count) *
sizeof(
T)); Size -= (int)
count;
return Data + off; }
1348 inline T*
erase_unsorted(
const T*
it) {
IM_ASSERT(
it >= Data &&
it < Data+Size);
const ptrdiff_t off =
it - Data;
if (
it < Data+Size-1) memcpy(Data + off, Data + Size - 1,
sizeof(
T)); Size--;
return Data + off; }
1349 inline T*
insert(
const T*
it,
const T&
v) {
IM_ASSERT(
it >= Data &&
it <= Data+Size);
const ptrdiff_t off =
it - Data;
if (Size == Capacity)
reserve(_grow_capacity(Size + 1));
if (off < (
int)Size) memmove(Data + off + 1, Data + off, ((
size_t)Size - (
size_t)off) *
sizeof(
T)); memcpy(&Data[off], &
v,
sizeof(
v)); Size++;
return Data + off; }
1350 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; }
1352 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; }
1353 inline bool find_erase(
const T&
v) {
const T*
it = find(
v);
if (
it < Data + Size) { erase(
it);
return true; }
return false; }
1405 IMGUI_API void ScaleAllSizes(
float scale_factor);
1463 const char* (*GetClipboardTextFn)(
void* user_data);
1464 void (*SetClipboardTextFn)(
void* user_data,
const char* text);
1469 void (*ImeSetInputScreenPosFn)(
int x,
int y);
1472 #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1478 void* RenderDrawListsFnUnused;
1497 IMGUI_API void AddInputCharacter(
unsigned int c);
1499 IMGUI_API void AddInputCharactersUTF8(
const char*
str);
1528 double MouseClickedTime[5];
1529 bool MouseClicked[5];
1530 bool MouseDoubleClicked[5];
1531 bool MouseReleased[5];
1532 bool MouseDownOwned[5];
1533 bool MouseDownWasDoubleClick[5];
1534 float MouseDownDuration[5];
1535 float MouseDownDurationPrev[5];
1537 float MouseDragMaxDistanceSqr[5];
1538 float KeysDownDuration[512];
1539 float KeysDownDurationPrev[512];
1582 IMGUI_API void DeleteChars(
int pos,
int bytes_count);
1583 IMGUI_API void InsertChars(
int pos,
const char* text,
const char* text_end =
NULL);
1608 char DataType[32+1];
1613 void Clear() { SourceId = SourceParentId = 0; Data =
NULL; DataSize = 0; memset(DataType, 0,
sizeof(DataType)); DataFrameCount = -1; Preview = Delivery =
false; }
1624 #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1658 #define IM_UNICODE_CODEPOINT_INVALID 0xFFFD // Invalid Unicode code point (standard value).
1659 #ifdef IMGUI_USE_WCHAR32
1660 #define IM_UNICODE_CODEPOINT_MAX 0x10FFFF // Maximum Unicode code point supported by this build.
1662 #define IM_UNICODE_CODEPOINT_MAX 0xFFFF // Maximum Unicode code point supported by this build.
1671 operator bool()
const {
int current_frame =
ImGui::GetFrameCount();
if (RefFrame == current_frame)
return false; RefFrame = current_frame;
return true; }
1679 IMGUI_API bool PassFilter(
const char* text,
const char* text_end =
NULL)
const;
1681 void Clear() { InputBuf[0] = 0; Build(); }
1710 const char*
end()
const {
return Buf.
Data ? &Buf.
back() : EmptyString; }
1735 union {
int val_i;
float val_f;
void*
val_p; };
1807 #ifdef IMGUI_USE_BGRA_PACKED_COLOR
1808 #define IM_COL32_R_SHIFT 16
1809 #define IM_COL32_G_SHIFT 8
1810 #define IM_COL32_B_SHIFT 0
1811 #define IM_COL32_A_SHIFT 24
1812 #define IM_COL32_A_MASK 0xFF000000
1814 #define IM_COL32_R_SHIFT 0
1815 #define IM_COL32_G_SHIFT 8
1816 #define IM_COL32_B_SHIFT 16
1817 #define IM_COL32_A_SHIFT 24
1818 #define IM_COL32_A_MASK 0xFF000000
1820 #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))
1821 #define IM_COL32_WHITE IM_COL32(255,255,255,255) // Opaque white = 0xFFFFFFFF
1822 #define IM_COL32_BLACK IM_COL32(0,0,0,255) // Opaque black
1823 #define IM_COL32_BLACK_TRANS IM_COL32(0,0,0,0) // Transparent black = 0x00000000
1843 static ImColor HSV(
float h,
float s,
float v,
float a = 1.0
f) {
float r,
g,
b;
ImGui::ColorConvertHSVtoRGB(
h,
s,
v,
r,
g,
b);
return ImColor(
r,
g,
b,
a); }
1858 #ifndef ImDrawCallback
1866 #define ImDrawCallback_ResetRenderState (ImDrawCallback)(-1)
1892 #ifndef IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT
1904 IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT;
1924 inline void Clear() { _Current = 0; _Count = 1; }
1985 IMGUI_API void PushClipRectFullScreen();
2005 IMGUI_API void AddCircle(
const ImVec2& center,
float radius,
ImU32 col,
int num_segments = 12,
float thickness = 1.0
f);
2006 IMGUI_API void AddCircleFilled(
const ImVec2& center,
float radius,
ImU32 col,
int num_segments = 12);
2007 IMGUI_API void AddNgon(
const ImVec2& center,
float radius,
ImU32 col,
int num_segments,
float thickness = 1.0
f);
2010 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.0
f,
const ImVec4* cpu_fine_clip_rect =
NULL);
2011 IMGUI_API void AddPolyline(
const ImVec2* points,
int num_points,
ImU32 col,
bool closed,
float thickness);
2020 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);
2029 IMGUI_API void PathArcTo(
const ImVec2& center,
float radius,
float a_min,
float a_max,
int num_segments = 10);
2030 IMGUI_API void PathArcToFast(
const ImVec2& center,
float radius,
int a_min_of_12,
int a_max_of_12);
2053 IMGUI_API void PrimReserve(
int idx_count,
int vtx_count);
2054 IMGUI_API void PrimUnreserve(
int idx_count,
int vtx_count);
2082 void Clear() { Valid =
false; CmdLists =
NULL; CmdListsCount = TotalVtxCount = TotalIdxCount = 0; DisplayPos = DisplaySize = FramebufferScale =
ImVec2(0.
f, 0.
f); }
2137 inline bool GetBit(
size_t n)
const {
int off = (int)(
n >> 5);
ImU32 mask = 1u << (
n & 31);
return (UsedChars[off] &
mask) != 0; }
2140 IMGUI_API void AddText(
const char* text,
const char* text_end =
NULL);
2203 IMGUI_API void GetTexDataAsAlpha8(
unsigned char** out_pixels,
int* out_width,
int* out_height,
int* out_bytes_per_pixel =
NULL);
2204 IMGUI_API void GetTexDataAsRGBA32(
unsigned char** out_pixels,
int* out_width,
int* out_height,
int* out_bytes_per_pixel =
NULL);
2205 bool IsBuilt()
const {
return Fonts.Size > 0 && (TexPixelsAlpha8 !=
NULL || TexPixelsRGBA32 !=
NULL); }
2262 int CustomRectIds[1];
2264 #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
2308 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;
2309 IMGUI_API const char* CalcWordWrapPositionA(
float scale,
const char* text,
const char* text_end,
float wrap_width)
const;
2317 IMGUI_API void AddGlyph(
ImWchar c,
float x0,
float y0,
float x1,
float y1,
float u0,
float v0,
float u1,
float v1,
float advance_x);
2321 IMGUI_API bool IsGlyphRangeUnused(
unsigned int c_begin,
unsigned int c_last);
2324 #if defined(__clang__)
2325 #pragma clang diagnostic pop
2326 #elif defined(__GNUC__)
2327 #pragma GCC diagnostic pop
2331 #ifdef IMGUI_INCLUDE_IMGUI_USER_H
2332 #include "imgui_user.h"
2335 #endif // #ifndef IMGUI_DISABLE
@ ImGuiCol_DragDropTarget
IMGUI_API ImVec2 GetCursorStartPos()
@ ImGuiMouseCursor_ResizeEW
IMGUI_API void LogButtons()
IMGUI_API void LoadIniSettingsFromDisk(const char *ini_filename)
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)
IMGUI_API void CaptureKeyboardFromApp(bool want_capture_keyboard_value=true)
IMGUI_API bool BeginTabBar(const char *str_id, ImGuiTabBarFlags flags=0)
@ ImGuiComboFlags_HeightMask_
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")
IMGUI_API void PopButtonRepeat()
IMGUI_API void PushItemWidth(float item_width)
@ ImGuiColorEditFlags_InputHSV
IMGUI_API bool InputInt3(const char *label, int v[3], ImGuiInputTextFlags flags=0)
IMGUI_API void EndDragDropSource()
IMGUI_API void EndMenuBar()
IMGUI_API void SetNextWindowSizeConstraints(const ImVec2 &size_min, const ImVec2 &size_max, ImGuiSizeCallback custom_callback=NULL, void *custom_callback_data=NULL)
IMGUI_API void ListBoxFooter()
IMGUI_API bool BeginPopup(const char *str_id, ImGuiWindowFlags flags=0)
GLuint const GLchar * name
@ ImGuiInputTextFlags_CallbackResize
IMGUI_API void TextColored(const ImVec4 &col, const char *fmt,...) IM_FMTARGS(2)
IMGUI_API bool BeginPopupContextWindow(const char *str_id=NULL, ImGuiMouseButton mouse_button=1, bool also_over_items=true)
IMGUI_API bool BeginPopupContextVoid(const char *str_id=NULL, ImGuiMouseButton mouse_button=1)
@ ImGuiColorEditFlags_HDR
IMGUI_API bool IsWindowFocused(ImGuiFocusedFlags flags=0)
IMGUI_API float GetTreeNodeToLabelSpacing()
IMGUI_API ImVec2 GetFontTexUvWhitePixel()
@ ImDrawCornerFlags_TopRight
@ ImGuiDragDropFlags_AcceptPeekOnly
@ ImGuiWindowFlags_NoScrollbar
IMGUI_API bool IsWindowAppearing()
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", float power=1.0f)
IMGUI_API float GetScrollY()
GLint GLsizei GLsizei height
IMGUI_API void LabelTextV(const char *label, const char *fmt, va_list args) IM_FMTLIST(2)
IMGUI_API void TextColoredV(const ImVec4 &col, const char *fmt, va_list args) IM_FMTLIST(2)
@ ImGuiComboFlags_HeightSmall
static void insert(upb_table *t, lookupkey_t key, upb_tabkey tabkey, upb_value val, uint32_t hash, hashfunc_t *hashfunc, eqlfunc_t *eql)
IMGUI_API bool IsWindowHovered(ImGuiHoveredFlags flags=0)
@ ImGuiInputTextFlags_NoHorizontalScroll
@ ImGuiColorEditFlags_NoInputs
IMGUI_API float GetColumnOffset(int column_index=-1)
@ ImGuiColorEditFlags_NoDragDrop
const IMGUI_API ImGuiPayload * GetDragDropPayload()
ImGuiStoragePair(ImGuiID _key, void *_val_p)
@ ImGuiStyleVar_PopupRounding
IMGUI_API void SetCursorPosX(float local_x)
IMGUI_API void ColorConvertRGBtoHSV(float r, float g, float b, float &out_h, float &out_s, float &out_v)
IMGUI_API float GetColumnWidth(int column_index=-1)
ImVector< ImDrawIdx > IdxBuffer
IMGUI_API ImGuiID GetID(const char *str_id)
@ ImDrawListFlags_AntiAliasedFill
@ ImGuiHoveredFlags_ChildWindows
IMGUI_API ImVec2 GetWindowContentRegionMin()
@ ImGuiInputTextFlags_CharsHexadecimal
IMGUI_API bool RadioButton(const char *label, bool active)
@ ImGuiComboFlags_HeightLargest
@ ImGuiHoveredFlags_RootAndChildWindows
IMGUI_API void ProgressBar(float fraction, const ImVec2 &size_arg=ImVec2(-1, 0), const char *overlay=NULL)
IMGUI_API bool SliderInt2(const char *label, int v[2], int v_min, int v_max, const char *format="%d")
IMGUI_API void EndTabBar()
ImVec4(float _x, float _y, float _z, float _w)
@ ImGuiStyleVar_ScrollbarRounding
@ ImGuiNavInput_FocusNext
@ ImGuiInputTextFlags_CharsDecimal
IMGUI_API float GetTextLineHeightWithSpacing()
@ ImGuiDragDropFlags_AcceptBeforeDelivery
ImVec2(float _x, float _y)
@ ImGuiColorEditFlags__InputMask
IMGUI_API void PushStyleColor(ImGuiCol idx, ImU32 col)
IMGUI_API void LabelText(const char *label, const char *fmt,...) IM_FMTARGS(2)
@ ImGuiComboFlags_NoPreview
ImVector< ImGuiStoragePair > Data
@ ImGuiWindowFlags_NoBringToFrontOnFocus
@ ImGuiConfigFlags_NavEnableGamepad
IMGUI_API void SetNextWindowPos(const ImVec2 &pos, ImGuiCond cond=0, const ImVec2 &pivot=ImVec2(0, 0))
const char * GetDebugName() const
IMGUI_API ImVec2 GetCursorScreenPos()
IMGUI_API int GetColumnsCount()
IMGUI_API float GetFrameHeightWithSpacing()
const IMGUI_API char * GetClipboardText()
@ ImGuiNavInput_TweakSlow
IMGUI_API ImDrawData * GetDrawData()
IMGUI_API bool BeginMenu(const char *label, bool enabled=true)
int index_from_ptr(const T *it) const
IMGUI_API bool IsItemEdited()
IMGUI_API void ShowAboutWindow(bool *p_open=NULL)
@ ImGuiInputTextFlags_Multiline
@ ImGuiCol_TextSelectedBg
static bool IsAnyWindowFocused()
IMGUI_API bool Button(const char *label, const ImVec2 &size=ImVec2(0, 0))
@ ImGuiWindowFlags_NoBackground
bool ConfigWindowsMoveFromTitleBarOnly
IMGUI_API void LogToTTY(int auto_open_depth=-1)
IMGUI_API ImVec2 GetItemRectMin()
IMGUI_API bool IsItemActive()
IMGUI_API bool ColorPicker4(const char *label, float col[4], ImGuiColorEditFlags flags=0, const float *ref_col=NULL)
@ ImGuiNavInput_TweakFast
@ ImGuiStyleVar_GrabRounding
ImVec2 DisplayFramebufferScale
ImFontAtlas * ContainerAtlas
@ ImGuiCol_ResizeGripHovered
ImVector< ImTextureID > _TextureIdStack
IMGUI_API bool IsMouseDown(ImGuiMouseButton button)
@ ImGuiColorEditFlags__DataTypeMask
IMGUI_API bool IsItemDeactivatedAfterEdit()
IMGUI_API void SetNextItemWidth(float item_width)
IMGUI_API int GetKeyPressedAmount(int key_index, float repeat_delay, float rate)
IMGUI_API bool IsItemToggledOpen()
@ ImGuiStyleVar_WindowTitleAlign
ImVector< T > & operator=(const ImVector< T > &src)
IMGUI_API void SetColorEditOptions(ImGuiColorEditFlags flags)
ImGuiStoragePair(ImGuiID _key, float _val_f)
ImVector< ImFontAtlasCustomRect > CustomRects
const IMGUI_API char * GetVersion()
@ ImGuiStyleVar_ChildRounding
IMGUI_API void PopStyleColor(int count=1)
GLuint GLsizei const GLchar * label
IMGUI_API void SetKeyboardFocusHere(int offset=0)
bool FontDataOwnedByAtlas
ImGuiInputTextFlags EventFlag
@ ImDrawCornerFlags_TopLeft
IMGUI_API void SetNextWindowBgAlpha(float alpha)
IMGUI_API void LogToClipboard(int auto_open_depth=-1)
@ ImGuiTabBarFlags_AutoSelectNewTabs
IMGUI_API void PushAllowKeyboardFocus(bool allow_keyboard_focus)
IMGUI_API void SetScrollY(float scroll_y)
@ ImGuiInputTextFlags_CallbackHistory
void SetHSV(float h, float s, float v, float a=1.0f)
IMGUI_API bool IsAnyItemHovered()
IMGUI_API bool ListBoxHeader(const char *label, const ImVec2 &size=ImVec2(0, 0))
IMGUI_API void Dummy(const ImVec2 &size)
IMGUI_API void StyleColorsLight(ImGuiStyle *dst=NULL)
IMGUI_API void LogText(const char *fmt,...) IM_FMTARGS(1)
@ ImGuiWindowFlags_NoMouseInputs
@ ImGuiColorEditFlags_NoSidePreview
@ ImGuiColorEditFlags__OptionsDefault
@ ImGuiInputTextFlags_CharsScientific
ImVector< ImDrawChannel > _Channels
IMGUI_API int GetKeyIndex(ImGuiKey imgui_key)
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)
@ ImFontAtlasFlags_NoMouseCursors
IMGUI_API bool IsMouseHoveringRect(const ImVec2 &r_min, const ImVec2 &r_max, bool clip=true)
@ ImGuiColorEditFlags_AlphaPreview
float CurveTessellationTol
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, float power=1.0f)
ImVector< float > IndexAdvanceX
void * BackendLanguageUserData
IMGUI_API void PushFont(ImFont *font)
const ImDrawListSharedData * _Data
@ ImGuiTabBarFlags_FittingPolicyScroll
IMGUI_API void Unindent(float indent_w=0.0f)
IMGUI_API void Text(const char *fmt,...) IM_FMTARGS(1)
IMGUI_API bool InvisibleButton(const char *str_id, const ImVec2 &size)
unsigned int * TexPixelsRGBA32
@ ImGuiColorEditFlags_NoPicker
@ ImGuiColorEditFlags_DisplayRGB
ImVector< ImWchar > IndexLookup
IMGUI_API ImVec2 GetWindowContentRegionMax()
@ ImGuiCol_ScrollbarGrabHovered
ImDrawList(const ImDrawListSharedData *shared_data)
IMGUI_API void SameLine(float offset_from_start_x=0.0f, float spacing=-1.0f)
IMGUI_API bool Selectable(const char *label, bool selected=false, ImGuiSelectableFlags flags=0, const ImVec2 &size=ImVec2(0, 0))
@ ImGuiWindowFlags_AlwaysVerticalScrollbar
bool FontAllowUserScaling
@ ImGuiWindowFlags_AlwaysAutoResize
ImVec2 GetClipRectMin() const
@ ImGuiStyleVar_ItemSpacing
IMGUI_API bool SmallButton(const char *label)
int _grow_capacity(int sz) const
IMGUI_API void Merge(ImDrawList *draw_list)
ImWchar16 InputQueueSurrogate
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")
IMGUI_API ImVec2 GetWindowSize()
IMGUI_API void SetScrollHereY(float center_y_ratio=0.5f)
GLfloat GLfloat GLfloat alpha
IMGUI_API void RenderText(ImVec2 pos, const char *text, const char *text_end=NULL, bool hide_text_after_hash=true)
ImFontGlyphRangesBuilder()
IMGUI_API ImGuiIO & GetIO()
IMGUI_API bool VSliderFloat(const char *label, const ImVec2 &size, float *v, float v_min, float v_max, const char *format="%.3f", float power=1.0f)
@ ImGuiHoveredFlags_AnyWindow
@ ImGuiWindowFlags_MenuBar
@ ImGuiStyleVar_ScrollbarSize
void reserve(int capacity)
IMGUI_API bool IsItemVisible()
ImGuiInputTextCallback ImGuiTextEditCallback
#define T(upbtypeconst, upbtype, ctype, default_value)
IMGUI_API bool InputTextMultiline(const char *label, char *buf, size_t buf_size, const ImVec2 &size=ImVec2(0, 0), ImGuiInputTextFlags flags=0, ImGuiInputTextCallback callback=NULL, void *user_data=NULL)
IMGUI_API void PushTextWrapPos(float wrap_local_pos_x=0.0f)
@ ImGuiFocusedFlags_AnyWindow
@ ImGuiWindowFlags_NoSavedSettings
T * insert(const T *it, const T &v)
@ ImGuiTreeNodeFlags_Framed
IMGUI_API bool BeginDragDropSource(ImGuiDragDropFlags flags=0)
@ ImGuiComboFlags_PopupAlignLeft
static ImDrawList * GetOverlayDrawList()
IMGUI_API int GetColumnIndex()
@ ImGuiNavInput_InternalStart_
IMGUI_API ImGuiMouseCursor GetMouseCursor()
@ ImGuiConfigFlags_IsTouchScreen
IMGUI_API bool CheckboxFlags(const char *label, unsigned int *flags, unsigned int flags_value)
IMGUI_API void SetMouseCursor(ImGuiMouseCursor cursor_type)
IMGUI_API void LogFinish()
IMGUI_API float GetWindowWidth()
static uint32_t idx(tarjan *t, const upb_refcounted *r)
@ ImGuiWindowFlags_ChildMenu
ImVector< ImDrawCmd > CmdBuffer
IMGUI_API void BulletTextV(const char *fmt, va_list args) IM_FMTLIST(1)
ImFontGlyphRangesBuilder GlyphRangesBuilder
@ ImGuiStyleVar_ChildBorderSize
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, float power=1.0f)
@ ImGuiTabBarFlags_FittingPolicyResizeDown
@ ImGuiColorEditFlags_NoTooltip
IMGUI_API ImVec2 GetMouseDragDelta(ImGuiMouseButton button=0, float lock_threshold=-1.0f)
IMGUI_API void EndCombo()
@ ImGuiHoveredFlags_AllowWhenBlockedByPopup
IMGUI_API bool TreeNodeV(const char *str_id, const char *fmt, va_list args) IM_FMTLIST(2)
@ ImGuiColorEditFlags_HSV
@ ImGuiTabBarFlags_TabListPopupButton
ImVec2 SelectableTextAlign
IMGUI_API bool InputInt2(const char *label, int v[2], ImGuiInputTextFlags flags=0)
IMGUI_API bool ColorEdit4(const char *label, float col[4], ImGuiColorEditFlags flags=0)
@ ImGuiInputTextFlags_CharsNoBlank
@ ImGuiTabBarFlags_NoCloseWithMiddleMouseButton
@ ImGuiInputTextFlags_Password
IMGUI_API bool SliderFloat2(const char *label, float v[2], float v_min, float v_max, const char *format="%.3f", float power=1.0f)
GLboolean GLboolean GLboolean b
@ ImGuiNavInput_LStickLeft
ImGuiDir ColorButtonPosition
static float GetContentRegionAvailWidth()
IMGUI_API bool IsItemClicked(ImGuiMouseButton mouse_button=0)
IMGUI_API void TextDisabledV(const char *fmt, va_list args) IM_FMTLIST(1)
IMGUI_API bool IsPopupOpen(const char *str_id)
@ ImGuiCol_PlotLinesHovered
IMGUI_API bool IsItemHovered(ImGuiHoveredFlags flags=0)
@ ImGuiInputTextFlags_CallbackCompletion
IMGUI_API void SetStateStorage(ImGuiStorage *storage)
IMGUI_API void Separator()
GLenum GLsizei GLsizei GLint * values
ImDrawCallback UserCallback
void PrimWriteVtx(const ImVec2 &pos, const ImVec2 &uv, ImU32 col)
IMGUI_API void ShowStyleEditor(ImGuiStyle *ref=NULL)
@ ImGuiInputTextFlags_None
@ ImGuiSelectableFlags_SpanAllColumns
IMGUI_API void BeginGroup()
IMGUI_API void SetCursorPos(const ImVec2 &local_pos)
const char * c_str() const
@ ImGuiBackendFlags_HasMouseCursors
GLenum GLenum GLsizei const GLuint GLboolean enabled
IMGUI_API bool BeginCombo(const char *label, const char *preview_value, ImGuiComboFlags flags=0)
IMGUI_API void SaveIniSettingsToDisk(const char *ini_filename)
IMGUI_API void SetCurrentChannel(ImDrawList *draw_list, int channel_idx)
@ ImGuiStyleVar_FrameBorderSize
IMGUI_API bool DragScalarN(const char *label, ImGuiDataType data_type, void *p_data, int components, float v_speed, const void *p_min=NULL, const void *p_max=NULL, const char *format=NULL, float power=1.0f)
void(* ImDrawCallback)(const ImDrawList *parent_list, const ImDrawCmd *cmd)
IMGUI_API float GetScrollX()
@ ImGuiComboFlags_HeightRegular
@ ImGuiWindowFlags_AlwaysUseWindowPadding
@ ImGuiTreeNodeFlags_SpanAvailWidth
IMGUI_API void CalcListClipping(int items_count, float items_height, int *out_items_display_start, int *out_items_display_end)
@ ImGuiStyleVar_GrabMinSize
IMGUI_API bool IsKeyPressed(int user_key_index, bool repeat=true)
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)
@ ImGuiFocusedFlags_RootAndChildWindows
bool ConfigInputTextCursorBlink
IMGUI_API void PlotHistogram(const char *label, const float *values, int values_count, int values_offset=0, const char *overlay_text=NULL, float scale_min=FLT_MAX, float scale_max=FLT_MAX, ImVec2 graph_size=ImVec2(0, 0), int stride=sizeof(float))
IMGUI_API bool Combo(const char *label, int *current_item, const char *const items[], int items_count, int popup_max_height_in_items=-1)
@ ImGuiMouseCursor_NotAllowed
IMGUI_API void SetWindowFontScale(float scale)
IMGUI_API ImDrawList * GetBackgroundDrawList()
@ ImGuiInputTextFlags_CallbackAlways
int(* ImGuiInputTextCallback)(ImGuiInputTextCallbackData *data)
@ ImGuiHoveredFlags_AllowWhenDisabled
@ ImGuiColorEditFlags_Uint8
@ ImGuiTabItemFlags_NoCloseWithMiddleMouseButton
IMGUI_API void ColorConvertHSVtoRGB(float h, float s, float v, float &out_r, float &out_g, float &out_b)
static ImVec2 CalcItemRectClosestPoint(const ImVec2 &pos, bool on_edge=false, float outward=0.f)
IMGUI_API void SetNextWindowFocus()
IMGUI_API void SetItemAllowOverlap()
@ ImGuiColorEditFlags_NoBorder
IMGUI_API void SetItemDefaultFocus()
IMGUI_API bool BeginPopupContextItem(const char *str_id=NULL, ImGuiMouseButton mouse_button=1)
bool ConfigMacOSXBehaviors
GLint GLenum GLboolean GLsizei stride
GLint GLint GLsizei GLint border
IMGUI_API void SetTooltipV(const char *fmt, va_list args) IM_FMTLIST(1)
static const char prefix[]
IMGUI_API void SetScrollX(float scroll_x)
@ ImGuiTreeNodeFlags_None
IMGUI_API void ShowDemoWindow(bool *p_open=NULL)
ImGuiConfigFlags ConfigFlags
@ ImGuiStyleVar_WindowMinSize
@ ImGuiSelectableFlags_AllowItemOverlap
@ ImGuiNavInput_FocusPrev
ImVec2 GetClipRectMax() const
IMGUI_API bool TreeNodeEx(const char *label, ImGuiTreeNodeFlags flags=0)
@ ImGuiColorEditFlags_AlphaBar
@ ImGuiHoveredFlags_RootWindow
IMGUI_API bool BeginChild(const char *str_id, const ImVec2 &size=ImVec2(0, 0), bool border=false, ImGuiWindowFlags flags=0)
IMGUI_API void ShowUserGuide()
GLint GLint GLsizei GLint GLenum format
@ ImGuiColorEditFlags_None
float CircleSegmentMaxError
@ ImGuiInputTextFlags_ReadOnly
IMGUI_API void Columns(int count=1, const char *id=NULL, bool border=true)
const char * begin() const
@ ImGuiBackendFlags_HasSetMousePos
ImColor(int r, int g, int b, int a=255)
IMGUI_API float GetScrollMaxX()
static bool reserve(upb_pb_encoder *e, size_t bytes)
@ ImGuiStyleVar_SelectableTextAlign
@ ImGuiDragDropFlags_SourceNoDisableHover
void push_back(const T &v)
@ ImGuiCol_SeparatorActive
bool find_erase(const T &v)
@ ImGuiTreeNodeFlags_FramePadding
IMGUI_API void * MemAlloc(size_t size)
ImVector< ImGuiTextRange > Filters
IMGUI_API void TextDisabled(const char *fmt,...) IM_FMTARGS(1)
static void BuildLookupTable(StringPiece characters_wanted, bool *table)
GTEST_API_ const char * fmt
IMGUI_API void PushID(const char *str_id)
IMGUI_API float GetCursorPosX()
@ ImGuiSelectableFlags_DontClosePopups
IMGUI_API float CalcItemWidth()
IMGUI_API bool InputFloat4(const char *label, float v[4], const char *format="%.3f", ImGuiInputTextFlags flags=0)
@ ImGuiStyleVar_PopupBorderSize
const IMGUI_API ImVec4 & GetStyleColorVec4(ImGuiCol idx)
IMGUI_API void SetTooltip(const char *fmt,...) IM_FMTARGS(1)
IMGUI_API bool SliderFloat(const char *label, float *v, float v_min, float v_max, const char *format="%.3f", float power=1.0f)
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")
@ ImGuiInputTextFlags_EnterReturnsTrue
ImDrawListSplitter _Splitter
ImVec2 DisplaySafeAreaPadding
IMGUI_API void DestroyContext(ImGuiContext *ctx=NULL)
IMGUI_API void EndGroup()
IMGUI_API bool OpenPopupOnItemClick(const char *str_id=NULL, ImGuiMouseButton mouse_button=1)
IMGUI_API bool IsWindowCollapsed()
IMGUI_API bool SliderFloat3(const char *label, float v[3], float v_min, float v_max, const char *format="%.3f", float power=1.0f)
unsigned int RasterizerFlags
const ImFontConfig * ConfigData
IMGUI_API bool BeginTabItem(const char *label, bool *p_open=NULL, ImGuiTabItemFlags flags=0)
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)
@ ImGuiColorEditFlags_DisplayHSV
bool find_erase_unsorted(const T &v)
IMGUI_API bool TreeNode(const char *label)
IMGUI_API void EndFrame()
IMGUI_API bool BeginDragDropTarget()
@ ImGuiInputTextFlags_AutoSelectAll
unsigned int _VtxCurrentOffset
IMGUI_API ImGuiStorage * GetStateStorage()
@ ImGuiTreeNodeFlags_AllowItemOverlap
IMGUI_API bool ShowStyleSelector(const char *label)
@ ImGuiColorEditFlags_PickerHueBar
IMGUI_API bool InputInt4(const char *label, int v[4], ImGuiInputTextFlags flags=0)
const IMGUI_API char * SaveIniSettingsToMemory(size_t *out_ini_size=NULL)
IMGUI_API bool IsKeyReleased(int user_key_index)
@ ImGuiMouseCursor_ResizeAll
void reserve(int new_capacity)
IMGUI_API bool InputTextWithHint(const char *label, const char *hint, char *buf, size_t buf_size, ImGuiInputTextFlags flags=0, ImGuiInputTextCallback callback=NULL, void *user_data=NULL)
IMGUI_API 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", float power=1.0f)
@ ImGuiCol_PlotHistogramHovered
IMGUI_API bool VSliderInt(const char *label, const ImVec2 &size, int *v, int v_min, int v_max, const char *format="%d")
@ ImGuiColorEditFlags_AlphaPreviewHalf
@ ImGuiWindowFlags_Tooltip
IMGUI_API bool MenuItem(const char *label, const char *shortcut=NULL, bool selected=false, bool enabled=true)
@ ImGuiHoveredFlags_AllowWhenOverlapped
@ ImGuiDragDropFlags_SourceAllowNullID
IMGUI_API bool SliderInt3(const char *label, int v[3], int v_min, int v_max, const char *format="%d")
IMGUI_API ImVec4 ColorConvertU32ToFloat4(ImU32 in)
static bool IsAnyWindowHovered()
@ ImGuiSelectableFlags_Disabled
@ ImGuiWindowFlags_NoFocusOnAppearing
@ ImGuiWindowFlags_HorizontalScrollbar
IMGUI_API void SetColumnWidth(int column_index, float width)
@ ImGuiStyleVar_FramePadding
const ImWchar * GlyphRanges
@ ImGuiColorEditFlags_RGB
IMGUI_API bool Checkbox(const char *label, bool *v)
const IMGUI_API ImGuiPayload * AcceptDragDropPayload(const char *type, ImGuiDragDropFlags flags=0)
@ ImGuiWindowFlags_ChildWindow
@ ImGuiSelectableFlags_None
IMGUI_API bool InputFloat2(const char *label, float v[2], const char *format="%.3f", ImGuiInputTextFlags flags=0)
@ ImGuiStyleVar_ItemInnerSpacing
IMGUI_API void TextWrappedV(const char *fmt, va_list args) IM_FMTLIST(1)
@ ImDrawCornerFlags_BotLeft
IMGUI_API bool IsMousePosValid(const ImVec2 *mouse_pos=NULL)
IMGUI_API bool DragScalar(const char *label, ImGuiDataType data_type, void *p_data, float v_speed, const void *p_min=NULL, const void *p_max=NULL, const char *format=NULL, float power=1.0f)
const typedef value_type * const_iterator
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, float power=1.0f)
unsigned int _VtxCurrentIdx
IMGUI_API ImGuiContext * CreateContext(ImFontAtlas *shared_font_atlas=NULL)
IMGUI_API int GetFrameCount()
@ ImGuiTreeNodeFlags_Leaf
IMGUI_API void LoadIniSettingsFromMemory(const char *ini_data, size_t ini_size=0)
GLenum GLuint GLenum GLsizei const GLchar * buf
const SETUP_TEARDOWN_TESTCONTEXT char * key
IMGUI_API ImVec2 GetMousePos()
float ConfigWindowsMemoryCompactTimer
@ ImGuiCol_TabUnfocusedActive
@ ImGuiSelectableFlags_AllowDoubleClick
IMGUI_API bool IsAnyItemActive()
IMGUI_API void SetNextWindowSize(const ImVec2 &size, ImGuiCond cond=0)
@ ImGuiBackendFlags_RendererHasVtxOffset
@ ImGuiInputTextFlags_NoUndoRedo
IMGUI_API void SetCursorScreenPos(const ImVec2 &pos)
IMGUI_API void Value(const char *prefix, bool b)
@ ImGuiDragDropFlags_SourceNoPreviewTooltip
int size_in_bytes() const
@ ImGuiCol_ScrollbarGrabActive
@ ImGuiDragDropFlags_SourceAutoExpirePayload
IMGUI_API bool SliderInt4(const char *label, int v[4], int v_min, int v_max, const char *format="%d")
bool GetBit(size_t n) const
T * erase(const T *it, const T *it_last)
IMGUI_API void SetNextWindowCollapsed(bool collapsed, ImGuiCond cond=0)
IMGUI_API ImVec2 GetContentRegionAvail()
void ChannelsSetCurrent(int n)
@ ImGuiTreeNodeFlags_NoAutoOpenOnLog
@ ImGuiTreeNodeFlags_NoTreePushOnOpen
IMGUI_API ImDrawList * GetForegroundDrawList()
ImGuiInputTextFlags Flags
IMGUI_API float GetFontSize()
IMGUI_API ImU32 ColorConvertFloat4ToU32(const ImVec4 &in)
typedef void(APIENTRY *GLDEBUGPROCARB)(GLenum source
void PrimVtx(const ImVec2 &pos, const ImVec2 &uv, ImU32 col)
@ ImGuiTabItemFlags_NoPushId
char operator[](int i) const
@ ImGuiStyleVar_WindowRounding
@ ImGuiColorEditFlags__PickerMask
ImVector< ImDrawVert > VtxBuffer
@ ImGuiColorEditFlags_HEX
IMGUI_API void PopStyleVar(int count=1)
IMGUI_API void SetNextItemOpen(bool is_open, ImGuiCond cond=0)
#define X(return_type, attributes, name, parameters)
static void TreeAdvanceToLabelPos()
IMGUI_API bool CollapsingHeader(const char *label, ImGuiTreeNodeFlags flags=0)
IMGUI_API bool InputInt(const char *label, int *v, int step=1, int step_fast=100, ImGuiInputTextFlags flags=0)
IMGUI_API bool InputFloat3(const char *label, float v[3], const char *format="%.3f", ImGuiInputTextFlags flags=0)
IMGUI_API void EndMainMenuBar()
ImColor(const ImVec4 &col)
IMGUI_API ImVec2 CalcTextSize(const char *text, const char *text_end=NULL, bool hide_text_after_double_hash=false, float wrap_width=-1.0f)
IMGUI_API void SetAllocatorFunctions(void *(*alloc_func)(size_t sz, void *user_data), void(*free_func)(void *ptr, void *user_data), void *user_data=NULL)
IMGUI_API float GetWindowHeight()
IMGUI_API void TextWrapped(const char *fmt,...) IM_FMTARGS(1)
IMGUI_API bool IsMouseClicked(ImGuiMouseButton button, bool repeat=false)
@ ImGuiMouseCursor_ResizeNWSE
IMGUI_API bool ArrowButton(const char *str_id, ImGuiDir dir)
IMGUI_API void TextV(const char *fmt, va_list args) IM_FMTLIST(1)
IMGUI_API bool ColorButton(const char *desc_id, const ImVec4 &col, ImGuiColorEditFlags flags=0, ImVec2 size=ImVec2(0, 0))
GLdouble GLdouble GLdouble z
IMGUI_API ImVec2 GetWindowPos()
ImFontAtlasCustomRect CustomRect
const char * BackendPlatformName
ImVector< ImWchar > InputQueueCharacters
IMGUI_API bool IsMouseReleased(ImGuiMouseButton button)
IMGUI_API bool InputText(const char *label, char *buf, size_t buf_size, ImGuiInputTextFlags flags=0, ImGuiInputTextCallback callback=NULL, void *user_data=NULL)
int MetricsActiveAllocations
IMGUI_API void EndTooltip()
@ ImGuiConfigFlags_IsSRGB
@ ImGuiWindowFlags_NoDecoration
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, float power=1.0f)
float GetCharAdvance(ImWchar c) const
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")
@ ImGuiFocusedFlags_RootWindow
IMGUI_API void PopClipRect()
IMGUI_API void ShowFontSelector(const char *label)
void resize(int new_size, const T &v)
@ ImGuiInputTextFlags_CallbackCharFilter
ImVector< ImFont * > Fonts
@ ImGuiHoveredFlags_AllowWhenBlockedByActiveItem
IMGUI_API void AlignTextToFramePadding()
@ ImGuiConfigFlags_NavEnableKeyboard
@ ImGuiTreeNodeFlags_OpenOnDoubleClick
void SetBit(uint32 *has_bits, uint32 has_bit_index)
IMGUI_API void Indent(float indent_w=0.0f)
IMGUI_API bool ColorEdit3(const char *label, float col[3], ImGuiColorEditFlags flags=0)
@ ImGuiTabBarFlags_FittingPolicyMask_
@ ImDrawListFlags_AllowVtxOffset
IMGUI_API void TextUnformatted(const char *text, const char *text_end=NULL)
@ ImGuiColorEditFlags_NoAlpha
IMGUI_API void PopAllowKeyboardFocus()
IMGUI_API void ResetMouseDragDelta(ImGuiMouseButton button=0)
void ChannelsSplit(int count)
IMGUI_API void PushButtonRepeat(bool repeat)
@ ImGuiTreeNodeFlags_SpanFullWidth
IMGUI_API bool IsItemActivated()
IMGUI_API void StyleColorsClassic(ImGuiStyle *dst=NULL)
static bool IsItemDeactivatedAfterChange()
IMGUI_API void BeginTooltip()
ImGuiStoragePair(ImGuiID _key, int _val_i)
IMGUI_API void SetWindowCollapsed(bool collapsed, ImGuiCond cond=0)
ImColor(float r, float g, float b, float a=1.0f)
const T & operator[](int i) const
@ ImGuiColorEditFlags_NoLabel
@ ImGuiTabBarFlags_Reorderable
@ ImGuiTreeNodeFlags_Selected
IMGUI_API bool SetDragDropPayload(const char *type, const void *data, size_t sz, ImGuiCond cond=0)
ROSCPP_DECL std::string append(const std::string &left, const std::string &right)
@ ImGuiStyleVar_ButtonTextAlign
IMGUI_API void PopItemWidth()
@ ImGuiConfigFlags_NavNoCaptureKeyboard
IMGUI_API ImDrawListSharedData * GetDrawListSharedData()
IMGUI_API bool IsMouseDoubleClicked(ImGuiMouseButton button)
ImVec2 DisplayWindowPadding
@ ImGuiWindowFlags_NoMove
@ ImGuiInputTextFlags_AllowTabInput
@ ImGuiTabBarFlags_NoTooltip
@ ImGuiColorEditFlags_PickerHueWheel
IMGUI_API float GetTextLineHeight()
IMGUI_API void NewFrame()
bool ConfigWindowsResizeFromEdges
IMGUI_API void EndTabItem()
@ ImDrawCornerFlags_BotRight
T * erase_unsorted(const T *it)
@ ImGuiWindowFlags_NoNavInputs
float MouseDoubleClickTime
void PathLineToMergeDuplicate(const ImVec2 &pos)
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)
static void SetNextTreeNodeOpen(bool open, ImGuiCond cond=0)
IMGUI_API void PopTextWrapPos()
void PathLineTo(const ImVec2 &pos)
ImVector< ImDrawIdx > _IdxBuffer
@ ImGuiNavInput_KeyRight_
ImGuiInputTextCallbackData ImGuiTextEditCallbackData
void resize(int new_size)
@ ImGuiStyleVar_TabRounding
IMGUI_API float GetCursorPosY()
@ ImGuiWindowFlags_NoNavFocus
@ ImDrawCornerFlags_Right
IMGUI_API ImDrawList * GetWindowDrawList()
IMGUI_API bool Begin(const char *name, bool *p_open=NULL, ImGuiWindowFlags flags=0)
@ ImGuiCol_NavWindowingDimBg
@ ImGuiWindowFlags_UnsavedDocument
@ ImGuiCol_ModalWindowDimBg
IMGUI_API double GetTime()
IMGUI_API void SetWindowFocus()
static void SetScrollHere(float center_ratio=0.5f)
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")
IMGUI_API bool IsMouseDragging(ImGuiMouseButton button, float lock_threshold=-1.0f)
ImGuiListClipper(int items_count=-1, float items_height=-1.0f)
@ ImGuiTabBarFlags_NoTabListScrollingButtons
@ ImGuiMouseCursor_ResizeNESW
@ ImGuiColorEditFlags_DisplayHex
IMGUI_API bool IsItemFocused()
@ ImGuiTreeNodeFlags_DefaultOpen
@ ImGuiDragDropFlags_SourceNoHoldToOpenOthers
@ ImGuiDragDropFlags_SourceExtern
IMGUI_API ImVec2 GetItemRectSize()
IMGUI_API void LogToFile(int auto_open_depth=-1, const char *filename=NULL)
@ ImGuiMouseCursor_TextInput
IMGUI_API void Split(ImDrawList *draw_list, int count)
const char * BackendRendererName
std::vector< string > Split(const string &full, const char *delim, bool skip_empty=true)
ImVector< ImDrawCmd > _CmdBuffer
IMGUI_API void PushStyleVar(ImGuiStyleVar idx, float val)
@ ImGuiCol_SliderGrabActive
@ ImGuiColorEditFlags_NoOptions
ImVector< ImFontConfig > ConfigData
IMGUI_API bool IsAnyMouseDown()
IMGUI_API void SetWindowSize(const ImVec2 &size, ImGuiCond cond=0)
IMGUI_API bool ColorPicker3(const char *label, float col[3], ImGuiColorEditFlags flags=0)
IMGUI_API void TreePush(const char *str_id)
IMGUI_API void SetWindowPos(const ImVec2 &pos, ImGuiCond cond=0)
@ ImGuiTreeNodeFlags_Bullet
IMGUI_API bool BeginMenuBar()
@ ImGuiTabItemFlags_UnsavedDocument
@ ImGuiMouseButton_Middle
IMGUI_API void CaptureMouseFromApp(bool want_capture_mouse_value=true)
IMGUI_API void MemFree(void *ptr)
IMGUI_API void SetCursorPosY(float local_y)
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", float power=1.0f)
ImGuiDir WindowMenuButtonPosition
@ ImGuiWindowFlags_NoCollapse
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", float power=1.0f)
@ ImGuiTabBarFlags_FittingPolicyDefault_
IMGUI_API void SetNextWindowContentSize(const ImVec2 &size)
@ ImGuiConfigFlags_NoMouse
IMGUI_API void SetCurrentContext(ImGuiContext *ctx)
IMGUI_API ImVec2 GetCursorPos()
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
IMGUI_API bool ListBox(const char *label, int *current_item, const char *const items[], int items_count, int height_in_items=-1)
void SetTexID(ImTextureID id)
void * BackendPlatformUserData
@ ImGuiComboFlags_NoArrowButton
float MouseDoubleClickMaxDist
@ ImGuiStyleVar_WindowPadding
IMGUI_API ImVec2 GetItemRectMax()
static ImColor HSV(float h, float s, float v, float a=1.0f)
ImVector(const ImVector< T > &src)
bool contains(const T &v) const
IMGUI_API void NextColumn()
ImVector< ImVec4 > _ClipRectStack
IMGUI_API void SetScrollHereX(float center_x_ratio=0.5f)
@ ImGuiNavInput_LStickDown
IMGUI_API bool IsAnyItemFocused()
@ ImFontAtlasFlags_NoPowerOfTwoHeight
ImDrawVert * _VtxWritePtr
IMGUI_API void SetClipboardText(const char *text)
IMGUI_API float GetFrameHeight()
IMGUI_API void CloseCurrentPopup()
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))
@ ImGuiConfigFlags_NavEnableSetMousePos
@ ImGuiCol_ResizeGripActive
IMGUI_API bool IsRectVisible(const ImVec2 &size)
@ ImGuiWindowFlags_NoTitleBar
@ ImGuiColorEditFlags__DisplayMask
IMGUI_API bool SliderFloat4(const char *label, float v[4], float v_min, float v_max, const char *format="%.3f", float power=1.0f)
#define IM_UNICODE_CODEPOINT_MAX
IMGUI_API ImGuiStyle & GetStyle()
@ ImGuiInputTextFlags_CtrlEnterForNewLine
IMGUI_API bool BeginMainMenuBar()
@ ImGuiWindowFlags_NoScrollWithMouse
@ ImGuiWindowFlags_AlwaysHorizontalScrollbar
@ ImGuiTabItemFlags_SetSelected
@ ImGuiInputTextFlags_CharsUppercase
@ ImGuiInputTextFlags_AlwaysInsertMode
@ ImGuiNavInput_LStickRight
IMGUI_API void PushClipRect(const ImVec2 &clip_rect_min, const ImVec2 &clip_rect_max, bool intersect_with_current_clip_rect)
@ ImGuiCol_NavWindowingHighlight
IMGUI_API float GetWindowContentRegionWidth()
@ ImGuiCol_TitleBgCollapsed
@ ImGuiWindowFlags_NoResize
IMGUI_API void SetTabItemClosed(const char *tab_or_docked_window_label)
IMGUI_API void ShowMetricsWindow(bool *p_open=NULL)
IMGUI_API void EndChild()
@ ImGuiDragDropFlags_AcceptNoDrawDefaultRect
void PrimWriteIdx(ImDrawIdx idx)
float operator[](size_t idx) const
@ ImGuiColorEditFlags_Float
@ ImDrawListFlags_AntiAliasedLines
int MetricsRenderVertices
const IMGUI_API char * GetStyleColorName(ImGuiCol idx)
IMGUI_API ImVec2 GetContentRegionMax()
GLubyte GLubyte GLubyte GLubyte w
@ ImGuiColorEditFlags_NoSmallPreview
IMGUI_API bool TreeNodeExV(const char *str_id, ImGuiTreeNodeFlags flags, const char *fmt, va_list args) IM_FMTLIST(3)
void * BackendRendererUserData
IMGUI_API void OpenPopup(const char *str_id)
IMGUI_API void SetScrollFromPosY(float local_y, float center_y_ratio=0.5f)
@ ImGuiStyleVar_WindowBorderSize
bool HasSelection() const
@ ImGuiCol_FrameBgHovered
unsigned char * TexPixelsAlpha8
@ ImGuiInputTextFlags_NoMarkEdited
IMGUI_API void EndDragDropTarget()
IMGUI_API bool SliderInt(const char *label, int *v, int v_min, int v_max, const char *format="%d")
void(* ImGuiSizeCallback)(ImGuiSizeCallbackData *data)
void shrink(int new_size)
IMGUI_API void StyleColorsDark(ImGuiStyle *dst=NULL)
@ ImGuiCol_SeparatorHovered
@ ImGuiTreeNodeFlags_NavLeftJumpsBackHere
@ ImGuiDragDropFlags_AcceptNoPreviewTooltip
@ ImGuiStyleVar_FrameRounding
IMGUI_API void SetColumnOffset(int column_index, float offset_x)
GLboolean GLboolean GLboolean GLboolean a
@ ImGuiMouseCursor_ResizeNS
@ ImGuiMouseCursor_Count_
const ImFontGlyph * FallbackGlyph
IMGUI_API bool BeginPopupModal(const char *name, bool *p_open=NULL, ImGuiWindowFlags flags=0)
IMGUI_API float GetScrollMaxY()
@ ImGuiDragDropFlags_None
ImGuiBackendFlags BackendFlags
bool IsDataType(const char *type) const
IMGUI_API void EndChildFrame()
IMGUI_API void SetScrollFromPosX(float local_x, float center_x_ratio=0.5f)
@ ImGuiColorEditFlags_InputRGB
IMGUI_API ImU32 GetColorU32(ImGuiCol idx, float alpha_mul=1.0f)
ImVector< ImFontGlyph > Glyphs
@ ImGuiConfigFlags_NoMouseCursorChange
IMGUI_API bool IsKeyDown(int user_key_index)
IMGUI_API bool IsItemDeactivated()
ImVector< ImU32 > UsedChars
void PathFillConvex(ImU32 col)
@ ImGuiBackendFlags_HasGamepad
IMGUI_API void PlotLines(const char *label, const float *values, int values_count, int values_offset=0, const char *overlay_text=NULL, float scale_min=FLT_MAX, float scale_max=FLT_MAX, ImVec2 graph_size=ImVec2(0, 0), int stride=sizeof(float))
IMGUI_API ImGuiContext * GetCurrentContext()
IMGUI_API ImVec2 GetMousePosOnOpeningCurrentPopup()
IMGUI_API void EndPopup()
@ ImGuiNavInput_DpadRight
void swap(ImVector< T > &rhs)
@ ImGuiStyleVar_IndentSpacing
const ImFontAtlasCustomRect * GetCustomRectByIndex(int index) const
IMGUI_API void BulletText(const char *fmt,...) IM_FMTARGS(1)
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)
def Merge(text, message, allow_unknown_extension=False, allow_field_number=False, descriptor_pool=None, allow_unknown_field=False)
void PathStroke(ImU32 col, bool closed, float thickness=1.0f)
GLfloat GLfloat GLfloat GLfloat h
@ ImGuiWindowFlags_NoInputs
@ ImGuiCol_ModalWindowDarkening
@ ImGuiTreeNodeFlags_CollapsingHeader
@ ImGuiHoveredFlags_RectOnly
@ ImGuiTreeNodeFlags_OpenOnArrow
IMGUI_API ImFont * GetFont()
@ ImGuiComboFlags_HeightLarge
void push_front(const T &v)
IMGUI_API bool BeginChildFrame(ImGuiID id, const ImVec2 &size, ImGuiWindowFlags flags=0)
@ ImGuiWindowFlags_NavFlattened
IMGUI_API void Image(ImTextureID user_texture_id, const ImVec2 &size, const ImVec2 &uv0=ImVec2(0, 0), const ImVec2 &uv1=ImVec2(1, 1), const ImVec4 &tint_col=ImVec4(1, 1, 1, 1), const ImVec4 &border_col=ImVec4(0, 0, 0, 0))
const T * find(const T &v) const
@ ImGuiFocusedFlags_ChildWindows
libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:54