Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
imgui_internal.h File Reference
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <limits.h>
#include "imstb_textedit.h"
+ Include dependency graph for imgui_internal.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ImVec1
 
struct  ImVec2ih
 
struct  ImRect
 
struct  ImBitArray< BITCOUNT >
 
struct  ImBitVector
 
struct  ImSpan< T >
 
struct  ImSpanAllocator< CHUNKS >
 
struct  ImPool< T >
 
struct  ImChunkStream< T >
 
struct  ImDrawListSharedData
 
struct  ImDrawDataBuilder
 
struct  ImGuiDataTypeTempStorage
 
struct  ImGuiDataTypeInfo
 
struct  ImGuiColorMod
 
struct  ImGuiStyleMod
 
struct  ImGuiGroupData
 
struct  ImGuiMenuColumns
 
struct  ImGuiInputTextState
 
struct  ImGuiPopupData
 
struct  ImGuiNavItemData
 
struct  ImGuiNextWindowData
 
struct  ImGuiNextItemData
 
struct  ImGuiShrinkWidthItem
 
struct  ImGuiPtrOrIndex
 
struct  ImGuiOldColumnData
 
struct  ImGuiOldColumns
 
struct  ImGuiViewportP
 
struct  ImGuiWindowSettings
 
struct  ImGuiSettingsHandler
 
struct  ImGuiMetricsConfig
 
struct  ImGuiStackSizes
 
struct  ImGuiContextHook
 
struct  ImGuiContext
 
struct  ImGuiWindowTempData
 
struct  ImGuiWindow
 
struct  ImGuiLastItemDataBackup
 
struct  ImGuiTabItem
 
struct  ImGuiTabBar
 
struct  ImGuiTableColumn
 
struct  ImGuiTableCellData
 
struct  ImGuiTable
 
struct  ImGuiTableTempData
 
struct  ImGuiTableColumnSettings
 
struct  ImGuiTableSettings
 
struct  ImFontBuilderIO
 
union  ImGuiStyleMod.__unnamed672__
 

Namespaces

namespace  ImStb
 
namespace  ImGui
 

Macros

#define IMGUI_ENABLE_STB_TRUETYPE
 
#define STB_TEXTEDIT_STRING   ImGuiInputTextState
 
#define STB_TEXTEDIT_CHARTYPE   ImWchar
 
#define STB_TEXTEDIT_GETWIDTH_NEWLINE   (-1.0f)
 
#define STB_TEXTEDIT_UNDOSTATECOUNT   99
 
#define STB_TEXTEDIT_UNDOCHARCOUNT   999
 
#define IMGUI_DEBUG_LOG(_FMT, ...)   printf("[%05d] " _FMT, GImGui->FrameCount, __VA_ARGS__)
 
#define IMGUI_DEBUG_LOG_POPUP(...)   ((void)0)
 
#define IMGUI_DEBUG_LOG_NAV(...)   ((void)0)
 
#define IM_STATIC_ASSERT(_COND)   typedef char static_assertion_##__line__[(_COND)?1:-1]
 
#define IM_ASSERT_PARANOID(_EXPR)
 
#define IM_ASSERT_USER_ERROR(_EXP, _MSG)   IM_ASSERT((_EXP) && _MSG)
 
#define IM_PI   3.14159265358979323846f
 
#define IM_NEWLINE   "\n"
 
#define IM_TABSIZE   (4)
 
#define IM_MEMALIGN(_OFF, _ALIGN)   (((_OFF) + (_ALIGN - 1)) & ~(_ALIGN - 1))
 
#define IM_F32_TO_INT8_UNBOUND(_VAL)   ((int)((_VAL) * 255.0f + ((_VAL)>=0 ? 0.5f : -0.5f)))
 
#define IM_F32_TO_INT8_SAT(_VAL)   ((int)(ImSaturate(_VAL) * 255.0f + 0.5f))
 
#define IM_FLOOR(_VAL)   ((float)(int)(_VAL))
 
#define IM_ROUND(_VAL)   ((float)(int)((_VAL) + 0.5f))
 
#define IMGUI_CDECL
 
#define IM_MSVC_WARNING_SUPPRESS(XXXX)
 
#define IM_DEBUG_BREAK()   IM_ASSERT(0)
 
#define ImQsort   qsort
 
#define ImFabs(X)   fabsf(X)
 
#define ImSqrt(X)   sqrtf(X)
 
#define ImFmod(X, Y)   fmodf((X), (Y))
 
#define ImCos(X)   cosf(X)
 
#define ImSin(X)   sinf(X)
 
#define ImAcos(X)   acosf(X)
 
#define ImAtan2(Y, X)   atan2f((Y), (X))
 
#define ImAtof(STR)   atof(STR)
 
#define ImCeil(X)   ceilf(X)
 
#define IM_ROUNDUP_TO_EVEN(_V)   ((((_V) + 1) / 2) * 2)
 
#define IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MIN   4
 
#define IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MAX   512
 
#define IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC(_RAD, _MAXERROR)   ImClamp(IM_ROUNDUP_TO_EVEN((int)ImCeil(IM_PI / ImAcos(1 - ImMin((_MAXERROR), (_RAD)) / (_RAD)))), IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MIN, IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MAX)
 
#define IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC_R(_N, _MAXERROR)   ((_MAXERROR) / (1 - ImCos(IM_PI / ImMax((float)(_N), IM_PI))))
 
#define IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC_ERROR(_N, _RAD)   ((1 - ImCos(IM_PI / ImMax((float)(_N), IM_PI))) / (_RAD))
 
#define IM_DRAWLIST_ARCFAST_TABLE_SIZE   48
 
#define IM_DRAWLIST_ARCFAST_SAMPLE_MAX   IM_DRAWLIST_ARCFAST_TABLE_SIZE
 
#define IM_COL32_DISABLE   IM_COL32(0,0,0,1)
 
#define IMGUI_TABLE_MAX_COLUMNS   64
 
#define IMGUI_TABLE_MAX_DRAW_CHANNELS   (4 + 64 * 2)
 
#define IMGUI_TEST_ENGINE_ITEM_ADD(_BB, _ID)   do { } while (0)
 
#define IMGUI_TEST_ENGINE_ITEM_INFO(_ID, _LABEL, _FLAGS)   do { } while (0)
 
#define IMGUI_TEST_ENGINE_LOG(_FMT, ...)   do { } while (0)
 
#define IMGUI_TEST_ENGINE_ID_INFO(_ID, _TYPE, _DATA)   do { } while (0)
 
#define IMGUI_TEST_ENGINE_ID_INFO2(_ID, _TYPE, _DATA, _DATA2)   do { } while (0)
 

Typedefs

typedef int ImGuiLayoutType
 
typedef int ImGuiItemFlags
 
typedef int ImGuiItemAddFlags
 
typedef int ImGuiItemStatusFlags
 
typedef int ImGuiOldColumnFlags
 
typedef int ImGuiNavHighlightFlags
 
typedef int ImGuiNavDirSourceFlags
 
typedef int ImGuiNavMoveFlags
 
typedef int ImGuiNextItemDataFlags
 
typedef int ImGuiNextWindowDataFlags
 
typedef int ImGuiSeparatorFlags
 
typedef int ImGuiTextFlags
 
typedef int ImGuiTooltipFlags
 
typedef void(* ImGuiErrorLogCallback) (void *user_data, const char *fmt,...)
 
typedef FILE * ImFileHandle
 
typedef int ImPoolIdx
 
typedef void(* ImGuiContextHookCallback) (ImGuiContext *ctx, ImGuiContextHook *hook)
 
typedef ImS8 ImGuiTableColumnIdx
 
typedef ImU8 ImGuiTableDrawChannelIdx
 

Enumerations

enum  ImGuiItemFlags_ {
  ImGuiItemFlags_None = 0 , ImGuiItemFlags_NoTabStop = 1 << 0 , ImGuiItemFlags_ButtonRepeat = 1 << 1 , ImGuiItemFlags_Disabled = 1 << 2 ,
  ImGuiItemFlags_NoNav = 1 << 3 , ImGuiItemFlags_NoNavDefaultFocus = 1 << 4 , ImGuiItemFlags_SelectableDontClosePopup = 1 << 5 , ImGuiItemFlags_MixedValue = 1 << 6 ,
  ImGuiItemFlags_ReadOnly = 1 << 7
}
 
enum  ImGuiItemAddFlags_ { ImGuiItemAddFlags_None = 0 , ImGuiItemAddFlags_Focusable = 1 << 0 }
 
enum  ImGuiItemStatusFlags_ {
  ImGuiItemStatusFlags_None = 0 , ImGuiItemStatusFlags_HoveredRect = 1 << 0 , ImGuiItemStatusFlags_HasDisplayRect = 1 << 1 , ImGuiItemStatusFlags_Edited = 1 << 2 ,
  ImGuiItemStatusFlags_ToggledSelection = 1 << 3 , ImGuiItemStatusFlags_ToggledOpen = 1 << 4 , ImGuiItemStatusFlags_HasDeactivated = 1 << 5 , ImGuiItemStatusFlags_Deactivated = 1 << 6 ,
  ImGuiItemStatusFlags_HoveredWindow = 1 << 7 , ImGuiItemStatusFlags_FocusedByCode = 1 << 8 , ImGuiItemStatusFlags_FocusedByTabbing = 1 << 9 , ImGuiItemStatusFlags_Focused = ImGuiItemStatusFlags_FocusedByCode | ImGuiItemStatusFlags_FocusedByTabbing
}
 
enum  ImGuiInputTextFlagsPrivate_ { ImGuiInputTextFlags_Multiline = 1 << 26 , ImGuiInputTextFlags_NoMarkEdited = 1 << 27 , ImGuiInputTextFlags_MergedItem = 1 << 28 }
 
enum  ImGuiButtonFlagsPrivate_ {
  ImGuiButtonFlags_PressedOnClick = 1 << 4 , ImGuiButtonFlags_PressedOnClickRelease = 1 << 5 , ImGuiButtonFlags_PressedOnClickReleaseAnywhere = 1 << 6 , ImGuiButtonFlags_PressedOnRelease = 1 << 7 ,
  ImGuiButtonFlags_PressedOnDoubleClick = 1 << 8 , ImGuiButtonFlags_PressedOnDragDropHold = 1 << 9 , ImGuiButtonFlags_Repeat = 1 << 10 , ImGuiButtonFlags_FlattenChildren = 1 << 11 ,
  ImGuiButtonFlags_AllowItemOverlap = 1 << 12 , ImGuiButtonFlags_DontClosePopups = 1 << 13 , ImGuiButtonFlags_Disabled = 1 << 14 , ImGuiButtonFlags_AlignTextBaseLine = 1 << 15 ,
  ImGuiButtonFlags_NoKeyModifiers = 1 << 16 , ImGuiButtonFlags_NoHoldingActiveId = 1 << 17 , ImGuiButtonFlags_NoNavFocus = 1 << 18 , ImGuiButtonFlags_NoHoveredOnFocus = 1 << 19 ,
  ImGuiButtonFlags_PressedOnMask_ = ImGuiButtonFlags_PressedOnClick | ImGuiButtonFlags_PressedOnClickRelease | ImGuiButtonFlags_PressedOnClickReleaseAnywhere | ImGuiButtonFlags_PressedOnRelease | ImGuiButtonFlags_PressedOnDoubleClick | ImGuiButtonFlags_PressedOnDragDropHold , ImGuiButtonFlags_PressedOnDefault_ = ImGuiButtonFlags_PressedOnClickRelease
}
 
enum  ImGuiSliderFlagsPrivate_ { ImGuiSliderFlags_Vertical = 1 << 20 , ImGuiSliderFlags_ReadOnly = 1 << 21 }
 
enum  ImGuiSelectableFlagsPrivate_ {
  ImGuiSelectableFlags_NoHoldingActiveID = 1 << 20 , ImGuiSelectableFlags_SelectOnClick = 1 << 21 , ImGuiSelectableFlags_SelectOnRelease = 1 << 22 , ImGuiSelectableFlags_SpanAvailWidth = 1 << 23 ,
  ImGuiSelectableFlags_DrawHoveredWhenHeld = 1 << 24 , ImGuiSelectableFlags_SetNavIdOnHover = 1 << 25 , ImGuiSelectableFlags_NoPadWithHalfSpacing = 1 << 26
}
 
enum  ImGuiTreeNodeFlagsPrivate_ { ImGuiTreeNodeFlags_ClipLabelForTrailingButton = 1 << 20 }
 
enum  ImGuiSeparatorFlags_ { ImGuiSeparatorFlags_None = 0 , ImGuiSeparatorFlags_Horizontal = 1 << 0 , ImGuiSeparatorFlags_Vertical = 1 << 1 , ImGuiSeparatorFlags_SpanAllColumns = 1 << 2 }
 
enum  ImGuiTextFlags_ { ImGuiTextFlags_None = 0 , ImGuiTextFlags_NoWidthForLargeClippedText = 1 << 0 }
 
enum  ImGuiTooltipFlags_ { ImGuiTooltipFlags_None = 0 , ImGuiTooltipFlags_OverridePreviousTooltip = 1 << 0 }
 
enum  ImGuiLayoutType_ { ImGuiLayoutType_Horizontal = 0 , ImGuiLayoutType_Vertical = 1 }
 
enum  ImGuiLogType {
  ImGuiLogType_None = 0 , ImGuiLogType_TTY , ImGuiLogType_File , ImGuiLogType_Buffer ,
  ImGuiLogType_Clipboard
}
 
enum  ImGuiAxis { ImGuiAxis_None = -1 , ImGuiAxis_X = 0 , ImGuiAxis_Y = 1 }
 
enum  ImGuiPlotType { ImGuiPlotType_Lines , ImGuiPlotType_Histogram }
 
enum  ImGuiInputSource {
  ImGuiInputSource_None = 0 , ImGuiInputSource_Mouse , ImGuiInputSource_Keyboard , ImGuiInputSource_Gamepad ,
  ImGuiInputSource_Nav , ImGuiInputSource_Clipboard , ImGuiInputSource_COUNT
}
 
enum  ImGuiInputReadMode {
  ImGuiInputReadMode_Down , ImGuiInputReadMode_Pressed , ImGuiInputReadMode_Released , ImGuiInputReadMode_Repeat ,
  ImGuiInputReadMode_RepeatSlow , ImGuiInputReadMode_RepeatFast
}
 
enum  ImGuiNavHighlightFlags_ {
  ImGuiNavHighlightFlags_None = 0 , ImGuiNavHighlightFlags_TypeDefault = 1 << 0 , ImGuiNavHighlightFlags_TypeThin = 1 << 1 , ImGuiNavHighlightFlags_AlwaysDraw = 1 << 2 ,
  ImGuiNavHighlightFlags_NoRounding = 1 << 3
}
 
enum  ImGuiNavDirSourceFlags_ { ImGuiNavDirSourceFlags_None = 0 , ImGuiNavDirSourceFlags_Keyboard = 1 << 0 , ImGuiNavDirSourceFlags_PadDPad = 1 << 1 , ImGuiNavDirSourceFlags_PadLStick = 1 << 2 }
 
enum  ImGuiNavMoveFlags_ {
  ImGuiNavMoveFlags_None = 0 , ImGuiNavMoveFlags_LoopX = 1 << 0 , ImGuiNavMoveFlags_LoopY = 1 << 1 , ImGuiNavMoveFlags_WrapX = 1 << 2 ,
  ImGuiNavMoveFlags_WrapY = 1 << 3 , ImGuiNavMoveFlags_AllowCurrentNavId = 1 << 4 , ImGuiNavMoveFlags_AlsoScoreVisibleSet = 1 << 5 , ImGuiNavMoveFlags_ScrollToEdge = 1 << 6
}
 
enum  ImGuiNavForward { ImGuiNavForward_None , ImGuiNavForward_ForwardQueued , ImGuiNavForward_ForwardActive }
 
enum  ImGuiNavLayer { ImGuiNavLayer_Main = 0 , ImGuiNavLayer_Menu = 1 , ImGuiNavLayer_COUNT }
 
enum  ImGuiPopupPositionPolicy { ImGuiPopupPositionPolicy_Default , ImGuiPopupPositionPolicy_ComboBox , ImGuiPopupPositionPolicy_Tooltip }
 
enum  ImGuiDataTypePrivate_ { ImGuiDataType_String = ImGuiDataType_COUNT + 1 , ImGuiDataType_Pointer , ImGuiDataType_ID }
 
enum  ImGuiNextWindowDataFlags_ {
  ImGuiNextWindowDataFlags_None = 0 , ImGuiNextWindowDataFlags_HasPos = 1 << 0 , ImGuiNextWindowDataFlags_HasSize = 1 << 1 , ImGuiNextWindowDataFlags_HasContentSize = 1 << 2 ,
  ImGuiNextWindowDataFlags_HasCollapsed = 1 << 3 , ImGuiNextWindowDataFlags_HasSizeConstraint = 1 << 4 , ImGuiNextWindowDataFlags_HasFocus = 1 << 5 , ImGuiNextWindowDataFlags_HasBgAlpha = 1 << 6 ,
  ImGuiNextWindowDataFlags_HasScroll = 1 << 7
}
 
enum  ImGuiNextItemDataFlags_ { ImGuiNextItemDataFlags_None = 0 , ImGuiNextItemDataFlags_HasWidth = 1 << 0 , ImGuiNextItemDataFlags_HasOpen = 1 << 1 }
 
enum  ImGuiOldColumnFlags_ {
  ImGuiOldColumnFlags_None = 0 , ImGuiOldColumnFlags_NoBorder = 1 << 0 , ImGuiOldColumnFlags_NoResize = 1 << 1 , ImGuiOldColumnFlags_NoPreserveWidths = 1 << 2 ,
  ImGuiOldColumnFlags_NoForceWithinWindow = 1 << 3 , ImGuiOldColumnFlags_GrowParentContentsSize = 1 << 4 , ImGuiColumnsFlags_None = ImGuiOldColumnFlags_None , ImGuiColumnsFlags_NoBorder = ImGuiOldColumnFlags_NoBorder ,
  ImGuiColumnsFlags_NoResize = ImGuiOldColumnFlags_NoResize , ImGuiColumnsFlags_NoPreserveWidths = ImGuiOldColumnFlags_NoPreserveWidths , ImGuiColumnsFlags_NoForceWithinWindow = ImGuiOldColumnFlags_NoForceWithinWindow , ImGuiColumnsFlags_GrowParentContentsSize = ImGuiOldColumnFlags_GrowParentContentsSize
}
 
enum  ImGuiContextHookType {
  ImGuiContextHookType_NewFramePre , ImGuiContextHookType_NewFramePost , ImGuiContextHookType_EndFramePre , ImGuiContextHookType_EndFramePost ,
  ImGuiContextHookType_RenderPre , ImGuiContextHookType_RenderPost , ImGuiContextHookType_Shutdown , ImGuiContextHookType_PendingRemoval_
}
 
enum  ImGuiTabBarFlagsPrivate_ { ImGuiTabBarFlags_DockNode = 1 << 20 , ImGuiTabBarFlags_IsFocused = 1 << 21 , ImGuiTabBarFlags_SaveSettings = 1 << 22 }
 
enum  ImGuiTabItemFlagsPrivate_ { ImGuiTabItemFlags_SectionMask_ = ImGuiTabItemFlags_Leading | ImGuiTabItemFlags_Trailing , ImGuiTabItemFlags_NoCloseButton = 1 << 20 , ImGuiTabItemFlags_Button = 1 << 21 }
 

Functions

IMGUI_API ImGuiID ImHashData (const void *data, size_t data_size, ImU32 seed=0)
 
IMGUI_API ImGuiID ImHashStr (const char *data, size_t data_size=0, ImU32 seed=0)
 
static ImGuiID ImHash (const void *data, int size, ImU32 seed=0)
 
IMGUI_API ImU32 ImAlphaBlendColors (ImU32 col_a, ImU32 col_b)
 
static bool ImIsPowerOfTwo (int v)
 
static bool ImIsPowerOfTwo (ImU64 v)
 
static int ImUpperPowerOfTwo (int v)
 
IMGUI_API int ImStricmp (const char *str1, const char *str2)
 
IMGUI_API int ImStrnicmp (const char *str1, const char *str2, size_t count)
 
IMGUI_API void ImStrncpy (char *dst, const char *src, size_t count)
 
IMGUI_API char * ImStrdup (const char *str)
 
IMGUI_API char * ImStrdupcpy (char *dst, size_t *p_dst_size, const char *str)
 
IMGUI_API const char * ImStrchrRange (const char *str_begin, const char *str_end, char c)
 
IMGUI_API int ImStrlenW (const ImWchar *str)
 
IMGUI_API const char * ImStreolRange (const char *str, const char *str_end)
 
IMGUI_API const ImWcharImStrbolW (const ImWchar *buf_mid_line, const ImWchar *buf_begin)
 
IMGUI_API const char * ImStristr (const char *haystack, const char *haystack_end, const char *needle, const char *needle_end)
 
IMGUI_API void ImStrTrimBlanks (char *str)
 
IMGUI_API const char * ImStrSkipBlank (const char *str)
 
IMGUI_API int ImFormatString (char *buf, size_t buf_size, const char *fmt,...) IM_FMTARGS(3)
 
IMGUI_API int ImFormatStringV (char *buf, size_t buf_size, const char *fmt, va_list args) IM_FMTLIST(3)
 
IMGUI_API const char * ImParseFormatFindStart (const char *format)
 
IMGUI_API const char * ImParseFormatFindEnd (const char *format)
 
IMGUI_API const char * ImParseFormatTrimDecorations (const char *format, char *buf, size_t buf_size)
 
IMGUI_API int ImParseFormatPrecision (const char *format, int default_value)
 
static bool ImCharIsBlankA (char c)
 
static bool ImCharIsBlankW (unsigned int c)
 
IMGUI_API int ImTextStrToUtf8 (char *buf, int buf_size, const ImWchar *in_text, const ImWchar *in_text_end)
 
IMGUI_API int ImTextCharFromUtf8 (unsigned int *out_char, const char *in_text, const char *in_text_end)
 
IMGUI_API int ImTextStrFromUtf8 (ImWchar *buf, int buf_size, const char *in_text, const char *in_text_end, const char **in_remaining=NULL)
 
IMGUI_API int ImTextCountCharsFromUtf8 (const char *in_text, const char *in_text_end)
 
IMGUI_API int ImTextCountUtf8BytesFromChar (const char *in_text, const char *in_text_end)
 
IMGUI_API int ImTextCountUtf8BytesFromStr (const ImWchar *in_text, const ImWchar *in_text_end)
 
IMGUI_API ImFileHandle ImFileOpen (const char *filename, const char *mode)
 
IMGUI_API bool ImFileClose (ImFileHandle file)
 
IMGUI_API ImU64 ImFileGetSize (ImFileHandle file)
 
IMGUI_API ImU64 ImFileRead (void *data, ImU64 size, ImU64 count, ImFileHandle file)
 
IMGUI_API ImU64 ImFileWrite (const void *data, ImU64 size, ImU64 count, ImFileHandle file)
 
IMGUI_API voidImFileLoadToMemory (const char *filename, const char *mode, size_t *out_file_size=NULL, int padding_bytes=0)
 
static float ImPow (float x, float y)
 
static double ImPow (double x, double y)
 
static float ImLog (float x)
 
static double ImLog (double x)
 
static int ImAbs (int x)
 
static float ImAbs (float x)
 
static double ImAbs (double x)
 
static float ImSign (float x)
 
static double ImSign (double x)
 
static float ImRsqrt (float x)
 
static double ImRsqrt (double x)
 
template<typename T >
static T ImMin (T lhs, T rhs)
 
template<typename T >
static T ImMax (T lhs, T rhs)
 
template<typename T >
static T ImClamp (T v, T mn, T mx)
 
template<typename T >
static T ImLerp (T a, T b, float t)
 
template<typename T >
static void ImSwap (T &a, T &b)
 
template<typename T >
static T ImAddClampOverflow (T a, T b, T mn, T mx)
 
template<typename T >
static T ImSubClampOverflow (T a, T b, T mn, T mx)
 
static ImVec2 ImMin (const ImVec2 &lhs, const ImVec2 &rhs)
 
static ImVec2 ImMax (const ImVec2 &lhs, const ImVec2 &rhs)
 
static ImVec2 ImClamp (const ImVec2 &v, const ImVec2 &mn, ImVec2 mx)
 
static ImVec2 ImLerp (const ImVec2 &a, const ImVec2 &b, float t)
 
static ImVec2 ImLerp (const ImVec2 &a, const ImVec2 &b, const ImVec2 &t)
 
static ImVec4 ImLerp (const ImVec4 &a, const ImVec4 &b, float t)
 
static float ImSaturate (float f)
 
