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

Go to the source code of this file.

Classes

struct  ImGuiPlotArrayGetterData
 

Namespaces

 ImGui
 
 ImStb
 

Macros

#define IMGUI_DEFINE_MATH_OPERATORS
 
#define STB_TEXTEDIT_IMPLEMENTATION
 
#define STB_TEXTEDIT_K_BACKSPACE   0x200009
 
#define STB_TEXTEDIT_K_DELETE   0x200008
 
#define STB_TEXTEDIT_K_DOWN   0x200003
 
#define STB_TEXTEDIT_K_LEFT   0x200000
 
#define STB_TEXTEDIT_K_LINEEND   0x200005
 
#define STB_TEXTEDIT_K_LINESTART   0x200004
 
#define STB_TEXTEDIT_K_REDO   0x20000B
 
#define STB_TEXTEDIT_K_RIGHT   0x200001
 
#define STB_TEXTEDIT_K_SHIFT   0x400000
 
#define STB_TEXTEDIT_K_TEXTEND   0x200007
 
#define STB_TEXTEDIT_K_TEXTSTART   0x200006
 
#define STB_TEXTEDIT_K_UNDO   0x20000A
 
#define STB_TEXTEDIT_K_UP   0x200002
 
#define STB_TEXTEDIT_K_WORDLEFT   0x20000C
 
#define STB_TEXTEDIT_K_WORDRIGHT   0x20000D
 
#define STB_TEXTEDIT_MOVEWORDLEFT   STB_TEXTEDIT_MOVEWORDLEFT_IMPL
 
#define STB_TEXTEDIT_MOVEWORDRIGHT   STB_TEXTEDIT_MOVEWORDRIGHT_IMPL
 

Functions

static float CalcMaxPopupHeightFromItemCount (int items_count)
 
static float GetColumnWidthEx (ImGuiColumns *columns, int column_index, bool before_resize=false)
 
static float GetDraggedColumnOffset (ImGuiColumns *columns, int column_index)
 
static float GetMinimumStepAtDecimalPrecision (int decimal_precision)
 
static ImGuiTabBarGetTabBarFromTabBarRef (const ImGuiPtrOrIndex &ref)
 
static ImGuiPtrOrIndex GetTabBarRefFromTabBar (ImGuiTabBar *tab_bar)
 
 IM_STATIC_ASSERT (IM_ARRAYSIZE(GDataTypeInfo)==ImGuiDataType_COUNT)
 
template<typename TYPE >
static const char * ImAtoi (const char *src, TYPE *output)
 
const char * ImParseFormatFindEnd (const char *fmt)
 
const char * ImParseFormatFindStart (const char *fmt)
 
int ImParseFormatPrecision (const char *fmt, int default_precision)
 
const char * ImParseFormatTrimDecorations (const char *fmt, char *buf, size_t buf_size)
 
static int InputTextCalcTextLenAndLineCount (const char *text_begin, const char **out_text_end)
 
static ImVec2 InputTextCalcTextSizeW (const ImWchar *text_begin, const ImWchar *text_end, const ImWchar **remaining=NULL, ImVec2 *out_offset=NULL, bool stop_on_new_line=false)
 
static bool InputTextFilterCharacter (unsigned int *p_char, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void *user_data)
 
static bool ImStb::is_separator (unsigned int c)
 
static int ImStb::is_word_boundary_from_right (STB_TEXTEDIT_STRING *obj, int idx)
 
static bool Items_ArrayGetter (void *data, int idx, const char **out_text)
 
static bool Items_SingleStringGetter (void *data, int idx, const char **out_text)
 
static const char * PatchFormatStringFloatToInt (const char *fmt)
 
static float Plot_ArrayGetter (void *data, int idx)
 
static void RenderArrowsForVerticalBar (ImDrawList *draw_list, ImVec2 pos, ImVec2 half_sz, float bar_w, float alpha)
 
static int IMGUI_CDECL ShrinkWidthItemComparer (const void *lhs, const void *rhs)
 
static void ImStb::STB_TEXTEDIT_DELETECHARS (STB_TEXTEDIT_STRING *obj, int pos, int n)
 
static ImWchar ImStb::STB_TEXTEDIT_GETCHAR (const STB_TEXTEDIT_STRING *obj, int idx)
 
static float ImStb::STB_TEXTEDIT_GETWIDTH (STB_TEXTEDIT_STRING *obj, int line_start_idx, int char_idx)
 
static bool ImStb::STB_TEXTEDIT_INSERTCHARS (STB_TEXTEDIT_STRING *obj, int pos, const ImWchar *new_text, int new_text_len)
 
