Classes | Namespaces | Macros | Functions | Variables
imgui.cpp File Reference
#include "imgui.h"
#include "imgui_internal.h"
#include <ctype.h>
#include <stdio.h>
#include <stdint.h>
Include dependency graph for imgui.cpp:

Go to the source code of this file.

Classes

struct  ImGuiResizeGripDef
 
struct  ImGuiStyleVarInfo
 

Namespaces

 ImGui
 

Macros

#define IMGUI_DEBUG_INI_SETTINGS   0
 
#define IMGUI_DEBUG_NAV_RECTS   0
 
#define IMGUI_DEBUG_NAV_SCORING   0
 
#define IMGUI_DEFINE_MATH_OPERATORS
 
#define NAV_MAP_KEY(_KEY, _NAV_INPUT)   do { if (IsKeyDown(g.IO.KeyMap[_KEY])) { g.IO.NavInputs[_NAV_INPUT] = 1.0f; g.NavInputSource = ImGuiInputSource_NavKeyboard; } } while (0)
 
#define va_copy(dest, src)   (dest = src)
 

Functions

static void AddDrawListToDrawData (ImVector< ImDrawList * > *out_list, ImDrawList *draw_list)
 
static void AddRootWindowToDrawData (ImGuiWindow *window)
 
static void AddWindowToDrawData (ImVector< ImDrawList * > *out_render_list, ImGuiWindow *window)
 
static void AddWindowToSortBuffer (ImVector< ImGuiWindow * > *out_sorted_windows, ImGuiWindow *window)
 
static void BezierClosestPointCasteljauStep (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)
 
static ImVec2 CalcNextScrollFromScrollTargetAndClamp (ImGuiWindow *window, bool snap_on_edges)
 
static void CalcResizePosSizeFromAnyCorner (ImGuiWindow *window, const ImVec2 &corner_target, const ImVec2 &corner_norm, ImVec2 *out_pos, ImVec2 *out_size)
 
static ImVec2 CalcWindowAutoFitSize (ImGuiWindow *window, const ImVec2 &size_contents)
 
static ImVec2 CalcWindowContentSize (ImGuiWindow *window)
 
static ImVec2 CalcWindowSizeAfterConstraint (ImGuiWindow *window, ImVec2 new_size)
 
static int IMGUI_CDECL ChildWindowComparer (const void *lhs, const void *rhs)
 
static void ClampWindowRect (ImGuiWindow *window, const ImRect &rect, const ImVec2 &padding)
 
static ImGuiWindowCreateNewWindow (const char *name, ImVec2 size, ImGuiWindowFlags flags)
 
static void ImGui::ErrorCheckBeginEndCompareStacksSize (ImGuiWindow *window, bool write)
 
static void ImGui::ErrorCheckEndFrameSanityChecks ()
 
static void ImGui::ErrorCheckNewFrameSanityChecks ()
 
static void FindHoveredWindow ()
 
static int ImGui::FindWindowFocusIndex (ImGuiWindow *window)
 
static ImGuiWindowFindWindowNavFocusable (int i_start, int i_stop, int dir)
 
static void FreeWrapper (void *ptr, void *user_data)
 
static const char * GetClipboardTextFn_DefaultImpl (void *user_data)
 
static const char * GetFallbackWindowNameForWindowingList (ImGuiWindow *window)
 
static ImGuiKeyModFlags GetMergedKeyModFlags ()
 
static ImRect GetResizeBorderRect (ImGuiWindow *window, int border_n, float perp_padding, float thickness)
 
static const ImGuiStyleVarInfoGetStyleVarInfo (ImGuiStyleVar idx)
 
static ImRect GetViewportRect ()
 
static ImGuiCol GetWindowBgColorIdxFromFlags (ImGuiWindowFlags flags)
 
IMGUI_API ImU32 ImAlphaBlendColors (ImU32 col_a, ImU32 col_b)
 
ImVec2 ImBezierClosestPoint (const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, const ImVec2 &p, int num_segments)
 
ImVec2 ImBezierClosestPointCasteljau (const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, const ImVec2 &p, float tess_tol)
 
static void ImeSetInputScreenPosFn_DefaultImpl (int x, int y)
 
bool ImFileClose (ImFileHandle f)
 
ImU64 ImFileGetSize (ImFileHandle f)
 
voidImFileLoadToMemory (const char *filename, const char *mode, size_t *out_file_size, int padding_bytes)
 
ImFileHandle ImFileOpen (const char *filename, const char *mode)
 
ImU64 ImFileRead (void *data, ImU64 sz, ImU64 count, ImFileHandle f)
 
ImU64 ImFileWrite (const void *data, ImU64 sz, ImU64 count, ImFileHandle f)
 
int ImFormatString (char *buf, size_t buf_size, const char *fmt,...)
 
int ImFormatStringV (char *buf, size_t buf_size, const char *fmt, va_list args)
 
ImGuiDir ImGetDirQuadrantFromDelta (float dx, float dy)
 
ImU32 ImHashData (const void *data_p, size_t data_size, ImU32 seed)
 
ImU32 ImHashStr (const char *data_p, size_t data_size, ImU32 seed)
 