static float ImLengthSqr (const ImVec2 &lhs)
 
static float ImLengthSqr (const ImVec4 &lhs)
 
static float ImInvLength (const ImVec2 &lhs, float fail_value)
 
static float ImFloor (float f)
 
static float ImFloorSigned (float f)
 
static ImVec2 ImFloor (const ImVec2 &v)
 
static int ImModPositive (int a, int b)
 
static float ImDot (const ImVec2 &a, const ImVec2 &b)
 
static ImVec2 ImRotate (const ImVec2 &v, float cos_a, float sin_a)
 
static float ImLinearSweep (float current, float target, float speed)
 
static ImVec2 ImMul (const ImVec2 &lhs, const ImVec2 &rhs)
 
IM_MSVC_RUNTIME_CHECKS_RESTORE IMGUI_API ImVec2 ImBezierCubicCalc (const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, float t)
 
IMGUI_API ImVec2 ImBezierCubicClosestPoint (const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, const ImVec2 &p, int num_segments)
 
IMGUI_API ImVec2 ImBezierCubicClosestPointCasteljau (const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, const ImVec2 &p, float tess_tol)
 
IMGUI_API ImVec2 ImBezierQuadraticCalc (const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, float t)
 
IMGUI_API ImVec2 ImLineClosestPoint (const ImVec2 &a, const ImVec2 &b, const ImVec2 &p)
 
IMGUI_API bool ImTriangleContainsPoint (const ImVec2 &a, const ImVec2 &b, const ImVec2 &c, const ImVec2 &p)
 
IMGUI_API ImVec2 ImTriangleClosestPoint (const ImVec2 &a, const ImVec2 &b, const ImVec2 &c, const ImVec2 &p)
 
IMGUI_API void ImTriangleBarycentricCoords (const ImVec2 &a, const ImVec2 &b, const ImVec2 &c, const ImVec2 &p, float &out_u, float &out_v, float &out_w)
 
float ImTriangleArea (const ImVec2 &a, const ImVec2 &b, const ImVec2 &c)
 
IMGUI_API ImGuiDir ImGetDirQuadrantFromDelta (float dx, float dy)
 
IM_MSVC_RUNTIME_CHECKS_RESTORE bool ImBitArrayTestBit (const ImU32 *arr, int n)
 
void ImBitArrayClearBit (ImU32 *arr, int n)
 
void ImBitArraySetBit (ImU32 *arr, int n)
 
void ImBitArraySetBitRange (ImU32 *arr, int n, int n2)
 
ImGuiWindowImGui::GetCurrentWindowRead ()
 
ImGuiWindowImGui::GetCurrentWindow ()
 
IMGUI_API ImGuiWindowImGui::FindWindowByID (ImGuiID id)
 
IMGUI_API ImGuiWindowImGui::FindWindowByName (const char *name)
 
IMGUI_API void ImGui::UpdateWindowParentAndRootLinks (ImGuiWindow *window, ImGuiWindowFlags flags, ImGuiWindow *parent_window)
 
IMGUI_API ImVec2 ImGui::CalcWindowNextAutoFitSize (ImGuiWindow *window)
 
IMGUI_API bool ImGui::IsWindowChildOf (ImGuiWindow *window, ImGuiWindow *potential_parent)
 
IMGUI_API bool ImGui::IsWindowAbove (ImGuiWindow *potential_above, ImGuiWindow *potential_below)
 
IMGUI_API bool ImGui::IsWindowNavFocusable (ImGuiWindow *window)
 
IMGUI_API ImRect ImGui::GetWindowAllowedExtentRect (ImGuiWindow *window)
 
IMGUI_API void ImGui::SetWindowPos (ImGuiWindow *window, const ImVec2 &pos, ImGuiCond cond=0)
 
IMGUI_API void ImGui::SetWindowSize (ImGuiWindow *window, const ImVec2 &size, ImGuiCond cond=0)
 
IMGUI_API void ImGui::SetWindowCollapsed (ImGuiWindow *window, bool collapsed, ImGuiCond cond=0)
 
IMGUI_API void ImGui::SetWindowHitTestHole (ImGuiWindow *window, const ImVec2 &pos, const ImVec2 &size)
 
IMGUI_API void ImGui::FocusWindow (ImGuiWindow *window)
 
IMGUI_API void ImGui::FocusTopMostWindowUnderOne (ImGuiWindow *under_this_window, ImGuiWindow *ignore_window)
 
IMGUI_API void ImGui::BringWindowToFocusFront (ImGuiWindow *window)
 
IMGUI_API void ImGui::BringWindowToDisplayFront (ImGuiWindow *window)
 
IMGUI_API void ImGui::BringWindowToDisplayBack (ImGuiWindow *window)
 
IMGUI_API void ImGui::SetCurrentFont (ImFont *font)
 
ImFontImGui::GetDefaultFont ()
 
ImDrawListImGui::GetForegroundDrawList (ImGuiWindow *window)
 
IMGUI_API ImDrawListImGui::GetBackgroundDrawList (ImGuiViewport *viewport)
 
IMGUI_API ImDrawListImGui::GetForegroundDrawList (ImGuiViewport *viewport)
 
IMGUI_API void ImGui::Initialize (ImGuiContext *context)
 
IMGUI_API void ImGui::Shutdown (ImGuiContext *context)
 
IMGUI_API void ImGui::UpdateHoveredWindowAndCaptureFlags ()
 
IMGUI_API void ImGui::StartMouseMovingWindow (ImGuiWindow *window)
 
IMGUI_API void ImGui::UpdateMouseMovingWindowNewFrame ()
 
IMGUI_API void ImGui::UpdateMouseMovingWindowEndFrame ()
 
IMGUI_API ImGuiID ImGui::AddContextHook (ImGuiContext *context, const ImGuiContextHook *hook)
 
IMGUI_API void ImGui::RemoveContextHook (ImGuiContext *context, ImGuiID hook_to_remove)
 
IMGUI_API void ImGui::CallContextHooks (ImGuiContext *context, ImGuiContextHookType type)
 
IMGUI_API void ImGui::MarkIniSettingsDirty ()
 
IMGUI_API void ImGui::MarkIniSettingsDirty (ImGuiWindow *window)
 
IMGUI_API void ImGui::ClearIniSettings ()
 
IMGUI_API ImGuiWindowSettingsImGui::CreateNewWindowSettings (const char *name)
 
IMGUI_API ImGuiWindowSettingsImGui::FindWindowSettings (ImGuiID id)
 
IMGUI_API ImGuiWindowSettingsImGui::FindOrCreateWindowSettings (const char *name)
 
IMGUI_API ImGuiSettingsHandlerImGui::FindSettingsHandler (const char *type_name)
 
IMGUI_API void ImGui::SetNextWindowScroll (const ImVec2 &scroll)
 
IMGUI_API void ImGui::SetScrollX (ImGuiWindow *window, float scroll_x)
 
IMGUI_API void ImGui::SetScrollY (ImGuiWindow *window, float scroll_y)
 
IMGUI_API void ImGui::SetScrollFromPosX (ImGuiWindow *window, float local_x, float center_x_ratio)
 
IMGUI_API void ImGui::SetScrollFromPosY (ImGuiWindow *window, float local_y, float center_y_ratio)
 
IMGUI_API ImVec2 ImGui::ScrollToBringRectIntoView (ImGuiWindow *window, const ImRect &item_rect)
 
ImGuiID ImGui::GetItemID ()
 
ImGuiItemStatusFlags ImGui::GetItemStatusFlags ()
 
ImGuiID ImGui::GetActiveID ()
 
ImGuiID ImGui::GetFocusID ()
 
ImGuiItemFlags ImGui::GetItemFlags ()
 
IMGUI_API void ImGui::SetActiveID (ImGuiID id, ImGuiWindow *window)
 
IMGUI_API void ImGui::SetFocusID (ImGuiID id, ImGuiWindow *window)
 
IMGUI_API void ImGui::ClearActiveID ()
 
IMGUI_API ImGuiID ImGui::GetHoveredID ()
 
IMGUI_API void ImGui::SetHoveredID (ImGuiID id)
 
IMGUI_API void ImGui::KeepAliveID (ImGuiID id)
 
IMGUI_API void ImGui::MarkItemEdited (ImGuiID id)
 
IMGUI_API void ImGui::PushOverrideID (ImGuiID id)
 
IMGUI_API ImGuiID ImGui::GetIDWithSeed (const char *str_id_begin, const char *str_id_end, ImGuiID seed)
 
IMGUI_API void ImGui::ItemSize (const ImVec2 &size, float text_baseline_y=-1.0f)
 
IMGUI_API void ImGui::ItemSize (const ImRect &bb, float text_baseline_y=-1.0f)
 
IMGUI_API bool ImGui::ItemAdd (const ImRect &bb, ImGuiID id, const ImRect *nav_bb=NULL, ImGuiItemAddFlags flags=0)
 
IMGUI_API bool ImGui::ItemHoverable (const ImRect &bb, ImGuiID id)
 
IMGUI_API void ImGui::ItemFocusable (ImGuiWindow *window, ImGuiID id)
 
IMGUI_API bool ImGui::IsClippedEx (const ImRect &bb, ImGuiID id, bool clip_even_when_logged)
 
IMGUI_API void ImGui::SetLastItemData (ImGuiWindow *window, ImGuiID item_id, ImGuiItemStatusFlags status_flags, const ImRect &item_rect)
 
IMGUI_API ImVec2 ImGui::CalcItemSize (ImVec2 size, float default_w, float default_h)
 
IMGUI_API float ImGui::CalcWrapWidthForPos (const ImVec2 &pos, float wrap_pos_x)
 
IMGUI_API void ImGui::PushMultiItemsWidths (int components, float width_full)
 
IMGUI_API void ImGui::PushItemFlag (ImGuiItemFlags option, bool enabled)
 
IMGUI_API void ImGui::PopItemFlag ()
 
IMGUI_API bool ImGui::IsItemToggledSelection ()
 
IMGUI_API ImVec2 ImGui::GetContentRegionMaxAbs ()
 
IMGUI_API void ImGui::ShrinkWidths (ImGuiShrinkWidthItem *items, int count, float width_excess)
 
bool ImGui::FocusableItemRegister (ImGuiWindow *window, ImGuiID id)
 
void ImGui::FocusableItemUnregister (ImGuiWindow *window)
 
IMGUI_API void ImGui::LogBegin (ImGuiLogType type, int auto_open_depth)
 
IMGUI_API void ImGui::LogToBuffer (int auto_open_depth=-1)
 
IMGUI_API void ImGui::LogRenderedText (const ImVec2 *ref_pos, const char *text, const char *text_end=NULL)
 
IMGUI_API void ImGui::LogSetNextTextDecoration (const char *prefix, const char *suffix)
 
IMGUI_API bool ImGui::BeginChildEx (const char *name, ImGuiID id, const ImVec2 &size_arg, bool border, ImGuiWindowFlags flags)
 
IMGUI_API void ImGui::OpenPopupEx (ImGuiID id, ImGuiPopupFlags popup_flags=ImGuiPopupFlags_None)
 
IMGUI_API void ImGui::ClosePopupToLevel (int remaining, bool restore_focus_to_window_under_popup)
 
IMGUI_API void ImGui::ClosePopupsOverWindow (ImGuiWindow *ref_window, bool restore_focus_to_window_under_popup)
 
IMGUI_API bool ImGui::IsPopupOpen (ImGuiID id, ImGuiPopupFlags popup_flags)
 
IMGUI_API bool ImGui::BeginPopupEx (ImGuiID id, ImGuiWindowFlags extra_flags)
 
IMGUI_API void ImGui::BeginTooltipEx (ImGuiWindowFlags extra_flags, ImGuiTooltipFlags tooltip_flags)
 
IMGUI_API ImGuiWindowImGui::GetTopMostPopupModal ()
 
IMGUI_API ImVec2 ImGui::FindBestWindowPosForPopup (ImGuiWindow *window)
 
IMGUI_API ImVec2 ImGui::FindBestWindowPosForPopupEx (const ImVec2 &ref_pos, const ImVec2 &size, ImGuiDir *last_dir, const ImRect &r_outer, const ImRect &r_avoid, ImGuiPopupPositionPolicy policy)
 
IMGUI_API bool ImGui::BeginViewportSideBar (const char *name, ImGuiViewport *viewport, ImGuiDir dir, float size, ImGuiWindowFlags window_flags)
 
IMGUI_API void ImGui::NavInitWindow (ImGuiWindow *window, bool force_reinit)
 
IMGUI_API bool ImGui::NavMoveRequestButNoResultYet ()
 
IMGUI_API void ImGui::NavMoveRequestCancel ()
 
IMGUI_API void ImGui::NavMoveRequestForward (ImGuiDir move_dir, ImGuiDir clip_dir, const ImRect &bb_rel, ImGuiNavMoveFlags move_flags)
 
IMGUI_API void ImGui::NavMoveRequestTryWrapping (ImGuiWindow *window, ImGuiNavMoveFlags move_flags)
 
IMGUI_API float ImGui::GetNavInputAmount (ImGuiNavInput n, ImGuiInputReadMode mode)
 
IMGUI_API ImVec2 ImGui::GetNavInputAmount2d (ImGuiNavDirSourceFlags dir_sources, ImGuiInputReadMode mode, float slow_factor=0.0f, float fast_factor=0.0f)
 
IMGUI_API int ImGui::CalcTypematicRepeatAmount (float t0, float t1, float repeat_delay, float repeat_rate)
 
IMGUI_API void ImGui::ActivateItem (ImGuiID id)
 
IMGUI_API void ImGui::SetNavID (ImGuiID id, ImGuiNavLayer nav_layer, ImGuiID focus_scope_id, const ImRect &rect_rel)
 
IMGUI_API void ImGui::PushFocusScope (ImGuiID id)
 
IMGUI_API void ImGui::PopFocusScope ()
 
ImGuiID ImGui::GetFocusedFocusScope ()
 
ImGuiID ImGui::GetFocusScope ()
 
IMGUI_API void ImGui::SetItemUsingMouseWheel ()
 
bool ImGui::IsActiveIdUsingNavDir (ImGuiDir dir)
 
bool ImGui::IsActiveIdUsingNavInput (ImGuiNavInput input)
 
bool ImGui::IsActiveIdUsingKey (ImGuiKey key)
 
IMGUI_API bool ImGui::IsMouseDragPastThreshold (ImGuiMouseButton button, float lock_threshold=-1.0f)
 
bool ImGui::IsKeyPressedMap (ImGuiKey key, bool repeat=true)
 
bool ImGui::IsNavInputDown (ImGuiNavInput n)
 
bool ImGui::IsNavInputTest (ImGuiNavInput n, ImGuiInputReadMode rm)
 
IMGUI_API ImGuiKeyModFlags ImGui::GetMergedKeyModFlags ()
 
IMGUI_API bool ImGui::BeginDragDropTargetCustom (const ImRect &bb, ImGuiID id)
 
IMGUI_API void ImGui::ClearDragDrop ()
 
IMGUI_API bool ImGui::IsDragDropPayloadBeingAccepted ()
 
IMGUI_API void ImGui::SetWindowClipRectBeforeSetChannel (ImGuiWindow *window, const ImRect &clip_rect)
 
IMGUI_API void ImGui::BeginColumns (const char *str_id, int count, ImGuiOldColumnFlags flags=0)
 
IMGUI_API void ImGui::EndColumns ()
 
IMGUI_API void ImGui::PushColumnClipRect (int column_index)
 
IMGUI_API void ImGui::PushColumnsBackground ()
 
IMGUI_API void ImGui::PopColumnsBackground ()
 
IMGUI_API ImGuiID ImGui::GetColumnsID (const char *str_id, int count)
 
IMGUI_API ImGuiOldColumnsImGui::FindOrCreateColumns (ImGuiWindow *window, ImGuiID id)
 
IMGUI_API float ImGui::GetColumnOffsetFromNorm (const ImGuiOldColumns *columns, float offset_norm)
 
IMGUI_API float ImGui::GetColumnNormFromOffset (const ImGuiOldColumns *columns, float offset)
 
IMGUI_API void ImGui::TableOpenContextMenu (int column_n=-1)
 
IMGUI_API void ImGui::TableSetColumnWidth (int column_n, float width)
 
IMGUI_API void ImGui::TableSetColumnSortDirection (int column_n, ImGuiSortDirection sort_direction, bool append_to_sort_specs)
 
IMGUI_API int ImGui::TableGetHoveredColumn ()
 
IMGUI_API float ImGui::TableGetHeaderRowHeight ()
 
IMGUI_API void ImGui::TablePushBackgroundChannel ()
 
IMGUI_API void ImGui::TablePopBackgroundChannel ()
 
ImGuiTableImGui::GetCurrentTable ()
 
IMGUI_API ImGuiTableImGui::TableFindByID (ImGuiID id)
 
IMGUI_API bool ImGui::BeginTableEx (const char *name, ImGuiID id, int columns_count, ImGuiTableFlags flags=0, const ImVec2 &outer_size=ImVec2(0, 0), float inner_width=0.0f)
 
IMGUI_API void ImGui::TableBeginInitMemory (ImGuiTable *table, int columns_count)
 
IMGUI_API void ImGui::TableBeginApplyRequests (ImGuiTable *table)
 
IMGUI_API void ImGui::TableSetupDrawChannels (ImGuiTable *table)
 
IMGUI_API void ImGui::TableUpdateLayout (ImGuiTable *table)
 
IMGUI_API void ImGui::TableUpdateBorders (ImGuiTable *table)
 
IMGUI_API void ImGui::TableUpdateColumnsWeightFromWidth (ImGuiTable *table)
 
IMGUI_API void ImGui::TableDrawBorders (ImGuiTable *table)
 
IMGUI_API void ImGui::TableDrawContextMenu (ImGuiTable *table)
 
IMGUI_API void ImGui::TableMergeDrawChannels (ImGuiTable *table)
 
IMGUI_API void ImGui::TableSortSpecsSanitize (ImGuiTable *table)
 
IMGUI_API void ImGui::TableSortSpecsBuild (ImGuiTable *table)
 
IMGUI_API ImGuiSortDirection ImGui::TableGetColumnNextSortDirection (ImGuiTableColumn *column)
 
IMGUI_API void ImGui::TableFixColumnSortDirection (ImGuiTable *table, ImGuiTableColumn *column)
 
IMGUI_API float ImGui::TableGetColumnWidthAuto (ImGuiTable *table, ImGuiTableColumn *column)
 
IMGUI_API void ImGui::TableBeginRow (ImGuiTable *table)
 
IMGUI_API void ImGui::TableEndRow (ImGuiTable *table)
 
IMGUI_API void ImGui::TableBeginCell (ImGuiTable *table, int column_n)
 
IMGUI_API void ImGui::TableEndCell (ImGuiTable *table)
 
IMGUI_API ImRect ImGui::TableGetCellBgRect (const ImGuiTable *table, int column_n)
 
IMGUI_API const char * ImGui::TableGetColumnName (const ImGuiTable *table, int column_n)
 
IMGUI_API ImGuiID ImGui::TableGetColumnResizeID (const ImGuiTable *table, int column_n, int instance_no=0)
 
IMGUI_API float ImGui::TableGetMaxColumnWidth (const ImGuiTable *table, int column_n)
 
IMGUI_API void ImGui::TableSetColumnWidthAutoSingle (ImGuiTable *table, int column_n)
 
IMGUI_API void ImGui::TableSetColumnWidthAutoAll (ImGuiTable *table)
 
IMGUI_API void ImGui::TableRemove (ImGuiTable *table)
 
IMGUI_API void ImGui::TableGcCompactTransientBuffers (ImGuiTable *table)
 
IMGUI_API void ImGui::TableGcCompactTransientBuffers (ImGuiTableTempData *table)
 
IMGUI_API void ImGui::TableGcCompactSettings ()
 
IMGUI_API void ImGui::TableLoadSettings (ImGuiTable *table)
 
IMGUI_API void ImGui::TableSaveSettings (ImGuiTable *table)
 
IMGUI_API void ImGui::TableResetSettings (ImGuiTable *table)
 
IMGUI_API ImGuiTableSettingsImGui::TableGetBoundSettings (ImGuiTable *table)
 
IMGUI_API void ImGui::TableSettingsInstallHandler (ImGuiContext *context)
 
IMGUI_API ImGuiTableSettingsImGui::TableSettingsCreate (ImGuiID id, int columns_count)
 
IMGUI_API ImGuiTableSettingsImGui::TableSettingsFindByID (ImGuiID id)
 
IMGUI_API bool ImGui::BeginTabBarEx (ImGuiTabBar *tab_bar, const ImRect &bb, ImGuiTabBarFlags flags)
 
IMGUI_API ImGuiTabItemImGui::TabBarFindTabByID (ImGuiTabBar *tab_bar, ImGuiID tab_id)
 
IMGUI_API void ImGui::TabBarRemoveTab (ImGuiTabBar *tab_bar, ImGuiID tab_id)
 
IMGUI_API void ImGui::TabBarCloseTab (ImGuiTabBar *tab_bar, ImGuiTabItem *tab)
 
IMGUI_API void ImGui::TabBarQueueReorder (ImGuiTabBar *tab_bar, const ImGuiTabItem *tab, int offset)
 
IMGUI_API void ImGui::TabBarQueueReorderFromMousePos (ImGuiTabBar *tab_bar, const ImGuiTabItem *tab, ImVec2 mouse_pos)
 
IMGUI_API bool ImGui::TabBarProcessReorder (ImGuiTabBar *tab_bar)
 
IMGUI_API bool ImGui::TabItemEx (ImGuiTabBar *tab_bar, const char *label, bool *p_open, ImGuiTabItemFlags flags)
 
IMGUI_API ImVec2 ImGui::TabItemCalcSize (const char *label, bool has_close_button)
 
IMGUI_API void ImGui::TabItemBackground (ImDrawList *draw_list, const ImRect &bb, ImGuiTabItemFlags flags, ImU32 col)
 
IMGUI_API void ImGui::TabItemLabelAndCloseButton (ImDrawList *draw_list, const ImRect &bb, ImGuiTabItemFlags flags, ImVec2 frame_padding, const char *label, ImGuiID tab_id, ImGuiID close_button_id, bool is_contents_visible, bool *out_just_closed, bool *out_text_clipped)
 
IMGUI_API void ImGui::RenderText (ImVec2 pos, const char *text, const char *text_end=NULL, bool hide_text_after_hash=true)
 
IMGUI_API void ImGui::RenderTextWrapped (ImVec2 pos, const char *text, const char *text_end, float wrap_width)
 
IMGUI_API void ImGui::RenderTextClipped (const ImVec2 &pos_min, const ImVec2 &pos_max, const char *text, const char *text_end, const ImVec2 *text_size_if_known, const ImVec2 &align=ImVec2(0, 0), const ImRect *clip_rect=NULL)
 
IMGUI_API void ImGui::RenderTextClippedEx (ImDrawList *draw_list, const ImVec2 &pos_min, const ImVec2 &pos_max, const char *text, const char *text_end, const ImVec2 *text_size_if_known, const ImVec2 &align=ImVec2(0, 0), const ImRect *clip_rect=NULL)
 
IMGUI_API void ImGui::RenderTextEllipsis (ImDrawList *draw_list, const ImVec2 &pos_min, const ImVec2 &pos_max, float clip_max_x, float ellipsis_max_x, const char *text, const char *text_end, const ImVec2 *text_size_if_known)
 
IMGUI_API void ImGui::RenderFrame (ImVec2 p_min, ImVec2 p_max, ImU32 fill_col, bool border=true, float rounding=0.0f)
 
IMGUI_API void ImGui::RenderFrameBorder (ImVec2 p_min, ImVec2 p_max, float rounding=0.0f)
 
IMGUI_API void ImGui::RenderColorRectWithAlphaCheckerboard (ImDrawList *draw_list, ImVec2 p_min, ImVec2 p_max, ImU32 fill_col, float grid_step, ImVec2 grid_off, float rounding=0.0f, ImDrawFlags flags=0)
 
IMGUI_API void ImGui::RenderNavHighlight (const ImRect &bb, ImGuiID id, ImGuiNavHighlightFlags flags=ImGuiNavHighlightFlags_TypeDefault)
 
IMGUI_API const char * ImGui::FindRenderedTextEnd (const char *text, const char *text_end=NULL)
 
IMGUI_API void ImGui::RenderArrow (ImDrawList *draw_list, ImVec2 pos, ImU32 col, ImGuiDir dir, float scale=1.0f)
 
IMGUI_API void ImGui::RenderBullet (ImDrawList *draw_list, ImVec2 pos, ImU32 col)
 
IMGUI_API void ImGui::RenderCheckMark (ImDrawList *draw_list, ImVec2 pos, ImU32 col, float sz)
 