static int ImStb::STB_TEXTEDIT_KEYTOTEXT (int key)
 
static void ImStb::STB_TEXTEDIT_LAYOUTROW (StbTexteditRow *r, STB_TEXTEDIT_STRING *obj, int line_start_idx)
 
static int ImStb::STB_TEXTEDIT_MOVEWORDLEFT_IMPL (STB_TEXTEDIT_STRING *obj, int idx)
 
static int ImStb::STB_TEXTEDIT_MOVEWORDRIGHT_IMPL (STB_TEXTEDIT_STRING *obj, int idx)
 
static void ImStb::stb_textedit_replace (STB_TEXTEDIT_STRING *str, STB_TexteditState *state, const STB_TEXTEDIT_CHARTYPE *text, int text_len)
 
static int ImStb::STB_TEXTEDIT_STRINGLEN (const STB_TEXTEDIT_STRING *obj)
 
static float ImGui::TabBarCalcMaxTabWidth ()
 
static ImU32 ImGui::TabBarCalcTabID (ImGuiTabBar *tab_bar, const char *label)
 
static void ImGui::TabBarLayout (ImGuiTabBar *tab_bar)
 
static float ImGui::TabBarScrollClamp (ImGuiTabBar *tab_bar, float scrolling)
 
static ImGuiTabItemImGui::TabBarScrollingButtons (ImGuiTabBar *tab_bar)
 
static void ImGui::TabBarScrollToTab (ImGuiTabBar *tab_bar, ImGuiTabItem *tab)
 
static ImGuiTabItemImGui::TabBarTabListPopupButton (ImGuiTabBar *tab_bar)
 
static int IMGUI_CDECL TabItemComparerByVisibleOffset (const void *lhs, const void *rhs)
 

Variables

static const float COLUMNS_HIT_RECT_HALF_WIDTH = 4.0f
 
static const ImGuiDataTypeInfo GDataTypeInfo []
 
static const signed short IM_S16_MAX = 32767
 
static const signed short IM_S16_MIN = -32768
 
static const ImS32 IM_S32_MAX = INT_MAX
 
static const ImS32 IM_S32_MIN = INT_MIN
 
static const ImS64 IM_S64_MAX = 9223372036854775807LL
 
static const ImS64 IM_S64_MIN = -9223372036854775807LL - 1
 
static const signed char IM_S8_MAX = 127
 
static const signed char IM_S8_MIN = -128
 
static const unsigned short IM_U16_MAX = 0xFFFF
 
static const unsigned short IM_U16_MIN = 0
 
static const ImU32 IM_U32_MAX = UINT_MAX
 
static const ImU32 IM_U32_MIN = 0
 
static const ImU64 IM_U64_MAX = (2ULL * 9223372036854775807LL + 1)
 
static const ImU64 IM_U64_MIN = 0
 
static const unsigned char IM_U8_MAX = 0xFF
 
static const unsigned char IM_U8_MIN = 0
 
static ImWchar ImStb::STB_TEXTEDIT_NEWLINE = '\n'
 

Macro Definition Documentation

◆ IMGUI_DEFINE_MATH_OPERATORS

#define IMGUI_DEFINE_MATH_OPERATORS

Definition at line 39 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_IMPLEMENTATION

#define STB_TEXTEDIT_IMPLEMENTATION

Definition at line 3283 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_BACKSPACE

#define STB_TEXTEDIT_K_BACKSPACE   0x200009

Definition at line 3276 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_DELETE

#define STB_TEXTEDIT_K_DELETE   0x200008

Definition at line 3275 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_DOWN

#define STB_TEXTEDIT_K_DOWN   0x200003

Definition at line 3270 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_LEFT

#define STB_TEXTEDIT_K_LEFT   0x200000

Definition at line 3267 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_LINEEND

#define STB_TEXTEDIT_K_LINEEND   0x200005

Definition at line 3272 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_LINESTART

#define STB_TEXTEDIT_K_LINESTART   0x200004

Definition at line 3271 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_REDO

#define STB_TEXTEDIT_K_REDO   0x20000B

Definition at line 3278 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_RIGHT

#define STB_TEXTEDIT_K_RIGHT   0x200001

Definition at line 3268 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_SHIFT

#define STB_TEXTEDIT_K_SHIFT   0x400000

Definition at line 3281 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_TEXTEND

#define STB_TEXTEDIT_K_TEXTEND   0x200007

Definition at line 3274 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_TEXTSTART