ImVec2 ImLineClosestPoint (const ImVec2 &a, const ImVec2 &b, const ImVec2 &p)
 
const ImWcharImStrbolW (const ImWchar *buf_mid_line, const ImWchar *buf_begin)
 
const char * ImStrchrRange (const char *str, const char *str_end, char c)
 
char * ImStrdup (const char *str)
 
char * ImStrdupcpy (char *dst, size_t *p_dst_size, const char *src)
 
const char * ImStreolRange (const char *str, const char *str_end)
 
int ImStricmp (const char *str1, const char *str2)
 
const char * ImStristr (const char *haystack, const char *haystack_end, const char *needle, const char *needle_end)
 
int ImStrlenW (const ImWchar *str)
 
void ImStrncpy (char *dst, const char *src, size_t count)
 
int ImStrnicmp (const char *str1, const char *str2, size_t count)
 
const char * ImStrSkipBlank (const char *str)
 
void ImStrTrimBlanks (char *buf)
 
int ImTextCharFromUtf8 (unsigned int *out_char, const char *in_text, const char *in_text_end)
 
static int ImTextCharToUtf8 (char *buf, int buf_size, unsigned int c)
 
int ImTextCountCharsFromUtf8 (const char *in_text, const char *in_text_end)
 
int ImTextCountUtf8BytesFromChar (const char *in_text, const char *in_text_end)
 
static int ImTextCountUtf8BytesFromChar (unsigned int c)
 
int ImTextCountUtf8BytesFromStr (const ImWchar *in_text, const ImWchar *in_text_end)
 
int ImTextStrFromUtf8 (ImWchar *buf, int buf_size, const char *in_text, const char *in_text_end, const char **in_text_remaining)
 
int ImTextStrToUtf8 (char *buf, int buf_size, const ImWchar *in_text, const ImWchar *in_text_end)
 
void ImTriangleBarycentricCoords (const ImVec2 &a, const ImVec2 &b, const ImVec2 &c, const ImVec2 &p, float &out_u, float &out_v, float &out_w)
 
ImVec2 ImTriangleClosestPoint (const ImVec2 &a, const ImVec2 &b, const ImVec2 &c, const ImVec2 &p)
 
bool ImTriangleContainsPoint (const ImVec2 &a, const ImVec2 &b, const ImVec2 &c, const ImVec2 &p)
 
static bool IsWindowActiveAndVisible (ImGuiWindow *window)
 
static bool IsWindowContentHoverable (ImGuiWindow *window, ImGuiHoveredFlags flags)
 
static ImGuiStorage::ImGuiStoragePairLowerBound (ImVector< ImGuiStorage::ImGuiStoragePair > &data, ImGuiID key)
 
static voidMallocWrapper (size_t size, void *user_data)
 
static void MetricsHelpMarker (const char *desc)
 
static ImVec2 ImGui::NavCalcPreferredRefPos ()
 
static void NavClampRectToVisibleAreaForMoveDir (ImGuiDir move_dir, ImRect &r, const ImRect &clip_rect)
 
static void ImGui::NavProcessItem (ImGuiWindow *window, const ImRect &nav_bb, ImGuiID id)
 
static ImGuiWindowImGui::NavRestoreLastChildNavWindow (ImGuiWindow *window)
 
static void NavRestoreLayer (ImGuiNavLayer layer)
 
static void ImGui::NavSaveLastChildNavWindowIntoParent (ImGuiWindow *nav_window)
 
static bool ImGui::NavScoreItem (ImGuiNavMoveResult *result, ImRect cand)
 
static float NavScoreItemDistInterval (float a0, float a1, float b0, float b1)
 
static void ImGui::NavUpdate ()
 
static void ImGui::NavUpdateAnyRequestFlag ()
 
static void ImGui::NavUpdateMoveResult ()
 
static float ImGui::NavUpdatePageUpPageDown ()
 
static void ImGui::NavUpdateWindowing ()
 
static void NavUpdateWindowingHighlightWindow (int focus_change_dir)
 
static void ImGui::NavUpdateWindowingOverlay ()
 
static void ImGui::RenderWindowDecorations (ImGuiWindow *window, const ImRect &title_bar_rect, bool title_bar_is_highlight, int resize_grip_count, const ImU32 resize_grip_col[4], float resize_grip_draw_size)
 
static void ImGui::RenderWindowOuterBorders (ImGuiWindow *window)
 
static void ImGui::RenderWindowTitleBarContents (ImGuiWindow *window, const ImRect &title_bar_rect, const char *name, bool *p_open)
 
static void SetClipboardTextFn_DefaultImpl (void *user_data, const char *text)
 
static void SetCurrentWindow (ImGuiWindow *window)
 
static void SetCursorPosYAndSetupDummyPrevLine (float pos_y, float line_height)
 
static void SetupDrawData (ImVector< ImDrawList * > *draw_lists, ImDrawData *draw_data)
 
static void SetWindowConditionAllowFlags (ImGuiWindow *window, ImGuiCond flags, bool enabled)
 
static void StartLockWheelingWindow (ImGuiWindow *window)
 