IMGUI_API void ImGui::RenderMouseCursor (ImDrawList *draw_list, ImVec2 pos, float scale, ImGuiMouseCursor mouse_cursor, ImU32 col_fill, ImU32 col_border, ImU32 col_shadow)
 
IMGUI_API void ImGui::RenderArrowPointingAt (ImDrawList *draw_list, ImVec2 pos, ImVec2 half_sz, ImGuiDir direction, ImU32 col)
 
IMGUI_API void ImGui::RenderRectFilledRangeH (ImDrawList *draw_list, const ImRect &rect, ImU32 col, float x_start_norm, float x_end_norm, float rounding)
 
IMGUI_API void ImGui::RenderRectFilledWithHole (ImDrawList *draw_list, ImRect outer, ImRect inner, ImU32 col, float rounding)
 
void ImGui::RenderArrow (ImVec2 pos, ImGuiDir dir, float scale=1.0f)
 
void ImGui::RenderBullet (ImVec2 pos)
 
IMGUI_API void ImGui::TextEx (const char *text, const char *text_end=NULL, ImGuiTextFlags flags=0)
 
IMGUI_API bool ImGui::ButtonEx (const char *label, const ImVec2 &size_arg=ImVec2(0, 0), ImGuiButtonFlags flags=0)
 
IMGUI_API bool ImGui::CloseButton (ImGuiID id, const ImVec2 &pos)
 
IMGUI_API bool ImGui::CollapseButton (ImGuiID id, const ImVec2 &pos)
 
IMGUI_API bool ImGui::ArrowButtonEx (const char *str_id, ImGuiDir dir, ImVec2 size_arg, ImGuiButtonFlags flags=0)
 
IMGUI_API void ImGui::Scrollbar (ImGuiAxis axis)
 
IMGUI_API bool ImGui::ScrollbarEx (const ImRect &bb, ImGuiID id, ImGuiAxis axis, float *p_scroll_v, float avail_v, float contents_v, ImDrawFlags flags)
 
IMGUI_API bool ImGui::ImageButtonEx (ImGuiID id, ImTextureID texture_id, const ImVec2 &size, const ImVec2 &uv0, const ImVec2 &uv1, const ImVec2 &padding, const ImVec4 &bg_col, const ImVec4 &tint_col)
 
IMGUI_API ImRect ImGui::GetWindowScrollbarRect (ImGuiWindow *window, ImGuiAxis axis)
 
IMGUI_API ImGuiID ImGui::GetWindowScrollbarID (ImGuiWindow *window, ImGuiAxis axis)
 
IMGUI_API ImGuiID ImGui::GetWindowResizeCornerID (ImGuiWindow *window, int n)
 
IMGUI_API ImGuiID ImGui::GetWindowResizeBorderID (ImGuiWindow *window, ImGuiDir dir)
 
IMGUI_API void ImGui::SeparatorEx (ImGuiSeparatorFlags flags)
 
IMGUI_API bool ImGui::CheckboxFlags (const char *label, ImS64 *flags, ImS64 flags_value)
 
IMGUI_API bool ImGui::CheckboxFlags (const char *label, ImU64 *flags, ImU64 flags_value)
 
IMGUI_API bool ImGui::ButtonBehavior (const ImRect &bb, ImGuiID id, bool *out_hovered, bool *out_held, ImGuiButtonFlags flags=0)
 
IMGUI_API bool ImGui::DragBehavior (ImGuiID id, ImGuiDataType data_type, void *p_v, float v_speed, const void *p_min, const void *p_max, const char *format, ImGuiSliderFlags flags)
 
IMGUI_API bool ImGui::SliderBehavior (const ImRect &bb, ImGuiID id, ImGuiDataType data_type, void *p_v, const void *p_min, const void *p_max, const char *format, ImGuiSliderFlags flags, ImRect *out_grab_bb)
 
IMGUI_API bool ImGui::SplitterBehavior (const ImRect &bb, ImGuiID id, ImGuiAxis axis, float *size1, float *size2, float min_size1, float min_size2, float hover_extend=0.0f, float hover_visibility_delay=0.0f)
 
IMGUI_API bool ImGui::TreeNodeBehavior (ImGuiID id, ImGuiTreeNodeFlags flags, const char *label, const char *label_end=NULL)
 
IMGUI_API bool ImGui::TreeNodeBehaviorIsOpen (ImGuiID id, ImGuiTreeNodeFlags flags=0)
 
IMGUI_API void ImGui::TreePushOverrideID (ImGuiID id)
 
template<typename T , typename SIGNED_T , typename FLOAT_T >
IMGUI_API float ImGui::ScaleRatioFromValueT (ImGuiDataType data_type, T v, T v_min, T v_max, bool is_logarithmic, float logarithmic_zero_epsilon, float zero_deadzone_size)
 
template<typename T , typename SIGNED_T , typename FLOAT_T >
IMGUI_APIImGui::ScaleValueFromRatioT (ImGuiDataType data_type, float t, T v_min, T v_max, bool is_logarithmic, float logarithmic_zero_epsilon, float zero_deadzone_size)
 
template<typename T , typename SIGNED_T , typename FLOAT_T >
IMGUI_API bool ImGui::DragBehaviorT (ImGuiDataType data_type, T *v, float v_speed, T v_min, T v_max, const char *format, ImGuiSliderFlags flags)
 
template<typename T , typename SIGNED_T , typename FLOAT_T >
IMGUI_API bool ImGui::SliderBehaviorT (const ImRect &bb, ImGuiID id, ImGuiDataType data_type, T *v, T v_min, T v_max, const char *format, ImGuiSliderFlags flags, ImRect *out_grab_bb)
 
template<typename T , typename SIGNED_T >
IMGUI_APIImGui::RoundScalarWithFormatT (const char *format, ImGuiDataType data_type, T v)
 
template<typename T >
IMGUI_API bool ImGui::CheckboxFlagsT (const char *label, T *flags, T flags_value)
 
IMGUI_API const ImGuiDataTypeInfoImGui::DataTypeGetInfo (ImGuiDataType data_type)
 
IMGUI_API int ImGui::DataTypeFormatString (char *buf, int buf_size, ImGuiDataType data_type, const void *p_data, const char *format)
 
IMGUI_API void ImGui::DataTypeApplyOp (ImGuiDataType data_type, int op, void *output, const void *arg_1, const void *arg_2)
 
IMGUI_API bool ImGui::DataTypeApplyOpFromText (const char *buf, const char *initial_value_buf, ImGuiDataType data_type, void *p_data, const char *format)
 
IMGUI_API int ImGui::DataTypeCompare (ImGuiDataType data_type, const void *arg_1, const void *arg_2)
 
IMGUI_API bool ImGui::DataTypeClamp (ImGuiDataType data_type, void *p_data, const void *p_min, const void *p_max)
 
IMGUI_API bool ImGui::InputTextEx (const char *label, const char *hint, char *buf, int buf_size, const ImVec2 &size_arg, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback=NULL, void *user_data=NULL)
 
IMGUI_API bool ImGui::TempInputText (const ImRect &bb, ImGuiID id, const char *label, char *buf, int buf_size, ImGuiInputTextFlags flags)
 
IMGUI_API bool ImGui::TempInputScalar (const ImRect &bb, ImGuiID id, const char *label, ImGuiDataType data_type, void *p_data, const char *format, const void *p_clamp_min=NULL, const void *p_clamp_max=NULL)
 
bool ImGui::TempInputIsActive (ImGuiID id)
 
ImGuiInputTextStateImGui::GetInputTextState (ImGuiID id)
 
IMGUI_API void ImGui::ColorTooltip (const char *text, const float *col, ImGuiColorEditFlags flags)
 
IMGUI_API void ImGui::ColorEditOptionsPopup (const float *col, ImGuiColorEditFlags flags)
 
IMGUI_API void ImGui::ColorPickerOptionsPopup (const float *ref_col, ImGuiColorEditFlags flags)
 
IMGUI_API int ImGui::PlotEx (ImGuiPlotType plot_type, const char *label, float(*values_getter)(void *data, int idx), void *data, int values_count, int values_offset, const char *overlay_text, float scale_min, float scale_max, ImVec2 frame_size)
 
IMGUI_API void ImGui::ShadeVertsLinearColorGradientKeepAlpha (ImDrawList *draw_list, int vert_start_idx, int vert_end_idx, ImVec2 gradient_p0, ImVec2 gradient_p1, ImU32 col0, ImU32 col1)
 
IMGUI_API void ImGui::ShadeVertsLinearUV (ImDrawList *draw_list, int vert_start_idx, int vert_end_idx, const ImVec2 &a, const ImVec2 &b, const ImVec2 &uv_a, const ImVec2 &uv_b, bool clamp)
 
IMGUI_API void ImGui::GcCompactTransientMiscBuffers ()
 
IMGUI_API void ImGui::GcCompactTransientWindowBuffers (ImGuiWindow *window)
 
IMGUI_API void ImGui::GcAwakeTransientWindowBuffers (ImGuiWindow *window)
 
IMGUI_API void ImGui::ErrorCheckEndFrameRecover (ImGuiErrorLogCallback log_callback, void *user_data=NULL)
 
void ImGui::DebugDrawItemRect (ImU32 col=IM_COL32(255, 0, 0, 255))
 
void ImGui::DebugStartItemPicker ()
 
IMGUI_API void ImGui::DebugNodeColumns (ImGuiOldColumns *columns)
 
IMGUI_API void ImGui::DebugNodeDrawList (ImGuiWindow *window, const ImDrawList *draw_list, const char *label)
 
IMGUI_API void ImGui::DebugNodeDrawCmdShowMeshAndBoundingBox (ImDrawList *out_draw_list, const ImDrawList *draw_list, const ImDrawCmd *draw_cmd, bool show_mesh, bool show_aabb)
 
IMGUI_API void ImGui::DebugNodeStorage (ImGuiStorage *storage, const char *label)
 
IMGUI_API void ImGui::DebugNodeTabBar (ImGuiTabBar *tab_bar, const char *label)
 
IMGUI_API void ImGui::DebugNodeTable (ImGuiTable *table)
 
IMGUI_API void ImGui::DebugNodeTableSettings (ImGuiTableSettings *settings)
 
IMGUI_API void ImGui::DebugNodeWindow (ImGuiWindow *window, const char *label)
 
IMGUI_API void ImGui::DebugNodeWindowSettings (ImGuiWindowSettings *settings)
 
IMGUI_API void ImGui::DebugNodeWindowsList (ImVector< ImGuiWindow * > *windows, const char *label)
 
IMGUI_API void ImGui::DebugNodeViewport (ImGuiViewportP *viewport)
 
IMGUI_API void ImGui::DebugRenderViewportThumbnail (ImDrawList *draw_list, ImGuiViewportP *viewport, const ImRect &bb)
 
IMGUI_API const ImFontBuilderIOImFontAtlasGetBuilderForStbTruetype ()
 
IMGUI_API void ImFontAtlasBuildInit (ImFontAtlas *atlas)
 
IMGUI_API void ImFontAtlasBuildSetupFont (ImFontAtlas *atlas, ImFont *font, ImFontConfig *font_config, float ascent, float descent)
 
IMGUI_API void ImFontAtlasBuildPackCustomRects (ImFontAtlas *atlas, void *stbrp_context_opaque)
 
IMGUI_API void ImFontAtlasBuildFinish (ImFontAtlas *atlas)
 
IMGUI_API void ImFontAtlasBuildRender8bppRectFromString (ImFontAtlas *atlas, int x, int y, int w, int h, const char *in_str, char in_marker_char, unsigned char in_marker_pixel_value)
 
IMGUI_API void ImFontAtlasBuildRender32bppRectFromString (ImFontAtlas *atlas, int x, int y, int w, int h, const char *in_str, char in_marker_char, unsigned int in_marker_pixel_value)
 
IMGUI_API void ImFontAtlasBuildMultiplyCalcLookupTable (unsigned char out_table[256], float in_multiply_factor)
 
IMGUI_API void ImFontAtlasBuildMultiplyRectAlpha8 (const unsigned char table[256], unsigned char *pixels, int x, int y, int w, int h, int stride)
 

Variables

IMGUI_API ImGuiContextGImGui
 

Class Documentation

◆ ImGuiDataTypeTempStorage

struct ImGuiDataTypeTempStorage
Class Members
ImU8 Data[8]

◆ ImGuiDataTypeInfo

struct ImGuiDataTypeInfo
Class Members
const char * Name
const char * PrintFmt
const char * ScanFmt
size_t Size

◆ ImGuiColorMod

struct ImGuiColorMod
+ Collaboration diagram for ImGuiColorMod:
Class Members
ImVec4 BackupValue
ImGuiCol Col

◆ ImGuiGroupData

struct ImGuiGroupData
+ Collaboration diagram for ImGuiGroupData:
Class Members
ImGuiID BackupActiveIdIsAlive
bool BackupActiveIdPreviousFrameIsAlive
ImVec2 BackupCurrLineSize
float BackupCurrLineTextBaseOffset
ImVec2 BackupCursorMaxPos
ImVec2 BackupCursorPos
ImVec1 BackupGroupOffset
bool BackupHoveredIdIsAlive
ImVec1 BackupIndent
bool EmitItem
ImGuiID WindowID

◆ ImGuiShrinkWidthItem

struct ImGuiShrinkWidthItem
Class Members
int Index
float Width

◆ ImGuiWindowTempData

struct ImGuiWindowTempData
+ Collaboration diagram for ImGuiWindowTempData:
Class Members
ImVector< ImGuiWindow * > ChildWindows
ImVec1 ColumnsOffset
ImGuiOldColumns * CurrentColumns
int CurrentTableIdx
ImVec2 CurrLineSize
float CurrLineTextBaseOffset
ImVec2 CursorMaxPos
ImVec2 CursorPos
ImVec2 CursorPosPrevLine
ImVec2 CursorStartPos
int FocusCounterRegular
int FocusCounterTabStop
ImVec1 GroupOffset
ImVec2 IdealMaxPos
ImVec1 Indent
float ItemWidth
ImVector< float > ItemWidthStack
ImRect LastItemDisplayRect
ImGuiID LastItemId
ImRect LastItemRect
ImGuiItemStatusFlags LastItemStatusFlags
ImGuiLayoutType LayoutType
bool MenuBarAppending
ImVec2 MenuBarOffset
ImGuiMenuColumns MenuColumns
ImGuiID NavFocusScopeIdCurrent
bool NavHasScroll
bool NavHideHighlightOneFrame
ImGuiNavLayer NavLayerCurrent
short NavLayersActiveMask
short NavLayersActiveMaskNext
ImGuiLayoutType ParentLayoutType
ImVec2 PrevLineSize
float PrevLineTextBaseOffset
ImGuiStackSizes StackSizesOnBegin
ImGuiStorage * StateStorage
float TextWrapPos
ImVector< float > TextWrapPosStack
int TreeDepth
ImU32 TreeJumpToParentOnPopMask

◆ ImGuiTableCellData

struct ImGuiTableCellData
Class Members
ImU32 BgColor
ImGuiTableColumnIdx Column

◆ ImGuiStyleMod.__unnamed672__

union ImGuiStyleMod.__unnamed672__
Class Members
float BackupFloat[2]
int BackupInt[2]

Macro Definition Documentation

◆ IM_ASSERT_PARANOID

#define IM_ASSERT_PARANOID (   _EXPR)

◆ IM_ASSERT_USER_ERROR

#define IM_ASSERT_USER_ERROR (   _EXP,
  _MSG 
)    IM_ASSERT((_EXP) && _MSG)

◆ IM_COL32_DISABLE

#define IM_COL32_DISABLE   IM_COL32(0,0,0,1)

◆ IM_DEBUG_BREAK

#define IM_DEBUG_BREAK ( )    IM_ASSERT(0)

◆ IM_DRAWLIST_ARCFAST_SAMPLE_MAX

#define IM_DRAWLIST_ARCFAST_SAMPLE_MAX   IM_DRAWLIST_ARCFAST_TABLE_SIZE

◆ IM_DRAWLIST_ARCFAST_TABLE_SIZE

#define IM_DRAWLIST_ARCFAST_TABLE_SIZE   48

◆ IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC

#define IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC (   _RAD,
  _MAXERROR 
)    ImClamp(IM_ROUNDUP_TO_EVEN((int)ImCeil(IM_PI / ImAcos(1 - ImMin((_MAXERROR), (_RAD)) / (_RAD)))), IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MIN, IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MAX)

◆ IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC_ERROR

#define IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC_ERROR (   _N,
  _RAD 
)    ((1 - ImCos(IM_PI / ImMax((float)(_N), IM_PI))) / (_RAD))

◆ IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC_R

#define IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC_R (   _N,
  _MAXERROR 
)    ((_MAXERROR) / (1 - ImCos(IM_PI / ImMax((float)(_N), IM_PI))))

◆ IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MAX

#define IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MAX   512

◆ IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MIN

#define IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MIN   4

◆ IM_F32_TO_INT8_SAT

#define IM_F32_TO_INT8_SAT (   _VAL)    ((int)(ImSaturate(_VAL) * 255.0f + 0.5f))

◆ IM_F32_TO_INT8_UNBOUND

#define IM_F32_TO_INT8_UNBOUND (   _VAL)    ((int)((_VAL) * 255.0f + ((_VAL)>=0 ? 0.5f : -0.5f)))

◆ IM_FLOOR

#define IM_FLOOR (   _VAL)    ((float)(int)(_VAL))

◆ IM_MEMALIGN

#define IM_MEMALIGN (   _OFF,
  _ALIGN 
)    (((_OFF) + (_ALIGN - 1)) & ~(_ALIGN - 1))

◆ IM_MSVC_WARNING_SUPPRESS

#define IM_MSVC_WARNING_SUPPRESS (   XXXX)

◆ IM_NEWLINE

#define IM_NEWLINE   "\n"

◆ IM_PI

#define IM_PI   3.14159265358979323846f

◆ IM_ROUND

#define IM_ROUND (   _VAL)    ((float)(int)((_VAL) + 0.5f))

◆ IM_ROUNDUP_TO_EVEN

#define IM_ROUNDUP_TO_EVEN (   _V)    ((((_V) + 1) / 2) * 2)

◆ IM_STATIC_ASSERT

#define IM_STATIC_ASSERT (   _COND)    typedef char static_assertion_##__line__[(_COND)?1:-1]

◆ IM_TABSIZE

#define IM_TABSIZE   (4)

◆ ImAcos

#define ImAcos (   X)    acosf(X)

◆ ImAtan2

#define ImAtan2 (   Y,
 
)    atan2f((Y), (X))

◆ ImAtof

#define ImAtof (   STR)    atof(STR)

◆ ImCeil

#define ImCeil (   X)    ceilf(X)

◆ ImCos

#define ImCos (   X)    cosf(X)

◆ ImFabs

#define ImFabs (   X)    fabsf(X)

◆ ImFmod

#define ImFmod (   X,
 
)    fmodf((X), (Y))

◆ IMGUI_CDECL

#define IMGUI_CDECL

◆ IMGUI_DEBUG_LOG

#define IMGUI_DEBUG_LOG (   _FMT,
  ... 
)    printf("[%05d] " _FMT, GImGui->FrameCount, __VA_ARGS__)

◆ IMGUI_DEBUG_LOG_NAV

#define IMGUI_DEBUG_LOG_NAV (   ...)    ((void)0)

◆ IMGUI_DEBUG_LOG_POPUP

#define IMGUI_DEBUG_LOG_POPUP (   ...)    ((void)0)

◆ IMGUI_ENABLE_STB_TRUETYPE

#define IMGUI_ENABLE_STB_TRUETYPE

◆ IMGUI_TABLE_MAX_COLUMNS

#define IMGUI_TABLE_MAX_COLUMNS   64

◆ IMGUI_TABLE_MAX_DRAW_CHANNELS

#define IMGUI_TABLE_MAX_DRAW_CHANNELS   (4 + 64 * 2)

◆ IMGUI_TEST_ENGINE_ID_INFO

#define IMGUI_TEST_ENGINE_ID_INFO (   _ID,
  _TYPE,
  _DATA 
)    do { } while (0)

◆ IMGUI_TEST_ENGINE_ID_INFO2

#define IMGUI_TEST_ENGINE_ID_INFO2 (   _ID,
  _TYPE,
  _DATA,
  _DATA2 
)    do { } while (0)

◆ IMGUI_TEST_ENGINE_ITEM_ADD

#define IMGUI_TEST_ENGINE_ITEM_ADD (   _BB,
  _ID 
)    do { } while (0)

◆ IMGUI_TEST_ENGINE_ITEM_INFO

#define IMGUI_TEST_ENGINE_ITEM_INFO (   _ID,
  _LABEL,
  _FLAGS 
)    do { } while (0)

◆ IMGUI_TEST_ENGINE_LOG

#define IMGUI_TEST_ENGINE_LOG (   _FMT,
  ... 
)    do { } while (0)

◆ ImQsort

#define ImQsort   qsort

◆ ImSin

#define ImSin (   X)    sinf(X)

◆ ImSqrt

#define ImSqrt (   X)    sqrtf(X)

◆ STB_TEXTEDIT_CHARTYPE

#define STB_TEXTEDIT_CHARTYPE   ImWchar

◆ STB_TEXTEDIT_GETWIDTH_NEWLINE

#define STB_TEXTEDIT_GETWIDTH_NEWLINE   (-1.0f)

◆ STB_TEXTEDIT_STRING

#define STB_TEXTEDIT_STRING   ImGuiInputTextState

◆ STB_TEXTEDIT_UNDOCHARCOUNT

#define STB_TEXTEDIT_UNDOCHARCOUNT   999

◆ STB_TEXTEDIT_UNDOSTATECOUNT

#define STB_TEXTEDIT_UNDOSTATECOUNT   99

Typedef Documentation

◆ ImFileHandle

typedef FILE* ImFileHandle

◆ ImGuiContextHookCallback

typedef void(* ImGuiContextHookCallback) (ImGuiContext *ctx, ImGuiContextHook *hook)

◆ ImGuiErrorLogCallback

typedef void(* ImGuiErrorLogCallback) (void *user_data, const char *fmt,...)

◆ ImGuiItemAddFlags

typedef int ImGuiItemAddFlags

◆ ImGuiItemFlags

typedef int ImGuiItemFlags

◆ ImGuiItemStatusFlags

typedef int ImGuiItemStatusFlags

◆ ImGuiLayoutType

typedef int ImGuiLayoutType

◆ ImGuiNavDirSourceFlags

◆ ImGuiNavHighlightFlags

◆ ImGuiNavMoveFlags

typedef int ImGuiNavMoveFlags

◆ ImGuiNextItemDataFlags

◆ ImGuiNextWindowDataFlags

◆ ImGuiOldColumnFlags

typedef int ImGuiOldColumnFlags

◆ ImGuiSeparatorFlags

typedef int ImGuiSeparatorFlags

◆ ImGuiTableColumnIdx

◆ ImGuiTableDrawChannelIdx

◆ ImGuiTextFlags

typedef int ImGuiTextFlags

◆ ImGuiTooltipFlags

typedef int ImGuiTooltipFlags

◆ ImPoolIdx

typedef int ImPoolIdx

Enumeration Type Documentation

◆ ImGuiAxis

enum ImGuiAxis
Enumerator
ImGuiAxis_None 
ImGuiAxis_X 
ImGuiAxis_Y 
863{
864 ImGuiAxis_None = -1,
865 ImGuiAxis_X = 0,
866 ImGuiAxis_Y = 1
867};
@ ImGuiAxis_None
Definition imgui_internal.h:864
@ ImGuiAxis_X
Definition imgui_internal.h:865
@ ImGuiAxis_Y
Definition imgui_internal.h:866

◆ ImGuiButtonFlagsPrivate_