#define STB_TEXTEDIT_K_TEXTSTART   0x200006

Definition at line 3273 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_UNDO

#define STB_TEXTEDIT_K_UNDO   0x20000A

Definition at line 3277 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_UP

#define STB_TEXTEDIT_K_UP   0x200002

Definition at line 3269 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_WORDLEFT

#define STB_TEXTEDIT_K_WORDLEFT   0x20000C

Definition at line 3279 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_WORDRIGHT

#define STB_TEXTEDIT_K_WORDRIGHT   0x20000D

Definition at line 3280 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_MOVEWORDLEFT

#define STB_TEXTEDIT_MOVEWORDLEFT   STB_TEXTEDIT_MOVEWORDLEFT_IMPL

Definition at line 3217 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_MOVEWORDRIGHT

#define STB_TEXTEDIT_MOVEWORDRIGHT   STB_TEXTEDIT_MOVEWORDRIGHT_IMPL

Definition at line 3218 of file imgui_widgets.cpp.

Function Documentation

◆ CalcMaxPopupHeightFromItemCount()

static float CalcMaxPopupHeightFromItemCount ( int  items_count)
static

Definition at line 1435 of file imgui_widgets.cpp.

◆ GetColumnWidthEx()

static float GetColumnWidthEx ( ImGuiColumns columns,
int  column_index,
bool  before_resize = false 
)
static

Definition at line 7374 of file imgui_widgets.cpp.

◆ GetDraggedColumnOffset()

static float GetDraggedColumnOffset ( ImGuiColumns columns,
int  column_index 
)
static

Definition at line 7341 of file imgui_widgets.cpp.

◆ GetMinimumStepAtDecimalPrecision()

static float GetMinimumStepAtDecimalPrecision ( int  decimal_precision)
static

Definition at line 1886 of file imgui_widgets.cpp.

◆ GetTabBarFromTabBarRef()

static ImGuiTabBar* GetTabBarFromTabBarRef ( const ImGuiPtrOrIndex ref)
static

Definition at line 6477 of file imgui_widgets.cpp.

◆ GetTabBarRefFromTabBar()

static ImGuiPtrOrIndex GetTabBarRefFromTabBar ( ImGuiTabBar tab_bar)
static

Definition at line 6483 of file imgui_widgets.cpp.

◆ IM_STATIC_ASSERT()