static void ImGui::UpdateDebugToolItemPicker ()
 
static void ImGui::UpdateMouseInputs ()
 
static void ImGui::UpdateMouseWheel ()
 
static void ImGui::UpdateSettings ()
 
static void ImGui::UpdateTabFocus ()
 
static bool ImGui::UpdateWindowManualResize (ImGuiWindow *window, const ImVec2 &size_auto_fit, int *border_held, int resize_grip_count, ImU32 resize_grip_col[4])
 
static void WindowSettingsHandler_ReadLine (ImGuiContext *, ImGuiSettingsHandler *, void *entry, const char *line)
 
static voidWindowSettingsHandler_ReadOpen (ImGuiContext *, ImGuiSettingsHandler *, const char *name)
 
static void WindowSettingsHandler_WriteAll (ImGuiContext *, ImGuiSettingsHandler *, ImGuiTextBuffer *buf)
 

Variables

static const ImU32 GCrc32LookupTable [256]
 
static void *(* GImAllocatorAllocFunc )(size_t size, void *user_data) = MallocWrapper
 
static void(* GImAllocatorFreeFunc )(void *ptr, void *user_data) = FreeWrapper
 
static voidGImAllocatorUserData = NULL
 
ImGuiContextGImGui = NULL
 
static const ImGuiStyleVarInfo GStyleVarInfo []
 
static const float NAV_WINDOWING_HIGHLIGHT_DELAY = 0.20f
 
static const float NAV_WINDOWING_LIST_APPEAR_DELAY = 0.15f
 
static const ImGuiResizeGripDef resize_grip_def [4]
 
static const float WINDOWS_MOUSE_WHEEL_SCROLL_LOCK_TIMER = 2.00f
 
static const float WINDOWS_RESIZE_FROM_EDGES_FEEDBACK_TIMER = 0.04f
 
static const float WINDOWS_RESIZE_FROM_EDGES_HALF_THICKNESS = 4.0f
 

Macro Definition Documentation

◆ IMGUI_DEBUG_INI_SETTINGS

#define IMGUI_DEBUG_INI_SETTINGS   0

Definition at line 887 of file imgui.cpp.

◆ IMGUI_DEBUG_NAV_RECTS

#define IMGUI_DEBUG_NAV_RECTS   0

Definition at line 886 of file imgui.cpp.

◆ IMGUI_DEBUG_NAV_SCORING

#define IMGUI_DEBUG_NAV_SCORING   0

Definition at line 885 of file imgui.cpp.

◆ IMGUI_DEFINE_MATH_OPERATORS

#define IMGUI_DEFINE_MATH_OPERATORS

Definition at line 805 of file imgui.cpp.

◆ NAV_MAP_KEY

#define NAV_MAP_KEY (   _KEY,
  _NAV_INPUT 
)    do { if (IsKeyDown(g.IO.KeyMap[_KEY])) { g.IO.NavInputs[_NAV_INPUT] = 1.0f; g.NavInputSource = ImGuiInputSource_NavKeyboard; } } while (0)

◆ va_copy

#define va_copy (   dest,
  src 
)    (dest = src)

Definition at line 2141 of file imgui.cpp.

Function Documentation

◆ AddDrawListToDrawData()

static void AddDrawListToDrawData ( ImVector< ImDrawList * > *  out_list,
ImDrawList draw_list 
)
static

Definition at line 4029 of file imgui.cpp.

◆ AddRootWindowToDrawData()

static void AddRootWindowToDrawData ( ImGuiWindow window)
static

Definition at line 4085 of file imgui.cpp.

◆ AddWindowToDrawData()

static void AddWindowToDrawData ( ImVector< ImDrawList * > *  out_render_list,
ImGuiWindow window 
)
static

Definition at line 4071 of file imgui.cpp.

◆ AddWindowToSortBuffer()

static void AddWindowToSortBuffer ( ImVector< ImGuiWindow * > *  out_sorted_windows,
ImGuiWindow window 
)
static

Definition at line 4012 of file imgui.cpp.

◆ BezierClosestPointCasteljauStep()

static void BezierClosestPointCasteljauStep ( 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 
)
static

Definition at line 1204 of file imgui.cpp.

◆ CalcNextScrollFromScrollTargetAndClamp()

static ImVec2 CalcNextScrollFromScrollTargetAndClamp ( ImGuiWindow window,
bool  snap_on_edges 
)
static

Definition at line 7263 of file imgui.cpp.

◆ CalcResizePosSizeFromAnyCorner()

static void CalcResizePosSizeFromAnyCorner ( ImGuiWindow window,
const ImVec2 corner_target,
const ImVec2 corner_norm,
ImVec2 out_pos,
ImVec2 out_size 
)
static

Definition at line 4986 of file imgui.cpp.

◆ CalcWindowAutoFitSize()

static ImVec2 CalcWindowAutoFitSize ( ImGuiWindow window,
const ImVec2 size_contents 
)
static

Definition at line 4934 of file imgui.cpp.

◆ CalcWindowContentSize()

static ImVec2 CalcWindowContentSize ( ImGuiWindow window)
static