Enumerator
ImGuiButtonFlags_PressedOnClick 
ImGuiButtonFlags_PressedOnClickRelease 
ImGuiButtonFlags_PressedOnClickReleaseAnywhere 
ImGuiButtonFlags_PressedOnRelease 
ImGuiButtonFlags_PressedOnDoubleClick 
ImGuiButtonFlags_PressedOnDragDropHold 
ImGuiButtonFlags_Repeat 
ImGuiButtonFlags_FlattenChildren 
ImGuiButtonFlags_AllowItemOverlap 
ImGuiButtonFlags_DontClosePopups 
ImGuiButtonFlags_Disabled 
ImGuiButtonFlags_AlignTextBaseLine 
ImGuiButtonFlags_NoKeyModifiers 
ImGuiButtonFlags_NoHoldingActiveId 
ImGuiButtonFlags_NoNavFocus 
ImGuiButtonFlags_NoHoveredOnFocus 
ImGuiButtonFlags_PressedOnMask_ 
ImGuiButtonFlags_PressedOnDefault_ 
777{
778 ImGuiButtonFlags_PressedOnClick = 1 << 4, // return true on click (mouse down event)
779 ImGuiButtonFlags_PressedOnClickRelease = 1 << 5, // [Default] return true on click + release on same item <-- this is what the majority of Button are using
780 ImGuiButtonFlags_PressedOnClickReleaseAnywhere = 1 << 6, // return true on click + release even if the release event is not done while hovering the item
781 ImGuiButtonFlags_PressedOnRelease = 1 << 7, // return true on release (default requires click+release)
782 ImGuiButtonFlags_PressedOnDoubleClick = 1 << 8, // return true on double-click (default requires click+release)
783 ImGuiButtonFlags_PressedOnDragDropHold = 1 << 9, // return true when held into while we are drag and dropping another item (used by e.g. tree nodes, collapsing headers)
784 ImGuiButtonFlags_Repeat = 1 << 10, // hold to repeat
785 ImGuiButtonFlags_FlattenChildren = 1 << 11, // allow interactions even if a child window is overlapping
786 ImGuiButtonFlags_AllowItemOverlap = 1 << 12, // require previous frame HoveredId to either match id or be null before being usable, use along with SetItemAllowOverlap()
787 ImGuiButtonFlags_DontClosePopups = 1 << 13, // disable automatically closing parent popup on press // [UNUSED]
788 ImGuiButtonFlags_Disabled = 1 << 14, // disable interactions
789 ImGuiButtonFlags_AlignTextBaseLine = 1 << 15, // vertically align button to match text baseline - ButtonEx() only // FIXME: Should be removed and handled by SmallButton(), not possible currently because of DC.CursorPosPrevLine
790 ImGuiButtonFlags_NoKeyModifiers = 1 << 16, // disable mouse interaction if a key modifier is held
791 ImGuiButtonFlags_NoHoldingActiveId = 1 << 17, // don't set ActiveId while holding the mouse (ImGuiButtonFlags_PressedOnClick only)
792 ImGuiButtonFlags_NoNavFocus = 1 << 18, // don't override navigation focus when activated
793 ImGuiButtonFlags_NoHoveredOnFocus = 1 << 19, // don't report as hovered when nav focus is on this item
796};
@ ImGuiButtonFlags_PressedOnMask_
Definition imgui_internal.h:794
@ ImGuiButtonFlags_FlattenChildren
Definition imgui_internal.h:785
@ ImGuiButtonFlags_NoHoveredOnFocus
Definition imgui_internal.h:793
@ ImGuiButtonFlags_NoKeyModifiers
Definition imgui_internal.h:790
@ ImGuiButtonFlags_PressedOnDoubleClick
Definition imgui_internal.h:782
@ ImGuiButtonFlags_NoHoldingActiveId
Definition imgui_internal.h:791
@ ImGuiButtonFlags_Repeat
Definition imgui_internal.h:784
@ ImGuiButtonFlags_AlignTextBaseLine
Definition imgui_internal.h:789
@ ImGuiButtonFlags_PressedOnDefault_
Definition imgui_internal.h:795
@ ImGuiButtonFlags_PressedOnClickRelease
Definition imgui_internal.h:779
@ ImGuiButtonFlags_NoNavFocus
Definition imgui_internal.h:792
@ ImGuiButtonFlags_PressedOnDragDropHold
Definition imgui_internal.h:783
@ ImGuiButtonFlags_PressedOnClickReleaseAnywhere
Definition imgui_internal.h:780
@ ImGuiButtonFlags_PressedOnRelease
Definition imgui_internal.h:781
@ ImGuiButtonFlags_Disabled
Definition imgui_internal.h:788
@ ImGuiButtonFlags_AllowItemOverlap
Definition imgui_internal.h:786
@ ImGuiButtonFlags_PressedOnClick
Definition imgui_internal.h:778
@ ImGuiButtonFlags_DontClosePopups
Definition imgui_internal.h:787

◆ ImGuiContextHookType

Enumerator
ImGuiContextHookType_NewFramePre 
ImGuiContextHookType_NewFramePost 
ImGuiContextHookType_EndFramePre 
ImGuiContextHookType_EndFramePost 
ImGuiContextHookType_RenderPre 
ImGuiContextHookType_RenderPost 
ImGuiContextHookType_Shutdown 
ImGuiContextHookType_PendingRemoval_ 
@ ImGuiContextHookType_PendingRemoval_
Definition imgui_internal.h:1333
@ ImGuiContextHookType_RenderPost
Definition imgui_internal.h:1333
@ ImGuiContextHookType_NewFramePost
Definition imgui_internal.h:1333
@ ImGuiContextHookType_RenderPre
Definition imgui_internal.h:1333
@ ImGuiContextHookType_EndFramePre
Definition imgui_internal.h:1333
@ ImGuiContextHookType_NewFramePre
Definition imgui_internal.h:1333
@ ImGuiContextHookType_EndFramePost
Definition imgui_internal.h:1333
@ ImGuiContextHookType_Shutdown
Definition imgui_internal.h:1333

◆ ImGuiDataTypePrivate_

Enumerator
ImGuiDataType_String 
ImGuiDataType_Pointer 
ImGuiDataType_ID 
963{
967};
@ ImGuiDataType_COUNT
Definition imgui.h:1289
@ ImGuiDataType_ID
Definition imgui_internal.h:966
@ ImGuiDataType_String
Definition imgui_internal.h:964
@ ImGuiDataType_Pointer
Definition imgui_internal.h:965

◆ ImGuiInputReadMode

Enumerator
ImGuiInputReadMode_Down 
ImGuiInputReadMode_Pressed 
ImGuiInputReadMode_Released 
ImGuiInputReadMode_Repeat 
ImGuiInputReadMode_RepeatSlow 
ImGuiInputReadMode_RepeatFast 
888{
895};
@ ImGuiInputReadMode_RepeatFast
Definition imgui_internal.h:894
@ ImGuiInputReadMode_RepeatSlow
Definition imgui_internal.h:893
@ ImGuiInputReadMode_Pressed
Definition imgui_internal.h:890
@ ImGuiInputReadMode_Released
Definition imgui_internal.h:891
@ ImGuiInputReadMode_Down
Definition imgui_internal.h:889
@ ImGuiInputReadMode_Repeat
Definition imgui_internal.h:892

◆ ImGuiInputSource

Enumerator
ImGuiInputSource_None 
ImGuiInputSource_Mouse 
ImGuiInputSource_Keyboard 
ImGuiInputSource_Gamepad 
ImGuiInputSource_Nav 
ImGuiInputSource_Clipboard 
ImGuiInputSource_COUNT 
876{
881 ImGuiInputSource_Nav, // Stored in g.ActiveIdSource only
882 ImGuiInputSource_Clipboard, // Currently only used by InputText()
884};
@ ImGuiInputSource_Mouse
Definition imgui_internal.h:878
@ ImGuiInputSource_Gamepad
Definition imgui_internal.h:880
@ ImGuiInputSource_Clipboard
Definition imgui_internal.h:882
@ ImGuiInputSource_COUNT
Definition imgui_internal.h:883
@ ImGuiInputSource_Keyboard
Definition imgui_internal.h:879
@ ImGuiInputSource_Nav
Definition imgui_internal.h:881
@ ImGuiInputSource_None
Definition imgui_internal.h:877

◆ ImGuiInputTextFlagsPrivate_

Enumerator
ImGuiInputTextFlags_Multiline 
ImGuiInputTextFlags_NoMarkEdited 
ImGuiInputTextFlags_MergedItem 
768{
769 // [Internal]
770 ImGuiInputTextFlags_Multiline = 1 << 26, // For internal use by InputTextMultiline()
771 ImGuiInputTextFlags_NoMarkEdited = 1 << 27, // For internal use by functions using InputText() before reformatting data
772 ImGuiInputTextFlags_MergedItem = 1 << 28 // For internal use by TempInputText(), will skip calling ItemAdd(). Require bounding-box to strictly match.
773};
@ ImGuiInputTextFlags_MergedItem
Definition imgui_internal.h:772
@ ImGuiInputTextFlags_Multiline
Definition imgui_internal.h:770
@ ImGuiInputTextFlags_NoMarkEdited
Definition imgui_internal.h:771

◆ ImGuiItemAddFlags_

Enumerator
ImGuiItemAddFlags_None 
ImGuiItemAddFlags_Focusable 
736{
738 ImGuiItemAddFlags_Focusable = 1 << 0 // FIXME-NAV: In current/legacy scheme, Focusable+TabStop support are opt-in by widgets. We will transition it toward being opt-out, so this flag is expected to eventually disappear.
739};
@ ImGuiItemAddFlags_Focusable
Definition imgui_internal.h:738
@ ImGuiItemAddFlags_None
Definition imgui_internal.h:737

◆ ImGuiItemFlags_

Enumerator
ImGuiItemFlags_None 
ImGuiItemFlags_NoTabStop 
ImGuiItemFlags_ButtonRepeat 
ImGuiItemFlags_Disabled 
ImGuiItemFlags_NoNav 
ImGuiItemFlags_NoNavDefaultFocus 
ImGuiItemFlags_SelectableDontClosePopup 
ImGuiItemFlags_MixedValue 
ImGuiItemFlags_ReadOnly 
721{
723 ImGuiItemFlags_NoTabStop = 1 << 0, // false
724 ImGuiItemFlags_ButtonRepeat = 1 << 1, // false // Button() will return true multiple times based on io.KeyRepeatDelay and io.KeyRepeatRate settings.
725 ImGuiItemFlags_Disabled = 1 << 2, // false // [BETA] Disable interactions but doesn't affect visuals yet. See github.com/ocornut/imgui/issues/211
726 ImGuiItemFlags_NoNav = 1 << 3, // false
727 ImGuiItemFlags_NoNavDefaultFocus = 1 << 4, // false
728 ImGuiItemFlags_SelectableDontClosePopup = 1 << 5, // false // MenuItem/Selectable() automatically closes current Popup window
729 ImGuiItemFlags_MixedValue = 1 << 6, // false // [BETA] Represent a mixed/indeterminate value, generally multi-selection where values differ. Currently only supported by Checkbox() (later should support all sorts of widgets)
730 ImGuiItemFlags_ReadOnly = 1 << 7 // false // [ALPHA] Allow hovering interactions but underlying value is not changed.
731};
@ ImGuiItemFlags_Disabled
Definition imgui_internal.h:725
@ ImGuiItemFlags_NoTabStop
Definition imgui_internal.h:723
@ ImGuiItemFlags_None
Definition imgui_internal.h:722
@ ImGuiItemFlags_NoNavDefaultFocus
Definition imgui_internal.h:727
@ ImGuiItemFlags_SelectableDontClosePopup
Definition imgui_internal.h:728
@ ImGuiItemFlags_MixedValue
Definition imgui_internal.h:729
@ ImGuiItemFlags_ButtonRepeat
Definition imgui_internal.h:724
@ ImGuiItemFlags_ReadOnly
Definition imgui_internal.h:730
@ ImGuiItemFlags_NoNav
Definition imgui_internal.h:726

◆ ImGuiItemStatusFlags_

Enumerator
ImGuiItemStatusFlags_None 
ImGuiItemStatusFlags_HoveredRect 
ImGuiItemStatusFlags_HasDisplayRect 
ImGuiItemStatusFlags_Edited 
ImGuiItemStatusFlags_ToggledSelection 
ImGuiItemStatusFlags_ToggledOpen 
ImGuiItemStatusFlags_HasDeactivated 
ImGuiItemStatusFlags_Deactivated 
ImGuiItemStatusFlags_HoveredWindow 
ImGuiItemStatusFlags_FocusedByCode 
ImGuiItemStatusFlags_FocusedByTabbing 
ImGuiItemStatusFlags_Focused 
743{
745 ImGuiItemStatusFlags_HoveredRect = 1 << 0, // Mouse position is within item rectangle (does NOT mean that the window is in correct z-order and can be hovered!, this is only one part of the most-common IsItemHovered test)
746 ImGuiItemStatusFlags_HasDisplayRect = 1 << 1, // window->DC.LastItemDisplayRect is valid
747 ImGuiItemStatusFlags_Edited = 1 << 2, // Value exposed by item was edited in the current frame (should match the bool return value of most widgets)
748 ImGuiItemStatusFlags_ToggledSelection = 1 << 3, // Set when Selectable(), TreeNode() reports toggling a selection. We can't report "Selected", only state changes, in order to easily handle clipping with less issues.
749 ImGuiItemStatusFlags_ToggledOpen = 1 << 4, // Set when TreeNode() reports toggling their open state.
750 ImGuiItemStatusFlags_HasDeactivated = 1 << 5, // Set if the widget/group is able to provide data for the ImGuiItemStatusFlags_Deactivated flag.
751 ImGuiItemStatusFlags_Deactivated = 1 << 6, // Only valid if ImGuiItemStatusFlags_HasDeactivated is set.
752 ImGuiItemStatusFlags_HoveredWindow = 1 << 7, // Override the HoveredWindow test to allow cross-window hover testing.
753 ImGuiItemStatusFlags_FocusedByCode = 1 << 8, // Set when the Focusable item just got focused from code.
754 ImGuiItemStatusFlags_FocusedByTabbing = 1 << 9, // Set when the Focusable item just got focused by Tabbing.
756
757#ifdef IMGUI_ENABLE_TEST_ENGINE
758 , // [imgui_tests only]
759 ImGuiItemStatusFlags_Openable = 1 << 20, //
760 ImGuiItemStatusFlags_Opened = 1 << 21, //
761 ImGuiItemStatusFlags_Checkable = 1 << 22, //
762 ImGuiItemStatusFlags_Checked = 1 << 23 //
763#endif
764};
@ ImGuiItemStatusFlags_ToggledSelection
Definition imgui_internal.h:748
@ ImGuiItemStatusFlags_HasDisplayRect
Definition imgui_internal.h:746
@ ImGuiItemStatusFlags_HoveredRect
Definition imgui_internal.h:745
@ ImGuiItemStatusFlags_Deactivated
Definition imgui_internal.h:751
@ ImGuiItemStatusFlags_FocusedByCode
Definition imgui_internal.h:753
@ ImGuiItemStatusFlags_Focused
Definition imgui_internal.h:755
@ ImGuiItemStatusFlags_FocusedByTabbing
Definition imgui_internal.h:754
@ ImGuiItemStatusFlags_Edited
Definition imgui_internal.h:747
@ ImGuiItemStatusFlags_HasDeactivated
Definition imgui_internal.h:750
@ ImGuiItemStatusFlags_HoveredWindow
Definition imgui_internal.h:752
@ ImGuiItemStatusFlags_None
Definition imgui_internal.h:744
@ ImGuiItemStatusFlags_ToggledOpen
Definition imgui_internal.h:749

◆ ImGuiLayoutType_

Enumerator
ImGuiLayoutType_Horizontal 
ImGuiLayoutType_Vertical 
847{
850};
@ ImGuiLayoutType_Vertical
Definition imgui_internal.h:849
@ ImGuiLayoutType_Horizontal
Definition imgui_internal.h:848

◆ ImGuiLogType

Enumerator
ImGuiLogType_None 
ImGuiLogType_TTY 
ImGuiLogType_File 
ImGuiLogType_Buffer 
ImGuiLogType_Clipboard 
853{
859};
@ ImGuiLogType_TTY
Definition imgui_internal.h:855
@ ImGuiLogType_None
Definition imgui_internal.h:854
@ ImGuiLogType_Clipboard
Definition imgui_internal.h:858
@ ImGuiLogType_File
Definition imgui_internal.h:856
@ ImGuiLogType_Buffer
Definition imgui_internal.h:857

◆ ImGuiNavDirSourceFlags_

Enumerator
ImGuiNavDirSourceFlags_None 
ImGuiNavDirSourceFlags_Keyboard 
ImGuiNavDirSourceFlags_PadDPad 
ImGuiNavDirSourceFlags_PadLStick 
907{
912};
@ ImGuiNavDirSourceFlags_PadLStick
Definition imgui_internal.h:911
@ ImGuiNavDirSourceFlags_Keyboard
Definition imgui_internal.h:909
@ ImGuiNavDirSourceFlags_None
Definition imgui_internal.h:908
@ ImGuiNavDirSourceFlags_PadDPad
Definition imgui_internal.h:910

◆ ImGuiNavForward

Enumerator
ImGuiNavForward_None 
ImGuiNavForward_ForwardQueued 
ImGuiNavForward_ForwardActive 
927{
931};
@ ImGuiNavForward_ForwardActive
Definition imgui_internal.h:930
@ ImGuiNavForward_None
Definition imgui_internal.h:928
@ ImGuiNavForward_ForwardQueued
Definition imgui_internal.h:929

◆ ImGuiNavHighlightFlags_

Enumerator
ImGuiNavHighlightFlags_None 
ImGuiNavHighlightFlags_TypeDefault 
ImGuiNavHighlightFlags_TypeThin 
ImGuiNavHighlightFlags_AlwaysDraw 
ImGuiNavHighlightFlags_NoRounding 
898{
902 ImGuiNavHighlightFlags_AlwaysDraw = 1 << 2, // Draw rectangular highlight if (g.NavId == id) _even_ when using the mouse.
904};
@ ImGuiNavHighlightFlags_NoRounding
Definition imgui_internal.h:903
@ ImGuiNavHighlightFlags_TypeThin
Definition imgui_internal.h:901
@ ImGuiNavHighlightFlags_None
Definition imgui_internal.h:899
@ ImGuiNavHighlightFlags_AlwaysDraw
Definition imgui_internal.h:902
@ ImGuiNavHighlightFlags_TypeDefault
Definition imgui_internal.h:900

◆ ImGuiNavLayer

Enumerator
ImGuiNavLayer_Main 
ImGuiNavLayer_Menu 
ImGuiNavLayer_COUNT 
934{
935 ImGuiNavLayer_Main = 0, // Main scrolling layer
936 ImGuiNavLayer_Menu = 1, // Menu layer (access with Alt/ImGuiNavInput_Menu)
938};
@ ImGuiNavLayer_Menu
Definition imgui_internal.h:936
@ ImGuiNavLayer_COUNT
Definition imgui_internal.h:937
@ ImGuiNavLayer_Main
Definition imgui_internal.h:935

◆ ImGuiNavMoveFlags_

Enumerator
ImGuiNavMoveFlags_None 
ImGuiNavMoveFlags_LoopX 
ImGuiNavMoveFlags_LoopY 
ImGuiNavMoveFlags_WrapX 
ImGuiNavMoveFlags_WrapY 
ImGuiNavMoveFlags_AllowCurrentNavId 
ImGuiNavMoveFlags_AlsoScoreVisibleSet 
ImGuiNavMoveFlags_ScrollToEdge 
915{
917 ImGuiNavMoveFlags_LoopX = 1 << 0, // On failed request, restart from opposite side
919 ImGuiNavMoveFlags_WrapX = 1 << 2, // On failed request, request from opposite side one line down (when NavDir==right) or one line up (when NavDir==left)
920 ImGuiNavMoveFlags_WrapY = 1 << 3, // This is not super useful for provided for completeness
921 ImGuiNavMoveFlags_AllowCurrentNavId = 1 << 4, // Allow scoring and considering the current NavId as a move target candidate. This is used when the move source is offset (e.g. pressing PageDown actually needs to send a Up move request, if we are pressing PageDown from the bottom-most item we need to stay in place)
922 ImGuiNavMoveFlags_AlsoScoreVisibleSet = 1 << 5, // Store alternate result in NavMoveResultLocalVisibleSet that only comprise elements that are already fully visible.
924};
@ ImGuiNavMoveFlags_WrapY
Definition imgui_internal.h:920
@ ImGuiNavMoveFlags_AlsoScoreVisibleSet
Definition imgui_internal.h:922
@ ImGuiNavMoveFlags_ScrollToEdge
Definition imgui_internal.h:923
@ ImGuiNavMoveFlags_AllowCurrentNavId
Definition imgui_internal.h:921
@ ImGuiNavMoveFlags_WrapX
Definition imgui_internal.h:919
@ ImGuiNavMoveFlags_LoopY
Definition imgui_internal.h:918
@ ImGuiNavMoveFlags_None
Definition imgui_internal.h:916
@ ImGuiNavMoveFlags_LoopX
Definition imgui_internal.h:917

◆ ImGuiNextItemDataFlags_

Enumerator
ImGuiNextItemDataFlags_None 
ImGuiNextItemDataFlags_HasWidth 
ImGuiNextItemDataFlags_HasOpen 
1116{
1120};
@ ImGuiNextItemDataFlags_None
Definition imgui_internal.h:1117
@ ImGuiNextItemDataFlags_HasOpen
Definition imgui_internal.h:1119
@ ImGuiNextItemDataFlags_HasWidth
Definition imgui_internal.h:1118

◆ ImGuiNextWindowDataFlags_

Enumerator
ImGuiNextWindowDataFlags_None 
ImGuiNextWindowDataFlags_HasPos 
ImGuiNextWindowDataFlags_HasSize 
ImGuiNextWindowDataFlags_HasContentSize 
ImGuiNextWindowDataFlags_HasCollapsed 
ImGuiNextWindowDataFlags_HasSizeConstraint 
ImGuiNextWindowDataFlags_HasFocus 
ImGuiNextWindowDataFlags_HasBgAlpha 
ImGuiNextWindowDataFlags_HasScroll 
1080{
1090};
@ ImGuiNextWindowDataFlags_HasSizeConstraint
Definition imgui_internal.h:1086
@ ImGuiNextWindowDataFlags_HasSize
Definition imgui_internal.h:1083
@ ImGuiNextWindowDataFlags_HasFocus
Definition imgui_internal.h:1087
@ ImGuiNextWindowDataFlags_HasBgAlpha
Definition imgui_internal.h:1088
@ ImGuiNextWindowDataFlags_HasContentSize
Definition imgui_internal.h:1084
@ ImGuiNextWindowDataFlags_HasScroll
Definition imgui_internal.h:1089
@ ImGuiNextWindowDataFlags_None
Definition imgui_internal.h:1081
@ ImGuiNextWindowDataFlags_HasCollapsed
Definition imgui_internal.h:1085
@ ImGuiNextWindowDataFlags_HasPos
Definition imgui_internal.h:1082

◆ ImGuiOldColumnFlags_

Enumerator
ImGuiOldColumnFlags_None 
ImGuiOldColumnFlags_NoBorder 
ImGuiOldColumnFlags_NoResize 
ImGuiOldColumnFlags_NoPreserveWidths 
ImGuiOldColumnFlags_NoForceWithinWindow 
ImGuiOldColumnFlags_GrowParentContentsSize 
ImGuiColumnsFlags_None 
ImGuiColumnsFlags_NoBorder 
ImGuiColumnsFlags_NoResize 
ImGuiColumnsFlags_NoPreserveWidths 
ImGuiColumnsFlags_NoForceWithinWindow 
ImGuiColumnsFlags_GrowParentContentsSize 
1155{
1157 ImGuiOldColumnFlags_NoBorder = 1 << 0, // Disable column dividers
1158 ImGuiOldColumnFlags_NoResize = 1 << 1, // Disable resizing columns when clicking on the dividers
1159 ImGuiOldColumnFlags_NoPreserveWidths = 1 << 2, // Disable column width preservation when adjusting columns
1160 ImGuiOldColumnFlags_NoForceWithinWindow = 1 << 3, // Disable forcing columns to fit within window
1161 ImGuiOldColumnFlags_GrowParentContentsSize = 1 << 4 // (WIP) Restore pre-1.51 behavior of extending the parent window contents size but _without affecting the columns width at all_. Will eventually remove.
1162
1163 // Obsolete names (will be removed)
1164#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
1171#endif
1172};
@ ImGuiOldColumnFlags_GrowParentContentsSize
Definition imgui_internal.h:1161
@ ImGuiColumnsFlags_NoResize
Definition imgui_internal.h:1167
@ ImGuiColumnsFlags_None
Definition imgui_internal.h:1165
@ ImGuiColumnsFlags_NoForceWithinWindow
Definition imgui_internal.h:1169
@ ImGuiOldColumnFlags_NoResize
Definition imgui_internal.h:1158
@ ImGuiOldColumnFlags_None
Definition imgui_internal.h:1156
@ ImGuiOldColumnFlags_NoPreserveWidths
Definition imgui_internal.h:1159
@ ImGuiColumnsFlags_GrowParentContentsSize
Definition imgui_internal.h:1170
@ ImGuiColumnsFlags_NoPreserveWidths
Definition imgui_internal.h:1168
@ ImGuiOldColumnFlags_NoBorder
Definition imgui_internal.h:1157
@ ImGuiColumnsFlags_NoBorder
Definition imgui_internal.h:1166
@ ImGuiOldColumnFlags_NoForceWithinWindow
Definition imgui_internal.h:1160

◆ ImGuiPlotType