IM_STATIC_ASSERT ( IM_ARRAYSIZE(GDataTypeInfo = =ImGuiDataType_COUNT)

◆ ImAtoi()

template<typename TYPE >
static const char* ImAtoi ( const char *  src,
TYPE output 
)
static

Definition at line 1895 of file imgui_widgets.cpp.

◆ ImParseFormatFindEnd()

const char* ImParseFormatFindEnd ( const char *  fmt)

Definition at line 2806 of file imgui_widgets.cpp.

◆ ImParseFormatFindStart()

const char* ImParseFormatFindStart ( const char *  fmt)

Definition at line 2793 of file imgui_widgets.cpp.

◆ ImParseFormatPrecision()

int ImParseFormatPrecision ( const char *  fmt,
int  default_precision 
)

Definition at line 2842 of file imgui_widgets.cpp.

◆ ImParseFormatTrimDecorations()

const char* ImParseFormatTrimDecorations ( const char *  fmt,
char *  buf,
size_t  buf_size 
)

Definition at line 2828 of file imgui_widgets.cpp.

◆ InputTextCalcTextLenAndLineCount()

static int InputTextCalcTextLenAndLineCount ( const char *  text_begin,
const char **  out_text_end 
)
static

Definition at line 3127 of file imgui_widgets.cpp.

◆ InputTextCalcTextSizeW()

static ImVec2 InputTextCalcTextSizeW ( const ImWchar text_begin,
const ImWchar text_end,
const ImWchar **  remaining = NULL,
ImVec2 out_offset = NULL,
bool  stop_on_new_line = false 
)
static

Definition at line 3141 of file imgui_widgets.cpp.

◆ InputTextFilterCharacter()

static bool InputTextFilterCharacter ( unsigned int *  p_char,
ImGuiInputTextFlags  flags,
ImGuiInputTextCallback  callback,
void user_data 
)
static

Definition at line 3371 of file imgui_widgets.cpp.

◆ Items_ArrayGetter()

static bool Items_ArrayGetter ( void data,
int  idx,
const char **  out_text 
)
static

Definition at line 1557 of file imgui_widgets.cpp.

◆ Items_SingleStringGetter()

static bool Items_SingleStringGetter ( void data,
int  idx,
const char **  out_text 
)
static

Definition at line 1566 of file imgui_widgets.cpp.

◆ PatchFormatStringFloatToInt()

static const char* PatchFormatStringFloatToInt ( const char *  fmt)
static

Definition at line 1683 of file imgui_widgets.cpp.

◆ Plot_ArrayGetter()

static float Plot_ArrayGetter ( void data,
int  idx 
)
static

Definition at line 5958 of file imgui_widgets.cpp.

◆ RenderArrowsForVerticalBar()

static void RenderArrowsForVerticalBar ( ImDrawList draw_list,
ImVec2  pos,
ImVec2  half_sz,
float  bar_w,
float  alpha 
)
static

Definition at line 4497 of file imgui_widgets.cpp.

◆ ShrinkWidthItemComparer()

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

Definition at line 1382 of file imgui_widgets.cpp.

◆ TabItemComparerByVisibleOffset()

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

Definition at line 6470 of file imgui_widgets.cpp.

Variable Documentation

◆ COLUMNS_HIT_RECT_HALF_WIDTH

const float COLUMNS_HIT_RECT_HALF_WIDTH = 4.0f
static

Definition at line 7339 of file imgui_widgets.cpp.

◆ GDataTypeInfo

const ImGuiDataTypeInfo GDataTypeInfo[]
static
Initial value:
=
{
{ sizeof(char), "%d", "%d" },
{ sizeof(unsigned char), "%u", "%u" },
{ sizeof(short), "%d", "%d" },
{ sizeof(unsigned short), "%u", "%u" },
{ sizeof(int), "%d", "%d" },
{ sizeof(unsigned int), "%u", "%u" },
{ sizeof(ImS64), "%lld", "%lld" },
{ sizeof(ImU64), "%llu", "%llu" },
{ sizeof(float), "%f", "%f" },
{ sizeof(double), "%f", "%lf" },
}

Definition at line 1660 of file imgui_widgets.cpp.

◆ IM_S16_MAX

const signed short IM_S16_MAX = 32767
static

Definition at line 90 of file imgui_widgets.cpp.

◆ IM_S16_MIN

const signed short IM_S16_MIN = -32768
static

Definition at line 89 of file imgui_widgets.cpp.

◆ IM_S32_MAX

const ImS32 IM_S32_MAX = INT_MAX
static

Definition at line 94 of file imgui_widgets.cpp.

◆ IM_S32_MIN

const ImS32 IM_S32_MIN = INT_MIN
static

Definition at line 93 of file imgui_widgets.cpp.

◆ IM_S64_MAX

const ImS64 IM_S64_MAX = 9223372036854775807LL
static

Definition at line 102 of file imgui_widgets.cpp.

◆ IM_S64_MIN

const ImS64 IM_S64_MIN = -9223372036854775807LL - 1
static

Definition at line 101 of file imgui_widgets.cpp.

◆ IM_S8_MAX

const signed char IM_S8_MAX = 127
static

Definition at line 86 of file imgui_widgets.cpp.

◆ IM_S8_MIN

const signed char IM_S8_MIN = -128
static

Definition at line 85 of file imgui_widgets.cpp.

◆ IM_U16_MAX

const unsigned short IM_U16_MAX = 0xFFFF
static

Definition at line 92 of file imgui_widgets.cpp.

◆ IM_U16_MIN

const unsigned short IM_U16_MIN = 0
static

Definition at line 91 of file imgui_widgets.cpp.

◆ IM_U32_MAX

const ImU32 IM_U32_MAX = UINT_MAX
static

Definition at line 96 of file imgui_widgets.cpp.

◆ IM_U32_MIN

const ImU32 IM_U32_MIN = 0
static

Definition at line 95 of file imgui_widgets.cpp.

◆ IM_U64_MAX

const ImU64 IM_U64_MAX = (2ULL * 9223372036854775807LL + 1)
static

Definition at line 108 of file imgui_widgets.cpp.

◆ IM_U64_MIN

const ImU64 IM_U64_MIN = 0
static

Definition at line 104 of file imgui_widgets.cpp.

◆ IM_U8_MAX

const unsigned char IM_U8_MAX = 0xFF
static

Definition at line 88 of file imgui_widgets.cpp.

◆ IM_U8_MIN

const unsigned char IM_U8_MIN = 0
static

Definition at line 87 of file imgui_widgets.cpp.

ImU64
unsigned long long ImU64
Definition: imgui.h:204
ImS64
signed long long ImS64
Definition: imgui.h:203


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