Definition at line 4920 of file imgui.cpp.

◆ CalcWindowSizeAfterConstraint()

static ImVec2 CalcWindowSizeAfterConstraint ( ImGuiWindow window,
ImVec2  new_size 
)
static

Definition at line 4887 of file imgui.cpp.

◆ ChildWindowComparer()

static int IMGUI_CDECL ChildWindowComparer ( const void lhs,
const void rhs 
)
static

Definition at line 4001 of file imgui.cpp.

◆ ClampWindowRect()

static void ClampWindowRect ( ImGuiWindow window,
const ImRect rect,
const ImVec2 padding 
)
inlinestatic

Definition at line 5162 of file imgui.cpp.

◆ CreateNewWindow()

static ImGuiWindow * CreateNewWindow ( const char *  name,
ImVec2  size,
ImGuiWindowFlags  flags 
)
static

Definition at line 4837 of file imgui.cpp.

◆ FindHoveredWindow()

static void FindHoveredWindow ( )
static

Definition at line 4300 of file imgui.cpp.

◆ FindWindowNavFocusable()

static ImGuiWindow* FindWindowNavFocusable ( int  i_start,
int  i_stop,
int  dir 
)
static

Definition at line 8796 of file imgui.cpp.

◆ FreeWrapper()

static void FreeWrapper ( void ptr,
void user_data 
)
static

Definition at line 983 of file imgui.cpp.

◆ GetClipboardTextFn_DefaultImpl()

static const char * GetClipboardTextFn_DefaultImpl ( void user_data)
static

Definition at line 9889 of file imgui.cpp.

◆ GetFallbackWindowNameForWindowingList()

static const char* GetFallbackWindowNameForWindowingList ( ImGuiWindow window)
static

Definition at line 8966 of file imgui.cpp.

◆ GetMergedKeyModFlags()

static ImGuiKeyModFlags GetMergedKeyModFlags ( )
static

Definition at line 3680 of file imgui.cpp.

◆ GetResizeBorderRect()

static ImRect GetResizeBorderRect ( ImGuiWindow window,
int  border_n,
float  perp_padding,
float  thickness 
)
static

Definition at line 5015 of file imgui.cpp.

◆ GetStyleVarInfo()

static const ImGuiStyleVarInfo* GetStyleVarInfo ( ImGuiStyleVar  idx)
static

Definition at line 2445 of file imgui.cpp.

◆ GetViewportRect()

static ImRect GetViewportRect ( )
static

Definition at line 4686 of file imgui.cpp.

◆ GetWindowBgColorIdxFromFlags()

static ImGuiCol GetWindowBgColorIdxFromFlags ( ImGuiWindowFlags  flags)
static

Definition at line 4977 of file imgui.cpp.

◆ ImAlphaBlendColors()

IMGUI_API ImU32 ImAlphaBlendColors ( ImU32  col_a,
ImU32  col_b 
)

Definition at line 1800 of file imgui.cpp.

◆ ImBezierClosestPoint()

ImVec2 ImBezierClosestPoint ( const ImVec2 p1,
const ImVec2 p2,
const ImVec2 p3,
const ImVec2 p4,
const ImVec2 p,
int  num_segments 
)

Definition at line 1181 of file imgui.cpp.

◆ ImBezierClosestPointCasteljau()

ImVec2 ImBezierClosestPointCasteljau ( const ImVec2 p1,
const ImVec2 p2,
const ImVec2 p3,
const ImVec2 p4,
const ImVec2 p,
float  tess_tol 
)

Definition at line 1239 of file imgui.cpp.

◆ ImeSetInputScreenPosFn_DefaultImpl()

static void ImeSetInputScreenPosFn_DefaultImpl ( int  x,
int  y 
)
static

Definition at line 9933 of file imgui.cpp.

◆ ImFileClose()

bool ImFileClose ( ImFileHandle  f)

Definition at line 1566 of file imgui.cpp.

◆ ImFileGetSize()

ImU64 ImFileGetSize ( ImFileHandle  f)

Definition at line 1567 of file imgui.cpp.

◆ ImFileLoadToMemory()

void* ImFileLoadToMemory ( const char *  filename,
const char *  mode,
size_t *  out_file_size,
int  padding_bytes 
)

Definition at line 1575 of file imgui.cpp.

◆ ImFileOpen()

ImFileHandle ImFileOpen ( const char *  filename,
const char *  mode 
)

Definition at line 1548 of file imgui.cpp.

◆ ImFileRead()

ImU64 ImFileRead ( void data,
ImU64  sz,
ImU64  count,
ImFileHandle  f 
)

Definition at line 1568 of file imgui.cpp.

◆ ImFileWrite()

ImU64 ImFileWrite ( const void data,
ImU64  sz,
ImU64  count,
ImFileHandle  f 
)

Definition at line 1569 of file imgui.cpp.

◆ ImFormatString()

int ImFormatString ( char *  buf,
size_t  buf_size,
const char *  fmt,
  ... 
)

Definition at line 1437 of file imgui.cpp.

◆ ImFormatStringV()

int ImFormatStringV ( char *  buf,
size_t  buf_size,
const char *  fmt,
va_list  args 
)