Enumerator
ImGuiPlotType_Lines 
ImGuiPlotType_Histogram 
870{
873};
@ ImGuiPlotType_Histogram
Definition imgui_internal.h:872
@ ImGuiPlotType_Lines
Definition imgui_internal.h:871

◆ ImGuiPopupPositionPolicy

Enumerator
ImGuiPopupPositionPolicy_Default 
ImGuiPopupPositionPolicy_ComboBox 
ImGuiPopupPositionPolicy_Tooltip 
941{
945};
@ ImGuiPopupPositionPolicy_ComboBox
Definition imgui_internal.h:943
@ ImGuiPopupPositionPolicy_Tooltip
Definition imgui_internal.h:944
@ ImGuiPopupPositionPolicy_Default
Definition imgui_internal.h:942

◆ ImGuiSelectableFlagsPrivate_

Enumerator
ImGuiSelectableFlags_NoHoldingActiveID 
ImGuiSelectableFlags_SelectOnClick 
ImGuiSelectableFlags_SelectOnRelease 
ImGuiSelectableFlags_SpanAvailWidth 
ImGuiSelectableFlags_DrawHoveredWhenHeld 
ImGuiSelectableFlags_SetNavIdOnHover 
ImGuiSelectableFlags_NoPadWithHalfSpacing 
807{
808 // NB: need to be in sync with last value of ImGuiSelectableFlags_
810 ImGuiSelectableFlags_SelectOnClick = 1 << 21, // Override button behavior to react on Click (default is Click+Release)
811 ImGuiSelectableFlags_SelectOnRelease = 1 << 22, // Override button behavior to react on Release (default is Click+Release)
812 ImGuiSelectableFlags_SpanAvailWidth = 1 << 23, // Span all avail width even if we declared less for layout purpose. FIXME: We may be able to remove this (added in 6251d379, 2bcafc86 for menus)
813 ImGuiSelectableFlags_DrawHoveredWhenHeld = 1 << 24, // Always show active when held, even is not hovered. This concept could probably be renamed/formalized somehow.
814 ImGuiSelectableFlags_SetNavIdOnHover = 1 << 25, // Set Nav/Focus ID on mouse hover (used by MenuItem)
815 ImGuiSelectableFlags_NoPadWithHalfSpacing = 1 << 26 // Disable padding each side with ItemSpacing * 0.5f
816};
@ ImGuiSelectableFlags_SpanAvailWidth
Definition imgui_internal.h:812
@ ImGuiSelectableFlags_NoHoldingActiveID
Definition imgui_internal.h:809
@ ImGuiSelectableFlags_SelectOnClick
Definition imgui_internal.h:810
@ ImGuiSelectableFlags_NoPadWithHalfSpacing
Definition imgui_internal.h:815
@ ImGuiSelectableFlags_SetNavIdOnHover
Definition imgui_internal.h:814
@ ImGuiSelectableFlags_DrawHoveredWhenHeld
Definition imgui_internal.h:813
@ ImGuiSelectableFlags_SelectOnRelease
Definition imgui_internal.h:811

◆ ImGuiSeparatorFlags_

Enumerator
ImGuiSeparatorFlags_None 
ImGuiSeparatorFlags_Horizontal 
ImGuiSeparatorFlags_Vertical 
ImGuiSeparatorFlags_SpanAllColumns 
825{
827 ImGuiSeparatorFlags_Horizontal = 1 << 0, // Axis default to current layout type, so generally Horizontal unless e.g. in a menu bar
830};
@ ImGuiSeparatorFlags_Horizontal
Definition imgui_internal.h:827
@ ImGuiSeparatorFlags_SpanAllColumns
Definition imgui_internal.h:829
@ ImGuiSeparatorFlags_None
Definition imgui_internal.h:826
@ ImGuiSeparatorFlags_Vertical
Definition imgui_internal.h:828

◆ ImGuiSliderFlagsPrivate_

Enumerator
ImGuiSliderFlags_Vertical 
ImGuiSliderFlags_ReadOnly 
800{
801 ImGuiSliderFlags_Vertical = 1 << 20, // Should this slider be orientated vertically?
803};
@ ImGuiSliderFlags_ReadOnly
Definition imgui_internal.h:802
@ ImGuiSliderFlags_Vertical
Definition imgui_internal.h:801

◆ ImGuiTabBarFlagsPrivate_

Enumerator
ImGuiTabBarFlags_DockNode 
ImGuiTabBarFlags_IsFocused 
ImGuiTabBarFlags_SaveSettings 
1938{
1939 ImGuiTabBarFlags_DockNode = 1 << 20, // Part of a dock node [we don't use this in the master branch but it facilitate branch syncing to keep this around]
1941 ImGuiTabBarFlags_SaveSettings = 1 << 22 // FIXME: Settings are handled by the docking system, this only request the tab bar to mark settings dirty when reordering tabs
1942};
@ ImGuiTabBarFlags_SaveSettings
Definition imgui_internal.h:1941
@ ImGuiTabBarFlags_IsFocused
Definition imgui_internal.h:1940
@ ImGuiTabBarFlags_DockNode
Definition imgui_internal.h:1939

◆ ImGuiTabItemFlagsPrivate_

Enumerator
ImGuiTabItemFlags_SectionMask_ 
ImGuiTabItemFlags_NoCloseButton 
ImGuiTabItemFlags_Button 
1946{
1948 ImGuiTabItemFlags_NoCloseButton = 1 << 20, // Track whether p_open was set or not (we'll need this info on the next frame to recompute ContentWidth during layout)
1949 ImGuiTabItemFlags_Button = 1 << 21 // Used by TabItemButton, change the tab item behavior to mimic a button
1950};
@ ImGuiTabItemFlags_Trailing
Definition imgui.h:1080
@ ImGuiTabItemFlags_Leading
Definition imgui.h:1079
@ ImGuiTabItemFlags_NoCloseButton
Definition imgui_internal.h:1948
@ ImGuiTabItemFlags_Button
Definition imgui_internal.h:1949
@ ImGuiTabItemFlags_SectionMask_
Definition imgui_internal.h:1947

◆ ImGuiTextFlags_

Enumerator
ImGuiTextFlags_None 
ImGuiTextFlags_NoWidthForLargeClippedText 
833{
836};
@ ImGuiTextFlags_None
Definition imgui_internal.h:834
@ ImGuiTextFlags_NoWidthForLargeClippedText
Definition imgui_internal.h:835

◆ ImGuiTooltipFlags_

Enumerator
ImGuiTooltipFlags_None 
ImGuiTooltipFlags_OverridePreviousTooltip 
839{
841 ImGuiTooltipFlags_OverridePreviousTooltip = 1 << 0 // Override will clear/ignore previously submitted tooltip (defaults to append)
842};
@ ImGuiTooltipFlags_None
Definition imgui_internal.h:840
@ ImGuiTooltipFlags_OverridePreviousTooltip
Definition imgui_internal.h:841

◆ ImGuiTreeNodeFlagsPrivate_

Enumerator
ImGuiTreeNodeFlags_ClipLabelForTrailingButton 
820{
822};
@ ImGuiTreeNodeFlags_ClipLabelForTrailingButton
Definition imgui_internal.h:821

Function Documentation

◆ ImAbs() [1/3]

static double ImAbs ( double  x)
inlinestatic
397{ return fabs(x); }

◆ ImAbs() [2/3]

static float ImAbs ( float  x)
inlinestatic
396{ return fabsf(x); }

◆ ImAbs() [3/3]

static int ImAbs ( int  x)
inlinestatic
395{ return x < 0 ? -x : x; }
TCoord< P > x(const P &p)
Definition geometry_traits.hpp:297

Referenced by ImDrawList::_PathArcToFastEx(), and ImDrawList::PathArcTo().

+ Here is the caller graph for this function:

◆ ImAddClampOverflow()

template<typename T >
static T ImAddClampOverflow ( a,
b,
mn,
mx 
)
inlinestatic
414{ if (b < 0 && (a < mn - b)) return mn; if (b > 0 && (a > mx - b)) return mx; return a + b; }

Referenced by ImGui::DataTypeApplyOp().

+ Here is the caller graph for this function:

◆ ImAlphaBlendColors()

IMGUI_API ImU32 ImAlphaBlendColors ( ImU32  col_a,
ImU32  col_b 
)
1791{
1792 float t = ((col_b >> IM_COL32_A_SHIFT) & 0xFF) / 255.f;
1793 int r = ImLerp((int)(col_a >> IM_COL32_R_SHIFT) & 0xFF, (int)(col_b >> IM_COL32_R_SHIFT) & 0xFF, t);
1794 int g = ImLerp((int)(col_a >> IM_COL32_G_SHIFT) & 0xFF, (int)(col_b >> IM_COL32_G_SHIFT) & 0xFF, t);
1795 int b = ImLerp((int)(col_a >> IM_COL32_B_SHIFT) & 0xFF, (int)(col_b >> IM_COL32_B_SHIFT) & 0xFF, t);
1796 return IM_COL32(r, g, b, 0xFF);
1797}
#define IM_COL32(R, G, B, A)
Definition imgui.h:2177
#define IM_COL32_G_SHIFT
Definition imgui.h:2172
#define IM_COL32_R_SHIFT
Definition imgui.h:2171
#define IM_COL32_B_SHIFT
Definition imgui.h:2173
#define IM_COL32_A_SHIFT
Definition imgui.h:2174
static T ImLerp(T a, T b, float t)
Definition imgui_internal.h:412

References IM_COL32, IM_COL32_A_SHIFT, IM_COL32_B_SHIFT, IM_COL32_G_SHIFT, IM_COL32_R_SHIFT, and ImLerp().

Referenced by ImGui::RenderColorRectWithAlphaCheckerboard().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImBezierCubicCalc()

IM_MSVC_RUNTIME_CHECKS_RESTORE IMGUI_API ImVec2 ImBezierCubicCalc ( const ImVec2 p1,
const ImVec2 p2,
const ImVec2 p3,
const ImVec2 p4,
float  t 
)
1214{
1215 float u = 1.0f - t;
1216 float w1 = u * u * u;
1217 float w2 = 3 * u * u * t;
1218 float w3 = 3 * u * t * t;
1219 float w4 = t * t * t;
1220 return ImVec2(w1 * p1.x + w2 * p2.x + w3 * p3.x + w4 * p4.x, w1 * p1.y + w2 * p2.y + w3 * p3.y + w4 * p4.y);
1221}
Definition imgui.h:245
float y
Definition imgui.h:246
float x
Definition imgui.h:246

References ImVec2::x, and ImVec2::y.

Referenced by ImBezierCubicClosestPoint(), and ImDrawList::PathBezierCubicCurveTo().

+ Here is the caller graph for this function:

◆ ImBezierCubicClosestPoint()

IMGUI_API ImVec2 ImBezierCubicClosestPoint ( const ImVec2 p1,
const ImVec2 p2,
const ImVec2 p3,
const ImVec2 p4,
const ImVec2 p,
int  num_segments 
)
1180{
1181 IM_ASSERT(num_segments > 0); // Use ImBezierCubicClosestPointCasteljau()
1182 ImVec2 p_last = p1;
1183 ImVec2 p_closest;
1184 float p_closest_dist2 = FLT_MAX;
1185 float t_step = 1.0f / (float)num_segments;
1186 for (int i_step = 1; i_step <= num_segments; i_step++)
1187 {
1188 ImVec2 p_current = ImBezierCubicCalc(p1, p2, p3, p4, t_step * i_step);
1189 ImVec2 p_line = ImLineClosestPoint(p_last, p_current, p);
1190 float dist2 = ImLengthSqr(p - p_line);
1191 if (dist2 < p_closest_dist2)
1192 {
1193 p_closest = p_line;
1194 p_closest_dist2 = dist2;
1195 }
1196 p_last = p_current;
1197 }
1198 return p_closest;
1199}
ImVec2 ImLineClosestPoint(const ImVec2 &a, const ImVec2 &b, const ImVec2 &p)
Definition imgui.cpp:1247
#define IM_ASSERT(_EXPR)
Definition imgui.h:81
ImVec2 ImBezierCubicCalc(const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, float t)
Definition imgui_draw.cpp:1213
static float ImLengthSqr(const ImVec2 &lhs)
Definition imgui_internal.h:424

References IM_ASSERT, ImBezierCubicCalc(), ImLengthSqr(), and ImLineClosestPoint().

+ Here is the call graph for this function:

◆ ImBezierCubicClosestPointCasteljau()

IMGUI_API ImVec2 ImBezierCubicClosestPointCasteljau ( const ImVec2 p1,
const ImVec2 p2,
const ImVec2 p3,
const ImVec2 p4,
const ImVec2 p,
float  tess_tol 
)
1238{
1239 IM_ASSERT(tess_tol > 0.0f);
1240 ImVec2 p_last = p1;
1241 ImVec2 p_closest;
1242 float p_closest_dist2 = FLT_MAX;
1243 ImBezierCubicClosestPointCasteljauStep(p, p_closest, p_last, p_closest_dist2, p1.x, p1.y, p2.x, p2.y, p3.x, p3.y, p4.x, p4.y, tess_tol, 0);
1244 return p_closest;
1245}
static void ImBezierCubicClosestPointCasteljauStep(const ImVec2 &p, ImVec2 &p_closest, ImVec2 &p_last, float &p_closest_dist2, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4, float tess_tol, int level)
Definition imgui.cpp:1202

References IM_ASSERT, ImBezierCubicClosestPointCasteljauStep(), ImVec2::x, and ImVec2::y.

+ Here is the call graph for this function:

◆ ImBezierQuadraticCalc()

IMGUI_API ImVec2 ImBezierQuadraticCalc ( const ImVec2 p1,
const ImVec2 p2,
const ImVec2 p3,
float  t 
)
1224{
1225 float u = 1.0f - t;
1226 float w1 = u * u;
1227 float w2 = 2 * u * t;
1228 float w3 = t * t;
1229 return ImVec2(w1 * p1.x + w2 * p2.x + w3 * p3.x, w1 * p1.y + w2 * p2.y + w3 * p3.y);
1230}

References ImVec2::x, and ImVec2::y.

Referenced by ImDrawList::PathBezierQuadraticCurveTo().

+ Here is the caller graph for this function:

◆ ImBitArrayClearBit()

void ImBitArrayClearBit ( ImU32 arr,
int  n 
)
inline
509{ ImU32 mask = (ImU32)1 << (n & 31); arr[n >> 5] &= ~mask; }
unsigned int ImU32
Definition imgui.h:229

Referenced by ImBitArray< BITCOUNT >::ClearBit(), and ImBitVector::ClearBit().

+ Here is the caller graph for this function:

◆ ImBitArraySetBit()

void ImBitArraySetBit ( ImU32 arr,
int  n 
)
inline
510{ ImU32 mask = (ImU32)1 << (n & 31); arr[n >> 5] |= mask; }

Referenced by ImBitArray< BITCOUNT >::SetBit(), and ImBitVector::SetBit().

+ Here is the caller graph for this function:

◆ ImBitArraySetBitRange()

void ImBitArraySetBitRange ( ImU32 arr,
int  n,
int  n2 
)
inline
512{
513 n2--;
514 while (n <= n2)
515 {
516 int a_mod = (n & 31);
517 int b_mod = (n2 > (n | 31) ? 31 : (n2 & 31)) + 1;
518 ImU32 mask = (ImU32)(((ImU64)1 << b_mod) - 1) & ~(ImU32)(((ImU64)1 << a_mod) - 1);
519 arr[n >> 5] |= mask;
520 n = (n + 32) & ~31;
521 }
522}
unsigned long long ImU64
Definition imgui.h:239

Referenced by ImBitArray< BITCOUNT >::SetBitRange().

+ Here is the caller graph for this function:

◆ ImBitArrayTestBit()

IM_MSVC_RUNTIME_CHECKS_RESTORE bool ImBitArrayTestBit ( const ImU32 arr,
int  n 
)
inline
508{ ImU32 mask = (ImU32)1 << (n & 31); return (arr[n >> 5] & mask) != 0; }

Referenced by ImBitArray< BITCOUNT >::TestBit(), and ImBitVector::TestBit().

+ Here is the caller graph for this function:

◆ ImCharIsBlankA()

static bool ImCharIsBlankA ( char  c)
inlinestatic
321{ return c == ' ' || c == '\t'; }

Referenced by ImGuiTextFilter::Build(), ImFont::CalcTextSizeA(), ImGui::ColorEdit4(), ImGui::DataTypeApplyOpFromText(), ImFont::RenderText(), and ImGui::RenderTextEllipsis().

+ Here is the caller graph for this function:

◆ ImCharIsBlankW()

static bool ImCharIsBlankW ( unsigned int  c)
inlinestatic
322{ return c == ' ' || c == '\t' || c == 0x3000; }

Referenced by ImFont::CalcWordWrapPositionA(), InputTextFilterCharacter(), and ImStb::is_separator().

+ Here is the caller graph for this function:

◆ ImClamp() [1/2]

static ImVec2 ImClamp ( const ImVec2 v,
const ImVec2 mn,
ImVec2  mx 
)
inlinestatic
419{ return ImVec2((v.x < mn.x) ? mn.x : (v.x > mx.x) ? mx.x : v.x, (v.y < mn.y) ? mn.y : (v.y > mx.y) ? mx.y : v.y); }
const Scalar & y
Definition MathFunctions.h:552

References ImVec2::x, and ImVec2::y.

◆ ImClamp() [2/2]

◆ ImDot()

static float ImDot ( const ImVec2 a,
const ImVec2 b 
)
inlinestatic
431{ return a.x * b.x + a.y * b.y; }

Referenced by ImGui::ShadeVertsLinearColorGradientKeepAlpha().

+ Here is the caller graph for this function:

◆ ImFileClose()

IMGUI_API bool ImFileClose ( ImFileHandle  file)
1564{ return fclose(f) == 0; }

Referenced by ImFileLoadToMemory(), ImGui::LogFinish(), ImGui::SaveIniSettingsToDisk(), and ImGui::Shutdown().

+ Here is the caller graph for this function:

◆ ImFileGetSize()

IMGUI_API ImU64 ImFileGetSize ( ImFileHandle  file)
1565{ long off = 0, sz = 0; return ((off = ftell(f)) != -1 && !fseek(f, 0, SEEK_END) && (sz = ftell(f)) != -1 && !fseek(f, off, SEEK_SET)) ? (ImU64)sz : (ImU64)-1; }
#define SEEK_SET

References SEEK_SET.

Referenced by ImFileLoadToMemory().

+ Here is the caller graph for this function:

◆ ImFileLoadToMemory()

IMGUI_API void * ImFileLoadToMemory ( const char *  filename,
const char *  mode,
size_t *  out_file_size = NULL,
int  padding_bytes = 0 
)
1574{
1575 IM_ASSERT(filename && mode);
1576 if (out_file_size)
1577 *out_file_size = 0;
1578
1579 ImFileHandle f;
1580 if ((f = ImFileOpen(filename, mode)) == NULL)
1581 return NULL;
1582
1583 size_t file_size = (size_t)ImFileGetSize(f);
1584 if (file_size == (size_t)-1)
1585 {
1586 ImFileClose(f);
1587 return NULL;
1588 }
1589
1590 void* file_data = IM_ALLOC(file_size + padding_bytes);
1591 if (file_data == NULL)
1592 {
1593 ImFileClose(f);
1594 return NULL;
1595 }
1596 if (ImFileRead(file_data, 1, file_size, f) != file_size)
1597 {
1598 ImFileClose(f);
1599 IM_FREE(file_data);
1600 return NULL;
1601 }
1602 if (padding_bytes > 0)
1603 memset((void*)(((char*)file_data) + file_size), 0, (size_t)padding_bytes);
1604
1605 ImFileClose(f);
1606 if (out_file_size)
1607 *out_file_size = file_size;
1608
1609 return file_data;
1610}
ImU64 ImFileRead(void *data, ImU64 sz, ImU64 count, ImFileHandle f)
Definition imgui.cpp:1566
bool ImFileClose(ImFileHandle f)
Definition imgui.cpp:1564
ImU64 ImFileGetSize(ImFileHandle f)
Definition imgui.cpp:1565
ImFileHandle ImFileOpen(const char *filename, const char *mode)
Definition imgui.cpp:1546
#define IM_ALLOC(_SIZE)
Definition imgui.h:1634
#define IM_FREE(_PTR)
Definition imgui.h:1635
FILE * ImFileHandle
Definition imgui_internal.h:366

References IM_ALLOC, IM_ASSERT, IM_FREE, ImFileClose(), ImFileGetSize(), ImFileOpen(), and ImFileRead().

Referenced by ImFontAtlas::AddFontFromFileTTF(), and ImGui::LoadIniSettingsFromDisk().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImFileOpen()

IMGUI_API ImFileHandle ImFileOpen ( const char *  filename,
const char *  mode 
)
1547{
1548#if defined(_WIN32) && !defined(IMGUI_DISABLE_WIN32_FUNCTIONS) && !defined(__CYGWIN__) && !defined(__GNUC__)
1549 // We need a fopen() wrapper because MSVC/Windows fopen doesn't handle UTF-8 filenames.
1550 // Previously we used ImTextCountCharsFromUtf8/ImTextStrFromUtf8 here but we now need to support ImWchar16 and ImWchar32!
1551 const int filename_wsize = ::MultiByteToWideChar(CP_UTF8, 0, filename, -1, NULL, 0);
1552 const int mode_wsize = ::MultiByteToWideChar(CP_UTF8, 0, mode, -1, NULL, 0);
1554 buf.resize(filename_wsize + mode_wsize);
1555 ::MultiByteToWideChar(CP_UTF8, 0, filename, -1, (wchar_t*)&buf[0], filename_wsize);
1556 ::MultiByteToWideChar(CP_UTF8, 0, mode, -1, (wchar_t*)&buf[filename_wsize], mode_wsize);
1557 return ::_wfopen((const wchar_t*)&buf[0], (const wchar_t*)&buf[filename_wsize]);
1558#else
1559 return fopen(filename, mode);
1560#endif
1561}
Definition imgui.h:1654
void resize(int new_size)
Definition imgui.h:1690

References ImVector< T >::resize().

Referenced by ImFileLoadToMemory(), ImGui::LogToFile(), and ImGui::SaveIniSettingsToDisk().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImFileRead()

IMGUI_API ImU64 ImFileRead ( void data,
ImU64  size,
ImU64  count,
ImFileHandle  file 
)
1566{ return fread(data, (size_t)sz, (size_t)count, f); }

Referenced by ImFileLoadToMemory().

+ Here is the caller graph for this function:

◆ ImFileWrite()

IMGUI_API ImU64 ImFileWrite ( const void data,
ImU64  size,
ImU64  count,
ImFileHandle  file 
)
1567{ return fwrite(data, (size_t)sz, (size_t)count, f); }

Referenced by LogTextV(), and ImGui::SaveIniSettingsToDisk().

+ Here is the caller graph for this function:

◆ ImFloor() [1/2]

static ImVec2 ImFloor ( const ImVec2 v)
inlinestatic
429{ return ImVec2((float)(int)(v.x), (float)(int)(v.y)); }

References ImVec2::x, and ImVec2::y.

◆ ImFloor() [2/2]

◆ ImFloorSigned()

static float ImFloorSigned ( float  f)
inlinestatic
428{ return (float)((f >= 0 || (int)f == f) ? (int)f : (int)f - 1); } // Decent replacement for floorf()

Referenced by ImDrawList::PathArcTo().

+ Here is the caller graph for this function:

◆ ImFontAtlasBuildFinish()