Definition at line 1455 of file imgui.cpp.

◆ ImGetDirQuadrantFromDelta()

ImGuiDir ImGetDirQuadrantFromDelta ( float  dx,
float  dy 
)

Definition at line 7953 of file imgui.cpp.

◆ ImHashData()

ImU32 ImHashData ( const void data_p,
size_t  data_size,
ImU32  seed 
)

Definition at line 1497 of file imgui.cpp.

◆ ImHashStr()

ImU32 ImHashStr ( const char *  data_p,
size_t  data_size,
ImU32  seed 
)

Definition at line 1513 of file imgui.cpp.

◆ ImLineClosestPoint()

ImVec2 ImLineClosestPoint ( const ImVec2 a,
const ImVec2 b,
const ImVec2 p 
)

Definition at line 1249 of file imgui.cpp.

◆ ImStrbolW()

const ImWchar* ImStrbolW ( const ImWchar buf_mid_line,
const ImWchar buf_begin 
)

Definition at line 1367 of file imgui.cpp.

◆ ImStrchrRange()

const char* ImStrchrRange ( const char *  str,
const char *  str_end,
char  c 
)

Definition at line 1346 of file imgui.cpp.

◆ ImStrdup()

char* ImStrdup ( const char *  str)

Definition at line 1325 of file imgui.cpp.

◆ ImStrdupcpy()

char* ImStrdupcpy ( char *  dst,
size_t *  p_dst_size,
const char *  src 
)

Definition at line 1332 of file imgui.cpp.

◆ ImStreolRange()

const char* ImStreolRange ( const char *  str,
const char *  str_end 
)

Definition at line 1361 of file imgui.cpp.

◆ ImStricmp()

int ImStricmp ( const char *  str1,
const char *  str2 
)

Definition at line 1302 of file imgui.cpp.

◆ ImStristr()

const char* ImStristr ( const char *  haystack,
const char *  haystack_end,
const char *  needle,
const char *  needle_end 
)

Definition at line 1374 of file imgui.cpp.

◆ ImStrlenW()

int ImStrlenW ( const ImWchar str)

Definition at line 1352 of file imgui.cpp.

◆ ImStrncpy()

void ImStrncpy ( char *  dst,
const char *  src,
size_t  count 
)

Definition at line 1316 of file imgui.cpp.

◆ ImStrnicmp()

int ImStrnicmp ( const char *  str1,
const char *  str2,
size_t  count 
)

Definition at line 1309 of file imgui.cpp.

◆ ImStrSkipBlank()

const char* ImStrSkipBlank ( const char *  str)

Definition at line 1412 of file imgui.cpp.

◆ ImStrTrimBlanks()

void ImStrTrimBlanks ( char *  buf)

Definition at line 1397 of file imgui.cpp.

◆ ImTextCharFromUtf8()

int ImTextCharFromUtf8 ( unsigned int *  out_char,
const char *  in_text,
const char *  in_text_end 
)

Definition at line 1621 of file imgui.cpp.

◆ ImTextCharToUtf8()

static int ImTextCharToUtf8 ( char *  buf,
int  buf_size,
unsigned int  c 
)
inlinestatic

Definition at line 1714 of file imgui.cpp.

◆ ImTextCountCharsFromUtf8()

int ImTextCountCharsFromUtf8 ( const char *  in_text,
const char *  in_text_end 
)

Definition at line 1699 of file imgui.cpp.

◆ ImTextCountUtf8BytesFromChar() [1/2]

int ImTextCountUtf8BytesFromChar ( const char *  in_text,
const char *  in_text_end 
)

Definition at line 1750 of file imgui.cpp.

◆ ImTextCountUtf8BytesFromChar() [2/2]

static int ImTextCountUtf8BytesFromChar ( unsigned int  c)
inlinestatic

Definition at line 1756 of file imgui.cpp.

◆ ImTextCountUtf8BytesFromStr()

int ImTextCountUtf8BytesFromStr ( const ImWchar in_text,
const ImWchar in_text_end 
)

Definition at line 1781 of file imgui.cpp.

◆ ImTextStrFromUtf8()

int ImTextStrFromUtf8 ( ImWchar buf,
int  buf_size,
const char *  in_text,
const char *  in_text_end,
const char **  in_text_remaining 
)

Definition at line 1681 of file imgui.cpp.

◆ ImTextStrToUtf8()

int ImTextStrToUtf8 ( char *  buf,
int  buf_size,
const ImWchar in_text,
const ImWchar in_text_end 
)

Definition at line 1765 of file imgui.cpp.

◆ ImTriangleBarycentricCoords()

void ImTriangleBarycentricCoords ( const ImVec2 a,
const ImVec2 b,
const ImVec2 c,
const ImVec2 p,
float &  out_u,
float &  out_v,
float &  out_w 
)

Definition at line 1270 of file imgui.cpp.

◆ ImTriangleClosestPoint()

ImVec2 ImTriangleClosestPoint ( const ImVec2 a,
const ImVec2 b,
const ImVec2 c,
const ImVec2 p 
)

Definition at line 1281 of file imgui.cpp.

◆ ImTriangleContainsPoint()

bool ImTriangleContainsPoint ( const ImVec2 a,
const ImVec2 b,
const ImVec2 c,
const ImVec2 p 
)

Definition at line 1262 of file imgui.cpp.

◆ IsWindowActiveAndVisible()

static bool IsWindowActiveAndVisible ( ImGuiWindow window)
static

Definition at line 3437 of file imgui.cpp.

◆ IsWindowContentHoverable()

static bool IsWindowContentHoverable ( ImGuiWindow window,
ImGuiHoveredFlags  flags 
)
inlinestatic

Definition at line 3043 of file imgui.cpp.

◆ LowerBound()

static ImGuiStorage::ImGuiStoragePair* LowerBound ( ImVector< ImGuiStorage::ImGuiStoragePair > &  data,
ImGuiID  key 
)
static

Definition at line 1886 of file imgui.cpp.

◆ MallocWrapper()

static void* MallocWrapper ( size_t  size,
void user_data 
)
static

Definition at line 982 of file imgui.cpp.

◆ MetricsHelpMarker()

static void MetricsHelpMarker ( const char *  desc)
static

Definition at line 9943 of file imgui.cpp.

◆ NavClampRectToVisibleAreaForMoveDir()

static void NavClampRectToVisibleAreaForMoveDir ( ImGuiDir  move_dir,
ImRect r,
const ImRect clip_rect 
)
inlinestatic

Definition at line 7969 of file imgui.cpp.

◆ NavRestoreLayer()

static void NavRestoreLayer ( ImGuiNavLayer  layer)
static

Definition at line 8266 of file imgui.cpp.

◆ NavScoreItemDistInterval()

static float NavScoreItemDistInterval ( float  a0,
float  a1,
float  b0,
float  b1 
)
inlinestatic

Definition at line 7960 of file imgui.cpp.

◆ NavUpdateWindowingHighlightWindow()

static void NavUpdateWindowingHighlightWindow ( int  focus_change_dir)
static

Definition at line 8805 of file imgui.cpp.

◆ SetClipboardTextFn_DefaultImpl()

static void SetClipboardTextFn_DefaultImpl ( void user_data,
const char *  text 
)
static

Definition at line 9895 of file imgui.cpp.

◆ SetCurrentWindow()

static void SetCurrentWindow ( ImGuiWindow window)
static

Definition at line 2931 of file imgui.cpp.

◆ SetCursorPosYAndSetupDummyPrevLine()

static void SetCursorPosYAndSetupDummyPrevLine ( float  pos_y,
float  line_height 
)
static

Definition at line 2247 of file imgui.cpp.

◆ SetupDrawData()

static void SetupDrawData ( ImVector< ImDrawList * > *  draw_lists,
ImDrawData draw_data 
)
static

Definition at line 4110 of file imgui.cpp.

◆ SetWindowConditionAllowFlags()

static void SetWindowConditionAllowFlags ( ImGuiWindow window,
ImGuiCond  flags,
bool  enabled 
)
static

Definition at line 4818 of file imgui.cpp.

◆ StartLockWheelingWindow()

static void StartLockWheelingWindow ( ImGuiWindow window)
static

Definition at line 3499 of file imgui.cpp.

◆ WindowSettingsHandler_ReadLine()

static void WindowSettingsHandler_ReadLine ( ImGuiContext ,
ImGuiSettingsHandler ,
void entry,
const char *  line 
)
static

Definition at line 9718 of file imgui.cpp.

◆ WindowSettingsHandler_ReadOpen()

static void * WindowSettingsHandler_ReadOpen ( ImGuiContext ,
ImGuiSettingsHandler ,
const char *  name 
)
static

Definition at line 9710 of file imgui.cpp.

◆ WindowSettingsHandler_WriteAll()

static void WindowSettingsHandler_WriteAll ( ImGuiContext ctx,
ImGuiSettingsHandler handler,
ImGuiTextBuffer buf 
)
static

Definition at line 9728 of file imgui.cpp.

Variable Documentation

◆ GCrc32LookupTable