IMGUI_API void ImFontAtlasBuildFinish ( ImFontAtlas atlas)
2766{
2767 // Render into our custom data blocks
2768 IM_ASSERT(atlas->TexPixelsAlpha8 != NULL || atlas->TexPixelsRGBA32 != NULL);
2771
2772 // Register custom rectangle glyphs
2773 for (int i = 0; i < atlas->CustomRects.Size; i++)
2774 {
2775 const ImFontAtlasCustomRect* r = &atlas->CustomRects[i];
2776 if (r->Font == NULL || r->GlyphID == 0)
2777 continue;
2778
2779 // Will ignore ImFontConfig settings: GlyphMinAdvanceX, GlyphMinAdvanceY, GlyphExtraSpacing, PixelSnapH
2780 IM_ASSERT(r->Font->ContainerAtlas == atlas);
2781 ImVec2 uv0, uv1;
2782 atlas->CalcCustomRectUV(r, &uv0, &uv1);
2783 r->Font->AddGlyph(NULL, (ImWchar)r->GlyphID, r->GlyphOffset.x, r->GlyphOffset.y, r->GlyphOffset.x + r->Width, r->GlyphOffset.y + r->Height, uv0.x, uv0.y, uv1.x, uv1.y, r->GlyphAdvanceX);
2784 }
2785
2786 // Build all fonts lookup tables
2787 for (int i = 0; i < atlas->Fonts.Size; i++)
2788 if (atlas->Fonts[i]->DirtyLookupTables)
2789 atlas->Fonts[i]->BuildLookupTable();
2790
2791 // Ellipsis character is required for rendering elided text. We prefer using U+2026 (horizontal ellipsis).
2792 // However some old fonts may contain ellipsis at U+0085. Here we auto-detect most suitable ellipsis character.
2793 // FIXME: Also note that 0x2026 is currently seldom included in our font ranges. Because of this we are more likely to use three individual dots.
2794 for (int i = 0; i < atlas->Fonts.size(); i++)
2795 {
2796 ImFont* font = atlas->Fonts[i];
2797 if (font->EllipsisChar != (ImWchar)-1)
2798 continue;
2799 const ImWchar ellipsis_variants[] = { (ImWchar)0x2026, (ImWchar)0x0085 };
2800 for (int j = 0; j < IM_ARRAYSIZE(ellipsis_variants); j++)
2801 if (font->FindGlyphNoFallback(ellipsis_variants[j]) != NULL) // Verify glyph exists
2802 {
2803 font->EllipsisChar = ellipsis_variants[j];
2804 break;
2805 }
2806 }
2807}
ImWchar16 ImWchar
Definition imgui.h:220
#define IM_ARRAYSIZE(_ARR)
Definition imgui.h:83
static void ImFontAtlasBuildRenderDefaultTexData(ImFontAtlas *atlas)
Definition imgui_draw.cpp:2652
static void ImFontAtlasBuildRenderLinesTexData(ImFontAtlas *atlas)
Definition imgui_draw.cpp:2692
Definition imgui.h:2551
ImVec2 GlyphOffset
Definition imgui.h:2556
float GlyphAdvanceX
Definition imgui.h:2555
unsigned int GlyphID
Definition imgui.h:2554
unsigned short Height
Definition imgui.h:2552
unsigned short Width
Definition imgui.h:2552
ImFont * Font
Definition imgui.h:2557
ImVector< ImFont * > Fonts
Definition imgui.h:2668
unsigned int * TexPixelsRGBA32
Definition imgui.h:2663
unsigned char * TexPixelsAlpha8
Definition imgui.h:2662
IMGUI_API void CalcCustomRectUV(const ImFontAtlasCustomRect *rect, ImVec2 *out_uv_min, ImVec2 *out_uv_max) const
Definition imgui_draw.cpp:2219
ImVector< ImFontAtlasCustomRect > CustomRects
Definition imgui.h:2669
Definition imgui.h:2690
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)
Definition imgui_draw.cpp:3224
ImWchar EllipsisChar
Definition imgui.h:2706
ImFontAtlas * ContainerAtlas
Definition imgui.h:2702
IMGUI_API const ImFontGlyph * FindGlyphNoFallback(ImWchar c) const
Definition imgui_draw.cpp:3293
int size() const
Definition imgui.h:1671
int Size
Definition imgui.h:1655

References ImFont::AddGlyph(), ImFontAtlas::CalcCustomRectUV(), ImFont::ContainerAtlas, ImFontAtlas::CustomRects, ImFont::EllipsisChar, ImFont::FindGlyphNoFallback(), ImFontAtlasCustomRect::Font, ImFontAtlas::Fonts, ImFontAtlasCustomRect::GlyphAdvanceX, ImFontAtlasCustomRect::GlyphID, ImFontAtlasCustomRect::GlyphOffset, ImFontAtlasCustomRect::Height, IM_ARRAYSIZE, IM_ASSERT, ImFontAtlasBuildRenderDefaultTexData(), ImFontAtlasBuildRenderLinesTexData(), ImVector< T >::Size, ImVector< T >::size(), ImFontAtlas::TexPixelsAlpha8, ImFontAtlas::TexPixelsRGBA32, ImFontAtlasCustomRect::Width, ImVec2::x, and ImVec2::y.

Referenced by ImFontAtlasBuildWithStbTruetype().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImFontAtlasBuildInit()

IMGUI_API void ImFontAtlasBuildInit ( ImFontAtlas atlas)
2745{
2746 // Register texture region for mouse cursors or standard white pixels
2747 if (atlas->PackIdMouseCursors < 0)
2748 {
2749 if (!(atlas->Flags & ImFontAtlasFlags_NoMouseCursors))
2751 else
2752 atlas->PackIdMouseCursors = atlas->AddCustomRectRegular(2, 2);
2753 }
2754
2755 // Register texture region for thick lines
2756 // The +2 here is to give space for the end caps, whilst height +1 is to accommodate the fact we have a zero-width row
2757 if (atlas->PackIdLines < 0)
2758 {
2759 if (!(atlas->Flags & ImFontAtlasFlags_NoBakedLines))
2761 }
2762}
#define IM_DRAWLIST_TEX_LINES_WIDTH_MAX
Definition imgui.h:2210
@ ImFontAtlasFlags_NoBakedLines
Definition imgui.h:2568
@ ImFontAtlasFlags_NoMouseCursors
Definition imgui.h:2567
const int FONT_ATLAS_DEFAULT_TEX_DATA_H
Definition imgui_draw.cpp:1916
const int FONT_ATLAS_DEFAULT_TEX_DATA_W
Definition imgui_draw.cpp:1915
int PackIdLines
Definition imgui.h:2679
ImFontAtlasFlags Flags
Definition imgui.h:2653
IMGUI_API int AddCustomRectRegular(int width, int height)
Definition imgui_draw.cpp:2189
int PackIdMouseCursors
Definition imgui.h:2678

References ImFontAtlas::AddCustomRectRegular(), ImFontAtlas::Flags, FONT_ATLAS_DEFAULT_TEX_DATA_H, FONT_ATLAS_DEFAULT_TEX_DATA_W, IM_DRAWLIST_TEX_LINES_WIDTH_MAX, ImFontAtlasFlags_NoBakedLines, ImFontAtlasFlags_NoMouseCursors, ImFontAtlas::PackIdLines, and ImFontAtlas::PackIdMouseCursors.

Referenced by ImFontAtlasBuildWithStbTruetype().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImFontAtlasBuildMultiplyCalcLookupTable()

IMGUI_API void ImFontAtlasBuildMultiplyCalcLookupTable ( unsigned char  out_table[256],
float  in_multiply_factor 
)
2274{
2275 for (unsigned int i = 0; i < 256; i++)
2276 {
2277 unsigned int value = (unsigned int)(i * in_brighten_factor);
2278 out_table[i] = value > 255 ? 255 : (value & 0xFF);
2279 }
2280}

Referenced by ImFontAtlasBuildWithStbTruetype().

+ Here is the caller graph for this function:

◆ ImFontAtlasBuildMultiplyRectAlpha8()

IMGUI_API void ImFontAtlasBuildMultiplyRectAlpha8 ( const unsigned char  table[256],
unsigned char *  pixels,
int  x,
int  y,
int  w,
int  h,
int  stride 
)
2283{
2284 unsigned char* data = pixels + x + y * stride;
2285 for (int j = h; j > 0; j--, data += stride)
2286 for (int i = 0; i < w; i++)
2287 data[i] = table[data[i]];
2288}
constexpr auto data(C &c) -> decltype(c.data())
Definition span.hpp:195

Referenced by ImFontAtlasBuildWithStbTruetype().

+ Here is the caller graph for this function:

◆ ImFontAtlasBuildPackCustomRects()

IMGUI_API void ImFontAtlasBuildPackCustomRects ( ImFontAtlas atlas,
void stbrp_context_opaque 
)
2606{
2607 stbrp_context* pack_context = (stbrp_context*)stbrp_context_opaque;
2608 IM_ASSERT(pack_context != NULL);
2609
2610 ImVector<ImFontAtlasCustomRect>& user_rects = atlas->CustomRects;
2611 IM_ASSERT(user_rects.Size >= 1); // We expect at least the default custom rects to be registered, else something went wrong.
2612
2613 ImVector<stbrp_rect> pack_rects;
2614 pack_rects.resize(user_rects.Size);
2615 memset(pack_rects.Data, 0, (size_t)pack_rects.size_in_bytes());
2616 for (int i = 0; i < user_rects.Size; i++)
2617 {
2618 pack_rects[i].w = user_rects[i].Width;
2619 pack_rects[i].h = user_rects[i].Height;
2620 }
2621 stbrp_pack_rects(pack_context, &pack_rects[0], pack_rects.Size);
2622 for (int i = 0; i < pack_rects.Size; i++)
2623 if (pack_rects[i].was_packed)
2624 {
2625 user_rects[i].X = pack_rects[i].x;
2626 user_rects[i].Y = pack_rects[i].y;
2627 IM_ASSERT(pack_rects[i].w == user_rects[i].Width && pack_rects[i].h == user_rects[i].Height);
2628 atlas->TexHeight = ImMax(atlas->TexHeight, pack_rects[i].y + pack_rects[i].h);
2629 }
2630}
static T ImMax(T lhs, T rhs)
Definition imgui_internal.h:410
STBRP_DEF int stbrp_pack_rects(stbrp_context *context, stbrp_rect *rects, int num_rects)
Definition imstb_rectpack.h:182
int TexHeight
Definition imgui.h:2665
T * Data
Definition imgui.h:1657
int size_in_bytes() const
Definition imgui.h:1672

References ImFontAtlas::CustomRects, ImVector< T >::Data, IM_ASSERT, ImMax(), ImVector< T >::resize(), ImVector< T >::Size, ImVector< T >::size_in_bytes(), stbrp_pack_rects(), and ImFontAtlas::TexHeight.

Referenced by ImFontAtlasBuildWithStbTruetype().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImFontAtlasBuildRender32bppRectFromString()

IMGUI_API void ImFontAtlasBuildRender32bppRectFromString ( ImFontAtlas atlas,
int  x,
int  y,
int  w,
int  h,
const char *  in_str,
char  in_marker_char,
unsigned int  in_marker_pixel_value 
)
2643{
2644 IM_ASSERT(x >= 0 && x + w <= atlas->TexWidth);
2645 IM_ASSERT(y >= 0 && y + h <= atlas->TexHeight);
2646 unsigned int* out_pixel = atlas->TexPixelsRGBA32 + x + (y * atlas->TexWidth);
2647 for (int off_y = 0; off_y < h; off_y++, out_pixel += atlas->TexWidth, in_str += w)
2648 for (int off_x = 0; off_x < w; off_x++)
2649 out_pixel[off_x] = (in_str[off_x] == in_marker_char) ? in_marker_pixel_value : IM_COL32_BLACK_TRANS;
2650}
#define IM_COL32_BLACK_TRANS
Definition imgui.h:2180
int TexWidth
Definition imgui.h:2664

References IM_ASSERT, IM_COL32_BLACK_TRANS, ImFontAtlas::TexPixelsRGBA32, and ImFontAtlas::TexWidth.

Referenced by ImFontAtlasBuildRenderDefaultTexData().

+ Here is the caller graph for this function:

◆ ImFontAtlasBuildRender8bppRectFromString()

IMGUI_API void ImFontAtlasBuildRender8bppRectFromString ( ImFontAtlas atlas,
int  x,
int  y,
int  w,
int  h,
const char *  in_str,
char  in_marker_char,
unsigned char  in_marker_pixel_value 
)
2633{
2634 IM_ASSERT(x >= 0 && x + w <= atlas->TexWidth);
2635 IM_ASSERT(y >= 0 && y + h <= atlas->TexHeight);
2636 unsigned char* out_pixel = atlas->TexPixelsAlpha8 + x + (y * atlas->TexWidth);
2637 for (int off_y = 0; off_y < h; off_y++, out_pixel += atlas->TexWidth, in_str += w)
2638 for (int off_x = 0; off_x < w; off_x++)
2639 out_pixel[off_x] = (in_str[off_x] == in_marker_char) ? in_marker_pixel_value : 0x00;
2640}

References IM_ASSERT, ImFontAtlas::TexPixelsAlpha8, and ImFontAtlas::TexWidth.

Referenced by ImFontAtlasBuildRenderDefaultTexData().

+ Here is the caller graph for this function:

◆ ImFontAtlasBuildSetupFont()

IMGUI_API void ImFontAtlasBuildSetupFont ( ImFontAtlas atlas,
ImFont font,
ImFontConfig font_config,
float  ascent,
float  descent 
)
2591{
2592 if (!font_config->MergeMode)
2593 {
2594 font->ClearOutputData();
2595 font->FontSize = font_config->SizePixels;
2596 font->ConfigData = font_config;
2597 font->ConfigDataCount = 0;
2598 font->ContainerAtlas = atlas;
2599 font->Ascent = ascent;
2600 font->Descent = descent;
2601 }
2602 font->ConfigDataCount++;
2603}
float SizePixels
Definition imgui.h:2500
bool MergeMode
Definition imgui.h:2509
float FontSize
Definition imgui.h:2694
short ConfigDataCount
Definition imgui.h:2704
float Ascent
Definition imgui.h:2709
float Descent
Definition imgui.h:2709
IMGUI_API void ClearOutputData()
Definition imgui_draw.cpp:3123
const ImFontConfig * ConfigData
Definition imgui.h:2703

References ImFont::Ascent, ImFont::ClearOutputData(), ImFont::ConfigData, ImFont::ConfigDataCount, ImFont::ContainerAtlas, ImFont::Descent, ImFont::FontSize, ImFontConfig::MergeMode, and ImFontConfig::SizePixels.

Referenced by ImFontAtlasBuildWithStbTruetype().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImFontAtlasGetBuilderForStbTruetype()

IMGUI_API const ImFontBuilderIO * ImFontAtlasGetBuilderForStbTruetype ( )
2582{
2583 static ImFontBuilderIO io;
2585 return &io;
2586}
static bool ImFontAtlasBuildWithStbTruetype(ImFontAtlas *atlas)
Definition imgui_draw.cpp:2328
Definition imgui_internal.h:2638
bool(* FontBuilder_Build)(ImFontAtlas *atlas)
Definition imgui_internal.h:2639

References ImFontBuilderIO::FontBuilder_Build, and ImFontAtlasBuildWithStbTruetype().

Referenced by ImFontAtlas::Build().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImFormatString()

IMGUI_API int ImFormatString ( char *  buf,
size_t  buf_size,
const char *  fmt,
  ... 
)
1436{
1437 va_list args;
1438 va_start(args, fmt);
1439#ifdef IMGUI_USE_STB_SPRINTF
1440 int w = stbsp_vsnprintf(buf, (int)buf_size, fmt, args);
1441#else
1442 int w = vsnprintf(buf, buf_size, fmt, args);
1443#endif
1444 va_end(args);
1445 if (buf == NULL)
1446 return w;
1447 if (w == -1 || w >= (int)buf_size)
1448 w = (int)buf_size - 1;
1449 buf[w] = 0;
1450 return w;
1451}

Referenced by ImFontAtlas::AddFontDefault(), ImFontAtlas::AddFontFromFileTTF(), ImGui::BeginChildEx(), ImGui::BeginCombo(), ImGui::BeginPopupEx(), ImGui::BeginTooltipEx(), ImGui::ColorEdit4(), ImGui::ColorEditOptionsPopup(), ImGui::DataTypeFormatString(), ImGui::DebugNodeDrawList(), ImGui::DebugNodeTabBar(), ImGui::DebugNodeTable(), ImGui::NavScoreItem(), ImGui::NavUpdate(), PatchFormatStringFloatToInt(), ImGui::ProgressBar(), ImGui::ShowMetricsWindow(), ImGui::TableHeader(), ImGui::TableMergeDrawChannels(), and ImGui::Value().

+ Here is the caller graph for this function:

◆ ImFormatStringV()

IMGUI_API int ImFormatStringV ( char *  buf,
size_t  buf_size,
const char *  fmt,
va_list  args 
)
1454{
1455#ifdef IMGUI_USE_STB_SPRINTF
1456 int w = stbsp_vsnprintf(buf, (int)buf_size, fmt, args);
1457#else
1458 int w = vsnprintf(buf, buf_size, fmt, args);
1459#endif
1460 if (buf == NULL)
1461 return w;
1462 if (w == -1 || w >= (int)buf_size)
1463 w = (int)buf_size - 1;
1464 buf[w] = 0;
1465 return w;
1466}

Referenced by ImGuiTextBuffer::appendfv(), ImGui::BulletTextV(), ImGui::LabelTextV(), ImGui::TextV(), ImGui::TreeNodeExV(), and ImGui::TreeNodeExV().

+ Here is the caller graph for this function:

◆ ImGetDirQuadrantFromDelta()

IMGUI_API ImGuiDir ImGetDirQuadrantFromDelta ( float  dx,
float  dy 
)
8619{
8620 if (ImFabs(dx) > ImFabs(dy))
8621 return (dx > 0.0f) ? ImGuiDir_Right : ImGuiDir_Left;
8622 return (dy > 0.0f) ? ImGuiDir_Down : ImGuiDir_Up;
8623}
@ ImGuiDir_Down
Definition imgui.h:1299
@ ImGuiDir_Right
Definition imgui.h:1297
@ ImGuiDir_Up
Definition imgui.h:1298
@ ImGuiDir_Left
Definition imgui.h:1296
#define ImFabs(X)
Definition imgui_internal.h:381

References ImFabs, ImGuiDir_Down, ImGuiDir_Left, ImGuiDir_Right, and ImGuiDir_Up.

Referenced by ImGui::NavScoreItem().

+ Here is the caller graph for this function:

◆ ImHash()

static ImGuiID ImHash ( const void data,
int  size,
ImU32  seed = 0 
)
inlinestatic
288{ return size ? ImHashData(data, (size_t)size, seed) : ImHashStr((const char*)data, 0, seed); } // [moved to ImHashStr/ImHashData in 1.68]
#define const
Definition getopt.c:38
IMGUI_API ImGuiID ImHashStr(const char *data, size_t data_size=0, ImU32 seed=0)
Definition imgui.cpp:1511
IMGUI_API ImGuiID ImHashData(const void *data, size_t data_size, ImU32 seed=0)
Definition imgui.cpp:1495
constexpr auto size(const C &c) -> decltype(c.size())
Definition span.hpp:183

References ImHashData(), and ImHashStr().

+ Here is the call graph for this function:

◆ ImHashData()

IMGUI_API ImGuiID ImHashData ( const void data,
size_t  data_size,
ImU32  seed = 0 
)
1496{
1497 ImU32 crc = ~seed;
1498 const unsigned char* data = (const unsigned char*)data_p;
1499 const ImU32* crc32_lut = GCrc32LookupTable;
1500 while (data_size-- != 0)
1501 crc = (crc >> 8) ^ crc32_lut[(crc & 0xFF) ^ *data++];
1502 return ~crc;
1503}
static const ImU32 GCrc32LookupTable[256]
Definition imgui.cpp:1472

References GCrc32LookupTable.

Referenced by ImGuiWindow::GetID(), ImGuiWindow::GetID(), ImGuiWindow::GetIDFromRectangle(), ImGuiWindow::GetIDNoKeepAlive(), ImGuiWindow::GetIDNoKeepAlive(), ImGui::GetWindowResizeBorderID(), ImGui::GetWindowResizeCornerID(), and ImHash().

+ Here is the caller graph for this function:

◆ ImHashStr()

IMGUI_API ImGuiID ImHashStr ( const char *  data,
size_t  data_size = 0,
ImU32  seed = 0 
)
1512{
1513 seed = ~seed;
1514 ImU32 crc = seed;
1515 const unsigned char* data = (const unsigned char*)data_p;
1516 const ImU32* crc32_lut = GCrc32LookupTable;
1517 if (data_size != 0)
1518 {
1519 while (data_size-- != 0)
1520 {
1521 unsigned char c = *data++;
1522 if (c == '#' && data_size >= 2 && data[0] == '#' && data[1] == '#')
1523 crc = seed;
1524 crc = (crc >> 8) ^ crc32_lut[(crc & 0xFF) ^ c];
1525 }
1526 }
1527 else
1528 {
1529 while (unsigned char c = *data++)
1530 {
1531 if (c == '#' && data[0] == '#' && data[1] == '#')
1532 crc = seed;
1533 crc = (crc >> 8) ^ crc32_lut[(crc & 0xFF) ^ c];
1534 }
1535 }
1536 return ~crc;
1537}

References GCrc32LookupTable.

Referenced by ImGuiWindow::ImGuiWindow(), ImGui::BeginCombo(), ImGui::BeginDragDropSource(), ImGui::CreateNewWindowSettings(), ImGui::FindOrCreateWindowSettings(), ImGui::FindSettingsHandler(), ImGui::FindWindowByName(), ImGuiWindow::GetID(), ImGuiWindow::GetIDNoKeepAlive(), ImGui::GetIDWithSeed(), ImGui::GetWindowResizeBorderID(), ImGui::GetWindowResizeCornerID(), ImHash(), ImGui::Initialize(), ImGui::TabBarCalcTabID(), ImGui::TableOpenContextMenu(), ImGui::TableSettingsInstallHandler(), and ImGui::TableUpdateLayout().

+ Here is the caller graph for this function:

◆ ImInvLength()

static float ImInvLength ( const ImVec2 lhs,
float  fail_value 
)
inlinestatic
426{ float d = (lhs.x * lhs.x) + (lhs.y * lhs.y); if (d > 0.0f) return ImRsqrt(d); return fail_value; }
static float ImRsqrt(float x)
Definition imgui_internal.h:403

References ImRsqrt(), ImVec2::x, and ImVec2::y.

+ Here is the call graph for this function:

◆ ImIsPowerOfTwo() [1/2]

static bool ImIsPowerOfTwo ( ImU64  v)
inlinestatic
299{ return v != 0 && (v & (v - 1)) == 0; }

◆ ImIsPowerOfTwo() [2/2]

static bool ImIsPowerOfTwo ( int  v)
inlinestatic
298{ return v != 0 && (v & (v - 1)) == 0; }

Referenced by ImGui::BeginCombo(), ImGui::ColorEdit4(), ImGui::ColorPicker4(), ImGui::SeparatorEx(), ImGui::SetColorEditOptions(), ImGui::SetNextWindowCollapsed(), ImGui::SetNextWindowPos(), ImGui::SetNextWindowSize(), ImGui::SetWindowPos(), ImGui::SetWindowSize(), and TableSetupColumnFlags().

+ Here is the caller graph for this function:

◆ ImLengthSqr() [1/2]

static float ImLengthSqr ( const ImVec2 lhs)
inlinestatic
424{ return (lhs.x * lhs.x) + (lhs.y * lhs.y); }

References ImVec2::x, and ImVec2::y.

Referenced by ImGui::Begin(), ImGui::ColorPicker4(), ImGui::EndFrame(), ImBezierCubicClosestPoint(), ImBezierCubicClosestPointCasteljauStep(), ImTriangleClosestPoint(), ImGui::ShadeVertsLinearColorGradientKeepAlpha(), ImGui::UpdateMouseInputs(), and ImGui::UpdateMouseWheel().

+ Here is the caller graph for this function:

◆ ImLengthSqr() [2/2]

static float ImLengthSqr ( const ImVec4 lhs)
inlinestatic
425{ return (lhs.x * lhs.x) + (lhs.y * lhs.y) + (lhs.z * lhs.z) + (lhs.w * lhs.w); }
float x
Definition imgui.h:259
float y
Definition imgui.h:259
float z
Definition imgui.h:259
float w
Definition imgui.h:259

References ImVec4::w, ImVec4::x, ImVec4::y, and ImVec4::z.

◆ ImLerp() [1/4]

static ImVec2 ImLerp ( const ImVec2 a,
const ImVec2 b,
const ImVec2 t 
)
inlinestatic
421{ return ImVec2(a.x + (b.x - a.x) * t.x, a.y + (b.y - a.y) * t.y); }

References ImVec2::x, and ImVec2::y.

◆ ImLerp() [2/4]

static ImVec2 ImLerp ( const ImVec2 a,
const ImVec2 b,
float  t 
)
inlinestatic
420{ return ImVec2(a.x + (b.x - a.x) * t, a.y + (b.y - a.y) * t); }

◆ ImLerp() [3/4]

static ImVec4 ImLerp ( const ImVec4 a,
const ImVec4 b,
float  t 
)
inlinestatic
422{ return ImVec4(a.x + (b.x - a.x) * t, a.y + (b.y - a.y) * t, a.z + (b.z - a.z) * t, a.w + (b.w - a.w) * t); }
Definition imgui.h:258

◆ ImLerp() [4/4]

template<typename T >
static T ImLerp ( a,
b,
float  t 
)
inlinestatic

◆ ImLinearSweep()

static float ImLinearSweep ( float  current,
float  target,
float  speed 
)
inlinestatic
433{ if (current < target) return ImMin(current + speed, target); if (current > target) return ImMax(current - speed, target); return current; }
static T ImMin(T lhs, T rhs)
Definition imgui_internal.h:409