const ImU32 GCrc32LookupTable[256]
static
Initial value:
=
{
0x00000000,0x77073096,0xEE0E612C,0x990951BA,0x076DC419,0x706AF48F,0xE963A535,0x9E6495A3,0x0EDB8832,0x79DCB8A4,0xE0D5E91E,0x97D2D988,0x09B64C2B,0x7EB17CBD,0xE7B82D07,0x90BF1D91,
0x1DB71064,0x6AB020F2,0xF3B97148,0x84BE41DE,0x1ADAD47D,0x6DDDE4EB,0xF4D4B551,0x83D385C7,0x136C9856,0x646BA8C0,0xFD62F97A,0x8A65C9EC,0x14015C4F,0x63066CD9,0xFA0F3D63,0x8D080DF5,
0x3B6E20C8,0x4C69105E,0xD56041E4,0xA2677172,0x3C03E4D1,0x4B04D447,0xD20D85FD,0xA50AB56B,0x35B5A8FA,0x42B2986C,0xDBBBC9D6,0xACBCF940,0x32D86CE3,0x45DF5C75,0xDCD60DCF,0xABD13D59,
0x26D930AC,0x51DE003A,0xC8D75180,0xBFD06116,0x21B4F4B5,0x56B3C423,0xCFBA9599,0xB8BDA50F,0x2802B89E,0x5F058808,0xC60CD9B2,0xB10BE924,0x2F6F7C87,0x58684C11,0xC1611DAB,0xB6662D3D,
0x76DC4190,0x01DB7106,0x98D220BC,0xEFD5102A,0x71B18589,0x06B6B51F,0x9FBFE4A5,0xE8B8D433,0x7807C9A2,0x0F00F934,0x9609A88E,0xE10E9818,0x7F6A0DBB,0x086D3D2D,0x91646C97,0xE6635C01,
0x6B6B51F4,0x1C6C6162,0x856530D8,0xF262004E,0x6C0695ED,0x1B01A57B,0x8208F4C1,0xF50FC457,0x65B0D9C6,0x12B7E950,0x8BBEB8EA,0xFCB9887C,0x62DD1DDF,0x15DA2D49,0x8CD37CF3,0xFBD44C65,
0x4DB26158,0x3AB551CE,0xA3BC0074,0xD4BB30E2,0x4ADFA541,0x3DD895D7,0xA4D1C46D,0xD3D6F4FB,0x4369E96A,0x346ED9FC,0xAD678846,0xDA60B8D0,0x44042D73,0x33031DE5,0xAA0A4C5F,0xDD0D7CC9,
0x5005713C,0x270241AA,0xBE0B1010,0xC90C2086,0x5768B525,0x206F85B3,0xB966D409,0xCE61E49F,0x5EDEF90E,0x29D9C998,0xB0D09822,0xC7D7A8B4,0x59B33D17,0x2EB40D81,0xB7BD5C3B,0xC0BA6CAD,
0xEDB88320,0x9ABFB3B6,0x03B6E20C,0x74B1D29A,0xEAD54739,0x9DD277AF,0x04DB2615,0x73DC1683,0xE3630B12,0x94643B84,0x0D6D6A3E,0x7A6A5AA8,0xE40ECF0B,0x9309FF9D,0x0A00AE27,0x7D079EB1,
0xF00F9344,0x8708A3D2,0x1E01F268,0x6906C2FE,0xF762575D,0x806567CB,0x196C3671,0x6E6B06E7,0xFED41B76,0x89D32BE0,0x10DA7A5A,0x67DD4ACC,0xF9B9DF6F,0x8EBEEFF9,0x17B7BE43,0x60B08ED5,
0xD6D6A3E8,0xA1D1937E,0x38D8C2C4,0x4FDFF252,0xD1BB67F1,0xA6BC5767,0x3FB506DD,0x48B2364B,0xD80D2BDA,0xAF0A1B4C,0x36034AF6,0x41047A60,0xDF60EFC3,0xA867DF55,0x316E8EEF,0x4669BE79,
0xCB61B38C,0xBC66831A,0x256FD2A0,0x5268E236,0xCC0C7795,0xBB0B4703,0x220216B9,0x5505262F,0xC5BA3BBE,0xB2BD0B28,0x2BB45A92,0x5CB36A04,0xC2D7FFA7,0xB5D0CF31,0x2CD99E8B,0x5BDEAE1D,
0x9B64C2B0,0xEC63F226,0x756AA39C,0x026D930A,0x9C0906A9,0xEB0E363F,0x72076785,0x05005713,0x95BF4A82,0xE2B87A14,0x7BB12BAE,0x0CB61B38,0x92D28E9B,0xE5D5BE0D,0x7CDCEFB7,0x0BDBDF21,
0x86D3D2D4,0xF1D4E242,0x68DDB3F8,0x1FDA836E,0x81BE16CD,0xF6B9265B,0x6FB077E1,0x18B74777,0x88085AE6,0xFF0F6A70,0x66063BCA,0x11010B5C,0x8F659EFF,0xF862AE69,0x616BFFD3,0x166CCF45,
0xA00AE278,0xD70DD2EE,0x4E048354,0x3903B3C2,0xA7672661,0xD06016F7,0x4969474D,0x3E6E77DB,0xAED16A4A,0xD9D65ADC,0x40DF0B66,0x37D83BF0,0xA9BCAE53,0xDEBB9EC5,0x47B2CF7F,0x30B5FFE9,
0xBDBDF21C,0xCABAC28A,0x53B39330,0x24B4A3A6,0xBAD03605,0xCDD70693,0x54DE5729,0x23D967BF,0xB3667A2E,0xC4614AB8,0x5D681B02,0x2A6F2B94,0xB40BBE37,0xC30C8EA1,0x5A05DF1B,0x2D02EF8D,
}

Definition at line 1474 of file imgui.cpp.

◆ GImAllocatorAllocFunc

void*(* GImAllocatorAllocFunc) (size_t size, void *user_data) = MallocWrapper
static

Definition at line 989 of file imgui.cpp.

◆ GImAllocatorFreeFunc

void(* GImAllocatorFreeFunc) (void *ptr, void *user_data) = FreeWrapper
static

Definition at line 990 of file imgui.cpp.

◆ GImAllocatorUserData

void* GImAllocatorUserData = NULL
static

Definition at line 991 of file imgui.cpp.

◆ GImGui

ImGuiContext* GImGui = NULL

Definition at line 975 of file imgui.cpp.

◆ GStyleVarInfo

const ImGuiStyleVarInfo GStyleVarInfo[]
static
Initial value:
=
{
{ ImGuiDataType_Float, 2, (ImU32)IM_OFFSETOF(ImGuiStyle, WindowPadding) },
{ ImGuiDataType_Float, 1, (ImU32)IM_OFFSETOF(ImGuiStyle, WindowRounding) },
{ ImGuiDataType_Float, 1, (ImU32)IM_OFFSETOF(ImGuiStyle, WindowBorderSize) },
{ ImGuiDataType_Float, 2, (ImU32)IM_OFFSETOF(ImGuiStyle, WindowMinSize) },
{ ImGuiDataType_Float, 2, (ImU32)IM_OFFSETOF(ImGuiStyle, WindowTitleAlign) },
{ ImGuiDataType_Float, 1, (ImU32)IM_OFFSETOF(ImGuiStyle, ChildRounding) },
{ ImGuiDataType_Float, 1, (ImU32)IM_OFFSETOF(ImGuiStyle, ChildBorderSize) },
{ ImGuiDataType_Float, 1, (ImU32)IM_OFFSETOF(ImGuiStyle, PopupRounding) },
{ ImGuiDataType_Float, 1, (ImU32)IM_OFFSETOF(ImGuiStyle, PopupBorderSize) },
{ ImGuiDataType_Float, 2, (ImU32)IM_OFFSETOF(ImGuiStyle, FramePadding) },
{ ImGuiDataType_Float, 1, (ImU32)IM_OFFSETOF(ImGuiStyle, FrameRounding) },
{ ImGuiDataType_Float, 1, (ImU32)IM_OFFSETOF(ImGuiStyle, FrameBorderSize) },
{ ImGuiDataType_Float, 2, (ImU32)IM_OFFSETOF(ImGuiStyle, ItemInnerSpacing) },
{ ImGuiDataType_Float, 1, (ImU32)IM_OFFSETOF(ImGuiStyle, IndentSpacing) },
{ ImGuiDataType_Float, 1, (ImU32)IM_OFFSETOF(ImGuiStyle, ScrollbarSize) },
{ ImGuiDataType_Float, 1, (ImU32)IM_OFFSETOF(ImGuiStyle, ScrollbarRounding) },
{ ImGuiDataType_Float, 1, (ImU32)IM_OFFSETOF(ImGuiStyle, GrabRounding) },
{ ImGuiDataType_Float, 2, (ImU32)IM_OFFSETOF(ImGuiStyle, ButtonTextAlign) },
{ ImGuiDataType_Float, 2, (ImU32)IM_OFFSETOF(ImGuiStyle, SelectableTextAlign) },
}

Definition at line 2418 of file imgui.cpp.

◆ NAV_WINDOWING_HIGHLIGHT_DELAY

const float NAV_WINDOWING_HIGHLIGHT_DELAY = 0.20f
static

Definition at line 890 of file imgui.cpp.

◆ NAV_WINDOWING_LIST_APPEAR_DELAY

const float NAV_WINDOWING_LIST_APPEAR_DELAY = 0.15f
static

Definition at line 891 of file imgui.cpp.

◆ resize_grip_def

const ImGuiResizeGripDef resize_grip_def[4]
static
Initial value:
=
{
{ ImVec2(1,1), ImVec2(-1,-1), 0, 3 },
{ ImVec2(0,1), ImVec2(+1,-1), 3, 6 },
{ ImVec2(0,0), ImVec2(+1,+1), 6, 9 },
{ ImVec2(1,0), ImVec2(-1,+1), 9,12 },
}

Definition at line 5007 of file imgui.cpp.

◆ WINDOWS_MOUSE_WHEEL_SCROLL_LOCK_TIMER

const float WINDOWS_MOUSE_WHEEL_SCROLL_LOCK_TIMER = 2.00f
static

Definition at line 896 of file imgui.cpp.

◆ WINDOWS_RESIZE_FROM_EDGES_FEEDBACK_TIMER

const float WINDOWS_RESIZE_FROM_EDGES_FEEDBACK_TIMER = 0.04f
static

Definition at line 895 of file imgui.cpp.

◆ WINDOWS_RESIZE_FROM_EDGES_HALF_THICKNESS

const float WINDOWS_RESIZE_FROM_EDGES_HALF_THICKNESS = 4.0f
static

Definition at line 894 of file imgui.cpp.

ImGuiDataType_Float
@ ImGuiDataType_Float
Definition: imgui.h:968
ImVec2
Definition: imgui.h:208
ImGuiStyle
Definition: imgui.h:1365
IM_OFFSETOF
#define IM_OFFSETOF(_TYPE, _MEMBER)
Definition: imgui.h:93
ImU32
unsigned int ImU32
Definition: imgui.h:194


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:07:03