References ImMax(), and ImMin().

Referenced by ImGui::TabBarLayout().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImLineClosestPoint()

IMGUI_API ImVec2 ImLineClosestPoint ( const ImVec2 a,
const ImVec2 b,
const ImVec2 p 
)
1248{
1249 ImVec2 ap = p - a;
1250 ImVec2 ab_dir = b - a;
1251 float dot = ap.x * ab_dir.x + ap.y * ab_dir.y;
1252 if (dot < 0.0f)
1253 return a;
1254 float ab_len_sqr = ab_dir.x * ab_dir.x + ab_dir.y * ab_dir.y;
1255 if (dot > ab_len_sqr)
1256 return b;
1257 return a + ab_dir * dot / ab_len_sqr;
1258}
IGL_INLINE double dot(const double *a, const double *b)
Definition dot.cpp:11

References ImVec2::x, and ImVec2::y.

Referenced by ImBezierCubicClosestPoint(), ImBezierCubicClosestPointCasteljauStep(), and ImTriangleClosestPoint().

+ Here is the caller graph for this function:

◆ ImLog() [1/2]

static double ImLog ( double  x)
inlinestatic
394{ return log(x); }
EIGEN_DEVICE_FUNC const LogReturnType log() const
Definition ArrayCwiseUnaryOps.h:105

References log().

+ Here is the call graph for this function:

◆ ImLog() [2/2]

static float ImLog ( float  x)
inlinestatic
393{ return logf(x); } // DragBehaviorT/SliderBehaviorT uses ImLog with either float/double and need the precision

◆ ImMax() [1/2]

static ImVec2 ImMax ( const ImVec2 lhs,
const ImVec2 rhs 
)
inlinestatic
418{ return ImVec2(lhs.x >= rhs.x ? lhs.x : rhs.x, lhs.y >= rhs.y ? lhs.y : rhs.y); }

References ImVec2::x, and ImVec2::y.

◆ ImMax() [2/2]

template<typename T >
static T ImMax ( lhs,
rhs 
)
inlinestatic
410{ return lhs >= rhs ? lhs : rhs; }

Referenced by ImDrawList::AddPolyline(), ImDrawList::AddText(), ImGui::AlignTextToFramePadding(), ImGui::ArrowButtonEx(), ImGui::Begin(), ImGui::BeginChildEx(), ImGui::BeginColumns(), ImGui::BeginCombo(), ImGui::BeginListBox(), ImGui::BeginMainMenuBar(), ImGui::BeginMenu(), ImGui::BeginMenuBar(), ImGui::BeginTableEx(), ImFont::BuildLookupTable(), ImGui::Bullet(), ImGuiMenuColumns::CalcExtraSpace(), ImGui::CalcItemSize(), ImGui::CalcItemWidth(), CalcNextScrollFromScrollTargetAndClamp(), ImFont::CalcTextSizeA(), CalcWindowAutoFitSize(), CalcWindowContentSizes(), CalcWindowSizeAfterConstraint(), ImGuiViewportP::CalcWorkRectSize(), ImGui::CalcWrapWidthForPos(), ImGui::Checkbox(), ImRect::ClipWith(), ImGui::CloseButton(), ImGui::CollapsingHeader(), ImGui::ColorEdit4(), ImGui::ColorPicker4(), ImGui::ColorPickerOptionsPopup(), ImGuiMenuColumns::DeclColumns(), ImGui::DragFloatRange2(), ImGui::DragIntRange2(), ImGui::EndChild(), ImGui::EndColumns(), ImGui::EndGroup(), ImGui::EndTabBar(), ImGui::EndTable(), ImGui::FindBestWindowPosForPopupEx(), GetDraggedColumnOffset(), ImGui::GetWindowScrollbarRect(), ImFontAtlasBuildPackCustomRects(), ImFontAtlasBuildWithStbTruetype(), ImLinearSweep(), ImGui::InputScalar(), InputTextCalcTextSizeW(), ImGui::InputTextEx(), ImGuiInputTextCallbackData::InsertChars(), ImGui::ItemSize(), ImGui::LabelTextV(), ImGui::MenuItem(), ImGui::NavEndFrame(), ImGui::NavUpdatePageUpPageDown(), ImGui::NavUpdateWindowing(), ImGui::NewFrame(), ImGui::NextColumn(), ImDrawList::PathArcTo(), ImGui::PlotEx(), ImDrawList::PushClipRect(), ImGui::PushMultiItemsWidths(), ImGui::RadioButton(), ImGui::RenderCheckMark(), ImGui::RenderRectFilledRangeH(), ImGui::RenderTextClippedEx(), ImGui::RenderTextEllipsis(), ImGui::RenderWindowOuterBorders(), ImGui::RenderWindowTitleBarContents(), ImGui::ScrollbarEx(), Slic3r::GUI::selectable(), ImGui::Selectable(), ImGui::SetColumnOffset(), ImGui::SetCurrentFont(), ImGui::SetCursorPos(), ImGui::SetCursorPosX(), ImGui::SetCursorPosY(), SetCursorPosYAndSetupForPrevLine(), ImGui::SetCursorScreenPos(), ImGui::SetScrollHereX(), ImGui::SetScrollHereY(), ImGui::ShadeVertsLinearUV(), ImGui::ShrinkWidths(), ImGui::SplitterBehavior(), ImStb::STB_TEXTEDIT_INSERTCHARS(), ImGui::TabBarLayout(), ImGui::TabBarScrollClamp(), ImGui::TabBarScrollingButtons(), ImGui::TabBarScrollToTab(), ImGui::TabItemBackground(), ImGui::TabItemEx(), ImGui::TableBeginCell(), ImGui::TableEndCell(), ImGui::TableEndRow(), ImGui::TableGetColumnWidthAuto(), ImGui::TableGetHeaderRowHeight(), ImGui::TableHeader(), ImGui::TableMergeDrawChannels(), ImGui::TableNextRow(), ImGui::TableSetColumnSortDirection(), ImGui::TableSetColumnWidth(), ImGui::TableUpdateBorders(), ImGui::TableUpdateLayout(), ImGui::TextEx(), ImGui::TreeNodeBehavior(), ImGui::UpdateHoveredWindowAndCaptureFlags(), ImGui::UpdateMouseInputs(), and ImGui::UpdateWindowManualResize().

◆ ImMin() [1/2]

static ImVec2 ImMin ( const ImVec2 lhs,
const ImVec2 rhs 
)
inlinestatic
417{ return ImVec2(lhs.x < rhs.x ? lhs.x : rhs.x, lhs.y < rhs.y ? lhs.y : rhs.y); }

References ImVec2::x, and ImVec2::y.

◆ ImMin() [2/2]

template<typename T >
static T ImMin ( lhs,
rhs 
)
inlinestatic

◆ ImModPositive()

static int ImModPositive ( int  a,
int  b 
)
inlinestatic
430{ return (a + b) % b; }

Referenced by ImGui::UpdateTabFocus().

+ Here is the caller graph for this function:

◆ ImMul()

static ImVec2 ImMul ( const ImVec2 lhs,
const ImVec2 rhs 
)
inlinestatic
434{ return ImVec2(lhs.x * rhs.x, lhs.y * rhs.y); }

References ImVec2::x, and ImVec2::y.

Referenced by ImGui::ShadeVertsLinearUV().

+ Here is the caller graph for this function:

◆ ImParseFormatFindEnd()

IMGUI_API const char * ImParseFormatFindEnd ( const char *  format)
3220{
3221 // Printf/scanf types modifiers: I/L/h/j/l/t/w/z. Other uppercase letters qualify as types aka end of the format.
3222 if (fmt[0] != '%')
3223 return fmt;
3224 const unsigned int ignored_uppercase_mask = (1 << ('I'-'A')) | (1 << ('L'-'A'));
3225 const unsigned int ignored_lowercase_mask = (1 << ('h'-'a')) | (1 << ('j'-'a')) | (1 << ('l'-'a')) | (1 << ('t'-'a')) | (1 << ('w'-'a')) | (1 << ('z'-'a'));
3226 for (char c; (c = *fmt) != 0; fmt++)
3227 {
3228 if (c >= 'A' && c <= 'Z' && ((1 << (c - 'A')) & ignored_uppercase_mask) == 0)
3229 return fmt + 1;
3230 if (c >= 'a' && c <= 'z' && ((1 << (c - 'a')) & ignored_lowercase_mask) == 0)
3231 return fmt + 1;
3232 }
3233 return fmt;
3234}

Referenced by ImParseFormatTrimDecorations(), PatchFormatStringFloatToInt(), and SanitizeFormatString().

+ Here is the caller graph for this function:

◆ ImParseFormatFindStart()

IMGUI_API const char * ImParseFormatFindStart ( const char *  format)
3207{
3208 while (char c = fmt[0])
3209 {
3210 if (c == '%' && fmt[1] != '%')
3211 return fmt;
3212 else if (c == '%')
3213 fmt++;
3214 fmt++;
3215 }
3216 return fmt;
3217}

Referenced by ImParseFormatPrecision(), ImParseFormatTrimDecorations(), and PatchFormatStringFloatToInt().

+ Here is the caller graph for this function:

◆ ImParseFormatPrecision()

IMGUI_API int ImParseFormatPrecision ( const char *  format,
int  default_value 
)
3256{
3257 fmt = ImParseFormatFindStart(fmt);
3258 if (fmt[0] != '%')
3259 return default_precision;
3260 fmt++;
3261 while (*fmt >= '0' && *fmt <= '9')
3262 fmt++;
3263 int precision = INT_MAX;
3264 if (*fmt == '.')
3265 {
3266 fmt = ImAtoi<int>(fmt + 1, &precision);
3267 if (precision < 0 || precision > 99)
3268 precision = default_precision;
3269 }
3270 if (*fmt == 'e' || *fmt == 'E') // Maximum precision with scientific notation
3271 precision = -1;
3272 if ((*fmt == 'g' || *fmt == 'G') && precision == INT_MAX)
3273 precision = -1;
3274 return (precision == INT_MAX) ? default_precision : precision;
3275}
const char * ImParseFormatFindStart(const char *fmt)
Definition imgui_widgets.cpp:3206

References ImParseFormatFindStart().

+ Here is the call graph for this function:

◆ ImParseFormatTrimDecorations()

IMGUI_API const char * ImParseFormatTrimDecorations ( const char *  format,
char *  buf,
size_t  buf_size 
)
3242{
3243 const char* fmt_start = ImParseFormatFindStart(fmt);
3244 if (fmt_start[0] != '%')
3245 return fmt;
3246 const char* fmt_end = ImParseFormatFindEnd(fmt_start);
3247 if (fmt_end[0] == 0) // If we only have leading decoration, we don't need to copy the data.
3248 return fmt_start;
3249 ImStrncpy(buf, fmt_start, ImMin((size_t)(fmt_end - fmt_start) + 1, buf_size));
3250 return buf;
3251}
void ImStrncpy(char *dst, const char *src, size_t count)
Definition imgui.cpp:1314
const char * ImParseFormatFindEnd(const char *fmt)
Definition imgui_widgets.cpp:3219

References ImMin(), ImParseFormatFindEnd(), ImParseFormatFindStart(), and ImStrncpy().

Referenced by ImGui::TempInputScalar().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImPow() [1/2]

static double ImPow ( double  x,
double  y 
)
inlinestatic
392{ return pow(x, y); }
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half pow(const half &a, const half &b)
Definition Half.h:477

◆ ImPow() [2/2]

static float ImPow ( float  x,
float  y 
)
inlinestatic
391{ return powf(x, y); } // DragBehaviorT/SliderBehaviorT uses ImPow with either float/double and need the precision

Referenced by GetMinimumStepAtDecimalPrecision().

+ Here is the caller graph for this function:

◆ ImRotate()

static ImVec2 ImRotate ( const ImVec2 v,
float  cos_a,
float  sin_a 
)
inlinestatic
432{ return ImVec2(v.x * cos_a - v.y * sin_a, v.x * sin_a + v.y * cos_a); }

References ImVec2::x, and ImVec2::y.

Referenced by ImGui::ColorPicker4().

+ Here is the caller graph for this function:

◆ ImRsqrt() [1/2]

static double ImRsqrt ( double  x)
inlinestatic
405{ return 1.0 / sqrt(x); }
EIGEN_DEVICE_FUNC const SqrtReturnType sqrt() const
Definition ArrayCwiseUnaryOps.h:152

References sqrt().

+ Here is the call graph for this function:

◆ ImRsqrt() [2/2]

static float ImRsqrt ( float  x)
inlinestatic
403{ return 1.0f / sqrtf(x); }

Referenced by ImInvLength().

+ Here is the caller graph for this function:

◆ ImSaturate()

static float ImSaturate ( float  f)
inlinestatic
423{ return (f < 0.0f) ? 0.0f : (f > 1.0f) ? 1.0f : f; }

Referenced by ImGui::ColorPicker4(), ImGui::NavUpdateWindowing(), ImGui::PlotEx(), ImGui::ProgressBar(), ImGui::RenderWindowTitleBarContents(), ImGui::ScrollbarEx(), and ImGui::TabItemEx().

+ Here is the caller graph for this function:

◆ ImSign() [1/2]

static double ImSign ( double  x)
inlinestatic
399{ return (x < 0.0) ? -1.0 : ((x > 0.0) ? 1.0 : 0.0); }

◆ ImSign() [2/2]

static float ImSign ( float  x)
inlinestatic
398{ return (x < 0.0f) ? -1.0f : ((x > 0.0f) ? 1.0f : 0.0f); } // Sign operator - returns -1, 0 or 1 based on sign of argument

◆ ImStrbolW()

IMGUI_API const ImWchar * ImStrbolW ( const ImWchar buf_mid_line,
const ImWchar buf_begin 
)
1366{
1367 while (buf_mid_line > buf_begin && buf_mid_line[-1] != '\n')
1368 buf_mid_line--;
1369 return buf_mid_line;
1370}

Referenced by ImGui::InputTextEx().

+ Here is the caller graph for this function:

◆ ImStrchrRange()

IMGUI_API const char * ImStrchrRange ( const char *  str_begin,
const char *  str_end,
char  c 
)
1345{
1346 const char* p = (const char*)memchr(str, (int)c, str_end - str);
1347 return p;
1348}

Referenced by ImGui::LoadIniSettingsFromMemory().

+ Here is the caller graph for this function:

◆ ImStrdup()

IMGUI_API char * ImStrdup ( const char *  str)
1324{
1325 size_t len = strlen(str);
1326 void* buf = IM_ALLOC(len + 1);
1327 return (char*)memcpy(buf, (const void*)str, len + 1);
1328}

References IM_ALLOC.

Referenced by ImGuiWindow::ImGuiWindow().

+ Here is the caller graph for this function:

◆ ImStrdupcpy()

IMGUI_API char * ImStrdupcpy ( char *  dst,
size_t *  p_dst_size,
const char *  str 
)
1331{
1332 size_t dst_buf_size = p_dst_size ? *p_dst_size : strlen(dst) + 1;
1333 size_t src_size = strlen(src) + 1;
1334 if (dst_buf_size < src_size)
1335 {
1336 IM_FREE(dst);
1337 dst = (char*)IM_ALLOC(src_size);
1338 if (p_dst_size)
1339 *p_dst_size = src_size;
1340 }
1341 return (char*)memcpy(dst, (const void*)src, src_size);
1342}

References IM_ALLOC, and IM_FREE.

Referenced by ImGui::Begin().

+ Here is the caller graph for this function:

◆ ImStreolRange()

IMGUI_API const char * ImStreolRange ( const char *  str,
const char *  str_end 
)
1360{
1361 const char* p = (const char*)memchr(str, '\n', str_end - str);
1362 return p ? p : str_end;
1363}

Referenced by ImGui::LogRenderedText().

+ Here is the caller graph for this function:

◆ ImStricmp()

IMGUI_API int ImStricmp ( const char *  str1,
const char *  str2 
)
1301{
1302 int d;
1303 while ((d = toupper(*str2) - toupper(*str1)) == 0 && *str1) { str1++; str2++; }
1304 return d;
1305}

◆ ImStristr()

IMGUI_API const char * ImStristr ( const char *  haystack,
const char *  haystack_end,
const char *  needle,
const char *  needle_end 
)
1373{
1374 if (!needle_end)
1375 needle_end = needle + strlen(needle);
1376
1377 const char un0 = (char)toupper(*needle);
1378 while ((!haystack_end && *haystack) || (haystack_end && haystack < haystack_end))
1379 {
1380 if (toupper(*haystack) == un0)
1381 {
1382 const char* b = needle + 1;
1383 for (const char* a = haystack + 1; b < needle_end; a++, b++)
1384 if (toupper(*a) != toupper(*b))
1385 break;
1386 if (b == needle_end)
1387 return haystack;
1388 }
1389 haystack++;
1390 }
1391 return NULL;
1392}

Referenced by ImGuiTextFilter::PassFilter().

+ Here is the caller graph for this function:

◆ ImStrlenW()

IMGUI_API int ImStrlenW ( const ImWchar str)
1351{
1352 //return (int)wcslen((const wchar_t*)str); // FIXME-OPT: Could use this when wchar_t are 16-bit
1353 int n = 0;
1354 while (*str++) n++;
1355 return n;
1356}

◆ ImStrncpy()

IMGUI_API void ImStrncpy ( char *  dst,
const char *  src,
size_t  count 
)
1315{
1316 if (count < 1)
1317 return;
1318 if (count > 1)
1319 strncpy(dst, src, count - 1);
1320 dst[count - 1] = 0;
1321}
IGL_INLINE void count(const Eigen::SparseMatrix< XType > &X, const int dim, Eigen::SparseVector< SType > &S)
Definition count.cpp:12

Referenced by ImGuiTextFilter::ImGuiTextFilter(), ImParseFormatTrimDecorations(), ImGui::InputTextEx(), and ImGui::SetDragDropPayload().

+ Here is the caller graph for this function:

◆ ImStrnicmp()

IMGUI_API int ImStrnicmp ( const char *  str1,
const char *  str2,
size_t  count 
)
1308{
1309 int d = 0;
1310 while (count > 0 && (d = toupper(*str2) - toupper(*str1)) == 0 && *str1) { str1++; str2++; count--; }
1311 return d;
1312}

◆ ImStrSkipBlank()

IMGUI_API const char * ImStrSkipBlank ( const char *  str)
1411{
1412 while (str[0] == ' ' || str[0] == '\t')
1413 str++;
1414 return str;
1415}

Referenced by TableSettingsHandler_ReadLine().

+ Here is the caller graph for this function:

◆ ImStrTrimBlanks()

IMGUI_API void ImStrTrimBlanks ( char *  str)
1396{
1397 char* p = buf;
1398 while (p[0] == ' ' || p[0] == '\t') // Leading blanks
1399 p++;
1400 char* p_start = p;
1401 while (*p != 0) // Find end of string
1402 p++;
1403 while (p > p_start && (p[-1] == ' ' || p[-1] == '\t')) // Trailing blanks
1404 p--;
1405 if (p_start != buf) // Copy memory if we had leading blanks
1406 memmove(buf, p_start, p - p_start);
1407 buf[p - p_start] = 0; // Zero terminate
1408}

Referenced by ImGui::TempInputScalar().

+ Here is the caller graph for this function:

◆ ImSubClampOverflow()

template<typename T >
static T ImSubClampOverflow ( a,
b,
mn,
mx 
)
inlinestatic
415{ if (b > 0 && (a < mn + b)) return mn; if (b < 0 && (a > mx + b)) return mx; return a - b; }

Referenced by ImGui::DataTypeApplyOp().

+ Here is the caller graph for this function:

◆ ImSwap()

template<typename T >
static void ImSwap ( T &  a,
T &  b 
)
inlinestatic
413{ T tmp = a; a = b; b = tmp; }

Referenced by ImGui::ColorConvertRGBtoHSV(), ImGui::RenderRectFilledRangeH(), ImGui::TempInputScalar(), and ImGui::UpdateWindowManualResize().

+ Here is the caller graph for this function:

◆ ImTextCharFromUtf8()

IMGUI_API int ImTextCharFromUtf8 ( unsigned int *  out_char,
const char *  in_text,
const char *  in_text_end 
)
1620{
1621 static const char lengths[32] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 3, 3, 4, 0 };
1622 static const int masks[] = { 0x00, 0x7f, 0x1f, 0x0f, 0x07 };
1623 static const uint32_t mins[] = { 0x400000, 0, 0x80, 0x800, 0x10000 };
1624 static const int shiftc[] = { 0, 18, 12, 6, 0 };
1625 static const int shifte[] = { 0, 6, 4, 2, 0 };
1626 int len = lengths[*(const unsigned char*)in_text >> 3];
1627 int wanted = len + !len;
1628
1629 if (in_text_end == NULL)
1630 in_text_end = in_text + wanted; // Max length, nulls will be taken into account.
1631
1632 // Copy at most 'len' bytes, stop copying at 0 or past in_text_end. Branch predictor does a good job here,
1633 // so it is fast even with excessive branching.
1634 unsigned char s[4];
1635 s[0] = in_text + 0 < in_text_end ? in_text[0] : 0;
1636 s[1] = in_text + 1 < in_text_end ? in_text[1] : 0;
1637 s[2] = in_text + 2 < in_text_end ? in_text[2] : 0;
1638 s[3] = in_text + 3 < in_text_end ? in_text[3] : 0;
1639
1640 // Assume a four-byte character and load four bytes. Unused bits are shifted out.
1641 *out_char = (uint32_t)(s[0] & masks[len]) << 18;
1642 *out_char |= (uint32_t)(s[1] & 0x3f) << 12;
1643 *out_char |= (uint32_t)(s[2] & 0x3f) << 6;
1644 *out_char |= (uint32_t)(s[3] & 0x3f) << 0;
1645 *out_char >>= shiftc[len];
1646
1647 // Accumulate the various error conditions.
1648 int e = 0;
1649 e = (*out_char < mins[len]) << 6; // non-canonical encoding
1650 e |= ((*out_char >> 11) == 0x1b) << 7; // surrogate half?
1651 e |= (*out_char > IM_UNICODE_CODEPOINT_MAX) << 8; // out of range?
1652 e |= (s[1] & 0xc0) >> 2;
1653 e |= (s[2] & 0xc0) >> 4;
1654 e |= (s[3] ) >> 6;
1655 e ^= 0x2a; // top two bits of each tail byte correct?
1656 e >>= shifte[len];
1657
1658 if (e)
1659 {
1660 // No bytes are consumed when *in_text == 0 || in_text == in_text_end.
1661 // One byte is consumed in case of invalid first byte of in_text.
1662 // All available bytes (at most `len` bytes) are consumed on incomplete/invalid second to last bytes.
1663 // Invalid or incomplete input may consume less bytes than wanted, therefore every byte has to be inspected in s.
1664 wanted = ImMin(wanted, !!s[0] + !!s[1] + !!s[2] + !!s[3]);
1665 *out_char = IM_UNICODE_CODEPOINT_INVALID;
1666 }
1667
1668 return wanted;
1669}
#define IM_UNICODE_CODEPOINT_INVALID
Definition imgui.h:2006
#define IM_UNICODE_CODEPOINT_MAX
Definition imgui.h:2010
unsigned __int32 uint32_t
Definition unistd.h:79

References IM_UNICODE_CODEPOINT_INVALID, IM_UNICODE_CODEPOINT_MAX, and ImMin().

Referenced by ImGuiIO::AddInputCharactersUTF8(), ImFontGlyphRangesBuilder::AddText(), ImFont::CalcTextSizeA(), ImFont::CalcWordWrapPositionA(), ImTextCountCharsFromUtf8(), ImTextCountUtf8BytesFromChar(), ImTextStrFromUtf8(), ImGui::InputTextEx(), Slic3r::GUI::ImGuiWrapper::is_chars_in_ranges(), and ImFont::RenderText().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImTextCountCharsFromUtf8()

IMGUI_API int ImTextCountCharsFromUtf8 ( const char *  in_text,
const char *  in_text_end 
)
1690{
1691 int char_count = 0;
1692 while ((!in_text_end || in_text < in_text_end) && *in_text)
1693 {
1694 unsigned int c;
1695 in_text += ImTextCharFromUtf8(&c, in_text, in_text_end);
1696 if (c == 0)
1697 break;
1698 char_count++;
1699 }
1700 return char_count;
1701}
int ImTextCharFromUtf8(unsigned int *out_char, const char *in_text, const char *in_text_end)
Definition imgui.cpp:1619

References ImTextCharFromUtf8().

Referenced by ImGui::InputTextEx().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImTextCountUtf8BytesFromChar()

IMGUI_API int ImTextCountUtf8BytesFromChar ( const char *  in_text,
const char *  in_text_end 
)
1741{
1742 unsigned int unused = 0;
1743 return ImTextCharFromUtf8(&unused, in_text, in_text_end);
1744}

References ImTextCharFromUtf8().

Referenced by ImTextCountUtf8BytesFromStr(), and ImGui::RenderTextEllipsis().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImTextCountUtf8BytesFromStr()

IMGUI_API int ImTextCountUtf8BytesFromStr ( const ImWchar in_text,
const ImWchar in_text_end 
)
1772{
1773 int bytes_count = 0;
1774 while ((!in_text_end || in_text < in_text_end) && *in_text)
1775 {
1776 unsigned int c = (unsigned int)(*in_text++);
1777 if (c < 0x80)
1778 bytes_count++;
1779 else
1780 bytes_count += ImTextCountUtf8BytesFromChar(c);
1781 }
1782 return bytes_count;
1783}
int ImTextCountUtf8BytesFromChar(const char *in_text, const char *in_text_end)
Definition imgui.cpp:1740

References ImTextCountUtf8BytesFromChar().

Referenced by ImGui::InputTextEx(), ImStb::STB_TEXTEDIT_DELETECHARS(), and ImStb::STB_TEXTEDIT_INSERTCHARS().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImTextStrFromUtf8()

IMGUI_API int ImTextStrFromUtf8 ( ImWchar buf,
int  buf_size,
const char *  in_text,
const char *  in_text_end,
const char **  in_remaining = NULL 
)
1672{
1673 ImWchar* buf_out = buf;
1674 ImWchar* buf_end = buf + buf_size;
1675 while (buf_out < buf_end - 1 && (!in_text_end || in_text < in_text_end) && *in_text)
1676 {
1677 unsigned int c;
1678 in_text += ImTextCharFromUtf8(&c, in_text, in_text_end);
1679 if (c == 0)
1680 break;
1681 *buf_out++ = (ImWchar)c;
1682 }
1683 *buf_out = 0;
1684 if (in_text_remaining)
1685 *in_text_remaining = in_text;
1686 return (int)(buf_out - buf);
1687}

References ImTextCharFromUtf8().

Referenced by ImGui::InputTextEx().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImTextStrToUtf8()

IMGUI_API int ImTextStrToUtf8 ( char *  buf,
int  buf_size,
const ImWchar in_text,
const ImWchar in_text_end 
)
1756{
1757 char* buf_out = buf;
1758 const char* buf_end = buf + buf_size;
1759 while (buf_out < buf_end - 1 && (!in_text_end || in_text < in_text_end) && *in_text)
1760 {
1761 unsigned int c = (unsigned int)(*in_text++);
1762 if (c < 0x80)
1763 *buf_out++ = (char)c;
1764 else
1765 buf_out += ImTextCharToUtf8(buf_out, (int)(buf_end - buf_out - 1), c);
1766 }
1767 *buf_out = 0;
1768 return (int)(buf_out - buf);
1769}
static int ImTextCharToUtf8(char *buf, int buf_size, unsigned int c)
Definition imgui.cpp:1704

References ImTextCharToUtf8().

Referenced by ImGui::InputTextEx().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImTriangleArea()

float ImTriangleArea ( const ImVec2 a,
const ImVec2 b,
const ImVec2 c 
)
inline
446{ return ImFabs((a.x * (b.y - c.y)) + (b.x * (c.y - a.y)) + (c.x * (a.y - b.y))) * 0.5f; }

References ImFabs.

Referenced by ImGui::DebugNodeDrawList().

+ Here is the caller graph for this function:

◆ ImTriangleBarycentricCoords()

IMGUI_API void ImTriangleBarycentricCoords ( const ImVec2 a,
const ImVec2 b,
const ImVec2 c,
const ImVec2 p,
float &  out_u,
float &  out_v,
float &  out_w 
)
1269{
1270 ImVec2 v0 = b - a;
1271 ImVec2 v1 = c - a;
1272 ImVec2 v2 = p - a;
1273 const float denom = v0.x * v1.y - v1.x * v0.y;
1274 out_v = (v2.x * v1.y - v1.x * v2.y) / denom;
1275 out_w = (v0.x * v2.y - v2.x * v0.y) / denom;
1276 out_u = 1.0f - out_v - out_w;
1277}

References ImVec2::x, and ImVec2::y.

Referenced by ImGui::ColorPicker4().

+ Here is the caller graph for this function:

◆ ImTriangleClosestPoint()

IMGUI_API ImVec2 ImTriangleClosestPoint ( const ImVec2 a,
const ImVec2 b,
const ImVec2 c,
const ImVec2 p 
)
1280{
1281 ImVec2 proj_ab = ImLineClosestPoint(a, b, p);
1282 ImVec2 proj_bc = ImLineClosestPoint(b, c, p);
1283 ImVec2 proj_ca = ImLineClosestPoint(c, a, p);
1284 float dist2_ab = ImLengthSqr(p - proj_ab);
1285 float dist2_bc = ImLengthSqr(p - proj_bc);
1286 float dist2_ca = ImLengthSqr(p - proj_ca);
1287 float m = ImMin(dist2_ab, ImMin(dist2_bc, dist2_ca));
1288 if (m == dist2_ab)
1289 return proj_ab;
1290 if (m == dist2_bc)
1291 return proj_bc;
1292 return proj_ca;
1293}

References ImLengthSqr(), ImLineClosestPoint(), and ImMin().

Referenced by ImGui::ColorPicker4().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImTriangleContainsPoint()

IMGUI_API bool ImTriangleContainsPoint ( const ImVec2 a,
const ImVec2 b,
const ImVec2 c,
const ImVec2 p 
)
1261{
1262 bool b1 = ((p.x - b.x) * (a.y - b.y) - (p.y - b.y) * (a.x - b.x)) < 0.0f;
1263 bool b2 = ((p.x - c.x) * (b.y - c.y) - (p.y - c.y) * (b.x - c.x)) < 0.0f;
1264 bool b3 = ((p.x - a.x) * (c.y - a.y) - (p.y - a.y) * (c.x - a.x)) < 0.0f;
1265 return ((b1 == b2) && (b2 == b3));
1266}

References ImVec2::x, and ImVec2::y.

Referenced by ImGui::BeginMenu(), and ImGui::ColorPicker4().

+ Here is the caller graph for this function:

◆ ImUpperPowerOfTwo()

static int ImUpperPowerOfTwo ( int  v)
inlinestatic
300{ v--; v |= v >> 1; v |= v >> 2; v |= v >> 4; v |= v >> 8; v |= v >> 16; v++; return v; }

Referenced by ImFontAtlasBuildWithStbTruetype().

+ Here is the caller graph for this function:

Variable Documentation

◆ GImGui

IMGUI_API ImGuiContext* GImGui
extern

Referenced by ImGui::AcceptDragDropPayload(), ImGui::ActivateItem(), AddWindowToDrawData(), ImGui::AlignTextToFramePadding(), ImGui::ArrowButtonEx(), ImGuiLastItemDataBackup::Backup(), ImGui::Begin(), ImGuiListClipper::Begin(), ImGui::BeginChildEx(), ImGui::BeginChildFrame(), ImGui::BeginColumns(), ImGui::BeginCombo(), ImGui::BeginDragDropSource(), ImGui::BeginDragDropTarget(), ImGui::BeginDragDropTargetCustom(), ImGui::BeginGroup(), ImGui::BeginListBox(), ImGui::BeginMainMenuBar(), ImGui::BeginMenu(), ImGui::BeginPopup(), ImGui::BeginPopupContextItem(), ImGui::BeginPopupContextVoid(), ImGui::BeginPopupContextWindow(), ImGui::BeginPopupEx(), ImGui::BeginPopupModal(), ImGui::BeginTabBar(), ImGui::BeginTabBarEx(), ImGui::BeginTabItem(), ImGui::BeginTableEx(), ImGui::BeginTooltipEx(), ImGui::BringWindowToDisplayBack(), ImGui::BringWindowToDisplayFront(), ImGui::BringWindowToFocusFront(), ImGui::Bullet(), ImGui::BulletTextV(), ImGui::ButtonBehavior(), ImGui::ButtonEx(), Slic3r::GUI::ImGuiWrapper::calc_button_size(), ImGuiWindow::CalcFontSize(), ImGui::CalcItemSize(), ImGui::CalcItemWidth(), ImGui::CalcListClipping(), CalcMaxPopupHeightFromItemCount(), ImGui::CalcTextSize(), CalcWindowAutoFitSize(), CalcWindowSizeAfterConstraint(), ImGui::CalcWrapWidthForPos(), ImGui::CaptureKeyboardFromApp(), ImGui::CaptureMouseFromApp(), ImGui::Checkbox(), ClampWindowRect(), ImGui::ClearDragDrop(), ImGui::ClearIniSettings(), ImGui::CloseButton(), ImGui::CloseCurrentPopup(), ImGui::ClosePopupsOverWindow(), ImGui::ClosePopupToLevel(), ImGui::CollapseButton(), ImGui::CollapsingHeader(), ImGui::ColorButton(), ImGui::ColorEdit4(), ImGui::ColorEditOptionsPopup(), ImGui::ColorPicker4(), ImGui::ColorPickerOptionsPopup(), ImGui::ColorTooltip(), ImGuiStackSizes::CompareWithCurrentState(), ImGui::CreateContext(), CreateNewWindow(), ImGui::CreateNewWindowSettings(), ImGui::DebugDrawItemRect(), ImGui::DebugNodeDrawList(), ImGui::DebugNodeWindow(), ImGui::DebugRenderViewportThumbnail(), ImGui::DebugStartItemPicker(), ImGui::DestroyContext(), Slic3r::GUI::ImGuiWrapper::disable_background_fadeout_animation(), ImGui::DragBehavior(), ImGui::DragFloatRange2(), ImGui::DragIntRange2(), ImGui::DragScalar(), ImGui::DragScalarN(), Slic3r::GUI::ImGuiWrapper::draw_radio_button(), ImGui::End(), ImGui::EndChild(), ImGui::EndColumns(), ImGui::EndDragDropSource(), ImGui::EndDragDropTarget(), ImGui::EndFrame(), ImGui::EndGroup(), ImGui::EndListBox(), ImGui::EndMainMenuBar(), ImGui::EndMenu(), ImGui::EndMenuBar(), ImGui::EndPopup(), ImGui::EndTabBar(), ImGui::EndTabItem(), ImGui::EndTable(), ImGui::ErrorCheckEndFrameRecover(), ImGui::ErrorCheckEndFrameSanityChecks(), ImGui::ErrorCheckNewFrameSanityChecks(), ImGui::FindBestWindowPosForPopup(), FindHoveredWindow(), ImGui::FindSettingsHandler(), ImGui::FindWindowByID(), ImGui::FindWindowFocusIndex(), FindWindowNavFocusable(), ImGui::FindWindowSettings(), ImGui::FocusTopMostWindowUnderOne(), ImGui::FocusWindow(), ImGui::GcCompactTransientMiscBuffers(), Slic3r::GUI::ImGuiWrapper::get_item_spacing(), Slic3r::GUI::ImGuiWrapper::get_slider_float_height(), ImGui::GetActiveID(), ImGui::GetBackgroundDrawList(), ImGui::GetClipboardText(), GetClipboardTextFn_DefaultImpl(), ImGui::GetColorU32(), ImGui::GetColorU32(), ImGui::GetColorU32(), ImGui::GetColumnWidth(), ImGui::GetContentRegionAvail(), ImGui::GetContentRegionMax(), ImGui::GetContentRegionMaxAbs(), ImGui::GetCurrentContext(), ImGui::GetCurrentTable(), ImGui::GetCurrentWindow(), ImGui::GetCurrentWindowRead(), ImGui::GetDefaultFont(), ImGui::GetDragDropPayload(), GetDraggedColumnOffset(), ImGui::GetDrawData(), ImGui::GetDrawListSharedData(), ImGui::GetFocusedFocusScope(), ImGui::GetFocusID(), ImGui::GetFocusScope(), ImGui::GetFont(), ImGui::GetFontSize(), ImGui::GetFontTexUvWhitePixel(), ImGui::GetForegroundDrawList(), ImGui::GetFrameCount(), ImGui::GetFrameHeight(), ImGui::GetFrameHeightWithSpacing(), ImGui::GetHoveredID(), ImGuiWindow::GetID(), ImGui::GetID(), ImGui::GetID(), ImGuiWindow::GetID(), ImGui::GetID(), ImGuiWindow::GetID(), ImGuiWindow::GetIDNoKeepAlive(), ImGuiWindow::GetIDNoKeepAlive(), ImGuiWindow::GetIDNoKeepAlive(), ImGui::GetIDWithSeed(), ImGui::GetInputTextState(), ImGui::GetIO(), ImGui::GetItemFlags(), ImGui::GetItemID(), ImGui::GetItemStatusFlags(), ImGui::GetKeyIndex(), ImGui::GetKeyPressedAmount(), ImGui::GetMainViewport(), ImGui::GetMergedKeyModFlags(), ImGui::GetMouseCursor(), ImGui::GetMouseDragDelta(), ImGui::GetMousePos(), ImGui::GetMousePosOnOpeningCurrentPopup(), ImGui::GetNavInputAmount(), ImGui::GetScrollMaxX(), ImGui::GetScrollMaxY(), ImGui::GetScrollX(), ImGui::GetScrollY(), GetSkipItemForListClipping(), ImGui::GetStateStorage(), ImGui::GetStyle(), ImGui::GetStyleColorVec4(), GetTabBarFromTabBarRef(), GetTabBarRefFromTabBar(), ImGui::GetTextLineHeight(), ImGui::GetTextLineHeightWithSpacing(), ImGui::GetTime(), ImGui::GetTopMostPopupModal(), ImGui::GetTreeNodeToLabelSpacing(), GetViewportDrawList(), ImGui::GetWindowAllowedExtentRect(), ImGui::GetWindowContentRegionMax(), ImGui::GetWindowContentRegionMin(), ImGui::GetWindowContentRegionWidth(), ImGui::GetWindowHeight(), ImGui::GetWindowPos(), ImGui::GetWindowWidth(), Slic3r::GUI::ImGuiWrapper::image_button(), Slic3r::GUI::image_button_ex(), ImGui::ImageButton(), ImGui::ImageButtonEx(), ImGui::Indent(), ImGui::InputScalar(), ImGui::InputScalarN(), InputTextCalcTextSizeW(), ImGui::InputTextEx(), InputTextFilterCharacter(), ImGuiInputTextCallbackData::InsertChars(), ImGui::IsActiveIdUsingKey(), ImGui::IsActiveIdUsingNavDir(), ImGui::IsActiveIdUsingNavInput(), ImGui::IsAnyItemActive(), ImGui::IsAnyItemFocused(), ImGui::IsAnyItemHovered(), ImGui::IsAnyMouseDown(), ImGui::IsClippedEx(), ImGui::IsDragDropPayloadBeingAccepted(), ImGui::IsItemActivated(), ImGui::IsItemActive(), ImGui::IsItemDeactivated(), ImGui::IsItemDeactivatedAfterEdit(), ImGui::IsItemFocused(), ImGui::IsItemHovered(), ImGui::IsItemToggledOpen(), ImGui::IsItemToggledSelection(), ImGui::IsKeyDown(), ImGui::IsKeyPressed(), ImGui::IsKeyPressedMap(), ImGui::IsKeyReleased(), ImGui::IsMouseClicked(), ImGui::IsMouseDoubleClicked(), ImGui::IsMouseDown(), ImGui::IsMouseDragging(), ImGui::IsMouseDragPastThreshold(), ImGui::IsMouseHoveringRect(), ImGui::IsMousePosValid(), ImGui::IsMouseReleased(), ImGui::IsNavInputDown(), ImGui::IsPopupOpen(), ImGui::IsPopupOpen(), ImGui::IsRectVisible(), ImGui::IsRectVisible(), ImGui::IsWindowAbove(), IsWindowContentHoverable(), ImGui::IsWindowFocused(), ImGui::IsWindowHovered(), ImGui::ItemAdd(), ImGui::ItemFocusable(), ImGui::ItemHoverable(), ImGui::ItemSize(), ImGui::KeepAliveID(), ImGui::LabelTextV(), ImGui::ListBoxHeader(), ImGui::LoadIniSettingsFromMemory(), ImGui::LogBegin(), ImGui::LogButtons(), ImGui::LogFinish(), ImGui::LogRenderedText(), ImGui::LogSetNextTextDecoration(), ImGui::LogText(), ImGui::LogTextV(), ImGui::LogToBuffer(), ImGui::LogToClipboard(), ImGui::LogToFile(), ImGui::LogToTTY(), ImGui::MarkIniSettingsDirty(), ImGui::MarkIniSettingsDirty(), ImGui::MarkItemEdited(), ImGui::MemAlloc(), ImGui::MemFree(), ImGuiWindow::MenuBarHeight(), ImGui::MenuItem(), ImGui::NavCalcPreferredRefPos(), ImGui::NavEndFrame(), ImGui::NavInitWindow(), ImGui::NavMoveRequestButNoResultYet(), ImGui::NavMoveRequestCancel(), ImGui::NavMoveRequestForward(), ImGui::NavMoveRequestTryWrapping(), ImGui::NavProcessItem(), ImGui::NavRestoreLayer(), ImGui::NavScoreItem(), ImGui::NavUpdate(), ImGui::NavUpdateAnyRequestFlag(), ImGui::NavUpdateInitResult(), ImGui::NavUpdateMoveResult(), ImGui::NavUpdatePageUpPageDown(), ImGui::NavUpdateWindowing(), NavUpdateWindowingHighlightWindow(), ImGui::NavUpdateWindowingOverlay(), ImGui::NewFrame(), ImGui::NewLine(), ImGui::NextColumn(), ImGui::OpenPopup(), ImGui::OpenPopupEx(), ImGui::OpenPopupOnItemClick(), PatchFormatStringFloatToInt(), ImGui::PlotEx(), ImGui::PopFocusScope(), ImGui::PopFont(), ImGui::PopID(), ImGui::PopItemFlag(), ImGui::PopStyleColor(), ImGui::PopStyleVar(), Slic3r::GUI::process_key_down(), ImGui::ProgressBar(), ImGui::PushFocusScope(), ImGui::PushFont(), ImGui::PushID(), ImGui::PushID(), ImGui::PushID(), ImGui::PushID(), ImGui::PushItemFlag(), ImGui::PushItemWidth(), ImGui::PushMultiItemsWidths(), ImGui::PushOverrideID(), ImGui::PushStyleColor(), ImGui::PushStyleColor(), ImGui::PushStyleVar(), ImGui::PushStyleVar(), ImGui::RadioButton(), ImGui::Render(), ImGui::RenderFrame(), ImGui::RenderFrameBorder(), ImGui::RenderNavHighlight(), ImGui::RenderText(), ImGui::RenderTextClipped(), ImGui::RenderTextEllipsis(), ImGui::RenderTextWrapped(), RenderViewportsThumbnails(), ImGui::RenderWindowDecorations(), ImGui::RenderWindowOuterBorders(), ImGui::RenderWindowTitleBarContents(), ImGui::ResetMouseDragDelta(), ImGuiLastItemDataBackup::Restore(), ImGui::SameLine(), ImGui::SaveIniSettingsToDisk(), ImGui::SaveIniSettingsToMemory(), Slic3r::GUI::scroll_down(), Slic3r::GUI::scroll_up(), Slic3r::GUI::scroll_y(), ImGui::Scrollbar(), ImGui::ScrollbarEx(), ImGui::ScrollToBringRectIntoView(), Slic3r::GUI::ImGuiWrapper::search_list(), Slic3r::GUI::selectable(), ImGui::Selectable(), ImGui::Separator(), ImGui::SeparatorEx(), ImGui::SetActiveID(), ImGui::SetClipboardText(), SetClipboardTextFn_DefaultImpl(), ImGui::SetColorEditOptions(), ImGui::SetColumnOffset(), ImGui::SetCurrentContext(), ImGui::SetCurrentFont(), SetCurrentWindow(), SetCursorPosYAndSetupForPrevLine(), ImGui::SetDragDropPayload(), ImGui::SetFocusID(), ImGui::SetHoveredID(), ImGui::SetItemAllowOverlap(), ImGui::SetItemDefaultFocus(), ImGui::SetItemUsingMouseWheel(), ImGui::SetKeyboardFocusHere(), ImGui::SetMouseCursor(), ImGui::SetNavID(), ImGui::SetNextItemOpen(), ImGui::SetNextItemWidth(), ImGui::SetNextWindowBgAlpha(), ImGui::SetNextWindowCollapsed(), ImGui::SetNextWindowContentSize(), ImGui::SetNextWindowFocus(), ImGui::SetNextWindowPos(), ImGui::SetNextWindowScroll(), ImGui::SetNextWindowSize(), ImGui::SetNextWindowSizeConstraints(), ImGui::SetScrollFromPosX(), ImGui::SetScrollFromPosY(), ImGui::SetScrollHereX(), ImGui::SetScrollHereY(), ImGui::SetScrollX(), ImGui::SetScrollY(), ImGui::SetStateStorage(), ImGui::SetTabItemClosed(), ImGuiStackSizes::SetToCurrentState(), ImGui::SetWindowCollapsed(), ImGui::SetWindowFocus(), ImGui::SetWindowFontScale(), ImGui::SetWindowSize(), ImGui::ShowMetricsWindow(), ImGui::Shutdown(), ImGui::SliderBehavior(), ImGui::SliderScalar(), ImGui::SliderScalarN(), ImGui::SmallButton(), ImGui::SplitterBehavior(), StartLockWheelingWindow(), ImGui::StartMouseMovingWindow(), ImStb::STB_TEXTEDIT_GETWIDTH(), ImGuiListClipper::Step(), ImGui::TabBarCalcMaxTabWidth(), ImGui::TabBarCalcTabID(), ImGui::TabBarLayout(), ImGui::TabBarQueueReorderFromMousePos(), ImGui::TabBarScrollingButtons(), ImGui::TabBarScrollToTab(), ImGui::TabBarTabListPopupButton(), ImGui::TabItemBackground(), ImGui::TabItemButton(), ImGui::TabItemCalcSize(), ImGui::TabItemEx(), ImGui::TabItemLabelAndCloseButton(), ImGui::TableBeginCell(), ImGui::TableDrawContextMenu(), ImGui::TableEndRow(), ImGui::TableFindByID(), ImGui::TableGcCompactSettings(), ImGui::TableGcCompactTransientBuffers(), ImGui::TableGetBoundSettings(), ImGui::TableGetColumnCount(), ImGui::TableGetColumnFlags(), ImGui::TableGetColumnIndex(), ImGui::TableGetColumnName(), ImGui::TableGetHoveredColumn(), ImGui::TableGetRowIndex(), ImGui::TableGetSortSpecs(), ImGui::TableHeader(), ImGui::TableHeadersRow(), ImGui::TableLoadSettings(), ImGui::TableMergeDrawChannels(), ImGui::TableNextColumn(), ImGui::TableNextRow(), ImGui::TableOpenContextMenu(), ImGui::TablePopBackgroundChannel(), ImGui::TablePushBackgroundChannel(), ImGui::TableRemove(), ImGui::TableSaveSettings(), ImGui::TableSetBgColor(), ImGui::TableSetColumnEnabled(), ImGui::TableSetColumnIndex(), ImGui::TableSetColumnSortDirection(), ImGui::TableSetColumnWidth(), ImGui::TableSettingsCreate(), ImGui::TableSettingsFindByID(), ImGui::TableSetupColumn(), ImGui::TableSetupScrollFreeze(), ImGui::TableUpdateBorders(), ImGui::TableUpdateLayout(), ImGui::TempInputIsActive(), ImGui::TempInputScalar(), ImGui::TempInputText(), ImGui::TextDisabledV(), ImGui::TextEx(), ImGui::TextV(), ImGui::TextWrappedV(), ImGuiWindow::TitleBarHeight(), ImGui::TreeNodeBehavior(), ImGui::TreeNodeBehaviorIsOpen(), ImGui::TreeNodeExV(), ImGui::TreeNodeExV(), ImGui::TreePop(), ImGui::TreePushOverrideID(), ImGui::Unindent(), ImGui::UpdateDebugToolItemPicker(), ImGui::UpdateHoveredWindowAndCaptureFlags(), ImGui::UpdateMouseInputs(), ImGui::UpdateMouseMovingWindowEndFrame(), ImGui::UpdateMouseMovingWindowNewFrame(), ImGui::UpdateMouseWheel(), ImGui::UpdateSettings(), ImGui::UpdateTabFocus(), ImGui::UpdateViewportsNewFrame(), ImGui::UpdateWindowManualResize(), and ImGui::VSliderScalar().