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  ImGuiDataTypeInfo
 
struct  ImGuiPlotArrayGetterData
 
struct  ImGuiStb::StbFindState
 

Namespaces

 ImGui
 
 ImGuiStb
 

Macros

#define IMGUI_DEFINE_MATH_OPERATORS
 
#define STB_TEXTEDIT_IMPLEMENTATION
 
#define STB_TEXTEDIT_K_BACKSPACE   0x10009
 
#define STB_TEXTEDIT_K_DELETE   0x10008
 
#define STB_TEXTEDIT_K_DOWN   0x10003
 
#define STB_TEXTEDIT_K_LEFT   0x10000
 
#define STB_TEXTEDIT_K_LINEEND   0x10005
 
#define STB_TEXTEDIT_K_LINESTART   0x10004
 
#define STB_TEXTEDIT_K_REDO   0x1000B
 
#define STB_TEXTEDIT_K_RIGHT   0x10001
 
#define STB_TEXTEDIT_K_SHIFT   0x20000
 
#define STB_TEXTEDIT_K_TEXTEND   0x10007
 
#define STB_TEXTEDIT_K_TEXTSTART   0x10006
 
#define STB_TEXTEDIT_K_UNDO   0x1000A
 
#define STB_TEXTEDIT_K_UP   0x10002
 
#define STB_TEXTEDIT_K_WORDLEFT   0x1000C
 
#define STB_TEXTEDIT_K_WORDRIGHT   0x1000D
 
#define STB_TEXTEDIT_MOVEWORDLEFT   STB_TEXTEDIT_MOVEWORDLEFT_IMPL
 
#define STB_TEXTEDIT_MOVEWORDRIGHT   STB_TEXTEDIT_MOVEWORDRIGHT_IMPL
 

Functions

static float CalcMaxPopupHeightFromItemCount (int items_count)
 
static void DataTypeApplyOp (ImGuiDataType data_type, int op, void *output, void *arg_1, const void *arg_2)
 
static bool DataTypeApplyOpFromText (const char *buf, const char *initial_value_buf, ImGuiDataType data_type, void *data_ptr, const char *format)
 
static int DataTypeFormatString (char *buf, int buf_size, ImGuiDataType data_type, const void *data_ptr, const char *format)
 
static float GetMinimumStepAtDecimalPrecision (int decimal_precision)
 
 IM_STATIC_ASSERT (IM_ARRAYSIZE(GDataTypeInfo)==ImGuiDataType_COUNT)
 
static ImU32 ImAlphaBlendColor (ImU32 col_a, ImU32 col_b)
 
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, int 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 ImGuiStb::is_separator (unsigned int c)
 
static int ImGuiStb::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)
 
static StbUndoRecordImGuiStb::stb_text_create_undo_record (StbUndoState *state, int numchars)
 
static STB_TEXTEDIT_CHARTYPEImGuiStb::stb_text_createundo (StbUndoState *state, int pos, int insert_len, int delete_len)
 
static int ImGuiStb::stb_text_locate_coord (STB_TEXTEDIT_STRING *str, float x, float y)
 
static void ImGuiStb::stb_text_makeundo_delete (STB_TEXTEDIT_STRING *str, STB_TexteditState *state, int where, int length)
 
static void ImGuiStb::stb_text_makeundo_insert (STB_TexteditState *state, int where, int length)
 
static void ImGuiStb::stb_text_makeundo_replace (STB_TEXTEDIT_STRING *str, STB_TexteditState *state, int where, int old_length, int new_length)
 
static void ImGuiStb::stb_text_redo (STB_TEXTEDIT_STRING *str, STB_TexteditState *state)
 
static void ImGuiStb::stb_text_undo (STB_TEXTEDIT_STRING *str, STB_TexteditState *state)
 
static void ImGuiStb::stb_textedit_clamp (STB_TEXTEDIT_STRING *str, STB_TexteditState *state)
 
static void ImGuiStb::stb_textedit_clear_state (STB_TexteditState *state, int is_single_line)
 
static void ImGuiStb::stb_textedit_click (STB_TEXTEDIT_STRING *str, STB_TexteditState *state, float x, float y)
 
static int ImGuiStb::stb_textedit_cut (STB_TEXTEDIT_STRING *str, STB_TexteditState *state)
 
static void ImGuiStb::stb_textedit_delete (STB_TEXTEDIT_STRING *str, STB_TexteditState *state, int where, int len)
 
static void ImGuiStb::stb_textedit_delete_selection (STB_TEXTEDIT_STRING *str, STB_TexteditState *state)
 
static void ImGuiStb::STB_TEXTEDIT_DELETECHARS (STB_TEXTEDIT_STRING *obj, int pos, int n)
 
static void ImGuiStb::stb_textedit_discard_redo (StbUndoState *state)
 
static void ImGuiStb::stb_textedit_discard_undo (StbUndoState *state)
 
static void ImGuiStb::stb_textedit_drag (STB_TEXTEDIT_STRING *str, STB_TexteditState *state, float x, float y)
 
static void ImGuiStb::stb_textedit_find_charpos (StbFindState *find, STB_TEXTEDIT_STRING *str, int n, int single_line)
 
static void ImGuiStb::stb_textedit_flush_redo (StbUndoState *state)
 
static ImWchar ImGuiStb::STB_TEXTEDIT_GETCHAR (const STB_TEXTEDIT_STRING *obj, int idx)
 
static float ImGuiStb::STB_TEXTEDIT_GETWIDTH (STB_TEXTEDIT_STRING *obj, int line_start_idx, int char_idx)
 
static void ImGuiStb::stb_textedit_initialize_state (STB_TexteditState *state, int is_single_line)
 
static bool ImGuiStb::STB_TEXTEDIT_INSERTCHARS (STB_TEXTEDIT_STRING *obj, int pos, const ImWchar *new_text, int new_text_len)
 
static void ImGuiStb::stb_textedit_key (STB_TEXTEDIT_STRING *str, STB_TexteditState *state, STB_TEXTEDIT_KEYTYPE key)
 
static int ImGuiStb::STB_TEXTEDIT_KEYTOTEXT (int key)
 
static void ImGuiStb::STB_TEXTEDIT_LAYOUTROW (StbTexteditRow *r, STB_TEXTEDIT_STRING *obj, int line_start_idx)
 
static void ImGuiStb::stb_textedit_move_to_first (STB_TexteditState *state)
 
static void ImGuiStb::stb_textedit_move_to_last (STB_TEXTEDIT_STRING *str, STB_TexteditState *state)
 
static int ImGuiStb::STB_TEXTEDIT_MOVEWORDLEFT_IMPL (STB_TEXTEDIT_STRING *obj, int idx)
 
static int ImGuiStb::STB_TEXTEDIT_MOVEWORDRIGHT_IMPL (STB_TEXTEDIT_STRING *obj, int idx)
 
static int ImGuiStb::stb_textedit_paste (STB_TEXTEDIT_STRING *str, STB_TexteditState *state, STB_TEXTEDIT_CHARTYPE const *ctext, int len)
 
static int ImGuiStb::stb_textedit_paste_internal (STB_TEXTEDIT_STRING *str, STB_TexteditState *state, STB_TEXTEDIT_CHARTYPE *text, int len)
 
static void ImGuiStb::stb_textedit_prep_selection_at_cursor (STB_TexteditState *state)
 
static void ImGuiStb::stb_textedit_sortselection (STB_TexteditState *state)
 
static int ImGuiStb::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 int IMGUI_CDECL TabBarSortItemComparer (const void *lhs, const void *rhs)
 
static int IMGUI_CDECL TabItemComparerByVisibleOffset (const void *lhs, const void *rhs)
 

Variables

static const ImGuiDataTypeInfo GDataTypeInfo []
 
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 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 ImWchar ImGuiStb::STB_TEXTEDIT_NEWLINE = '\n'
 

Macro Definition Documentation

◆ IMGUI_DEFINE_MATH_OPERATORS

#define IMGUI_DEFINE_MATH_OPERATORS

Definition at line 36 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_IMPLEMENTATION

#define STB_TEXTEDIT_IMPLEMENTATION

Definition at line 2987 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_BACKSPACE

#define STB_TEXTEDIT_K_BACKSPACE   0x10009

Definition at line 2980 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_DELETE

#define STB_TEXTEDIT_K_DELETE   0x10008

Definition at line 2979 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_DOWN

#define STB_TEXTEDIT_K_DOWN   0x10003

Definition at line 2974 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_LEFT

#define STB_TEXTEDIT_K_LEFT   0x10000

Definition at line 2971 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_LINEEND

#define STB_TEXTEDIT_K_LINEEND   0x10005

Definition at line 2976 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_LINESTART

#define STB_TEXTEDIT_K_LINESTART   0x10004

Definition at line 2975 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_REDO

#define STB_TEXTEDIT_K_REDO   0x1000B

Definition at line 2982 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_RIGHT

#define STB_TEXTEDIT_K_RIGHT   0x10001

Definition at line 2972 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_SHIFT

#define STB_TEXTEDIT_K_SHIFT   0x20000

Definition at line 2985 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_TEXTEND

#define STB_TEXTEDIT_K_TEXTEND   0x10007

Definition at line 2978 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_TEXTSTART

#define STB_TEXTEDIT_K_TEXTSTART   0x10006

Definition at line 2977 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_UNDO

#define STB_TEXTEDIT_K_UNDO   0x1000A

Definition at line 2981 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_UP

#define STB_TEXTEDIT_K_UP   0x10002

Definition at line 2973 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_WORDLEFT

#define STB_TEXTEDIT_K_WORDLEFT   0x1000C

Definition at line 2983 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_K_WORDRIGHT

#define STB_TEXTEDIT_K_WORDRIGHT   0x1000D

Definition at line 2984 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_MOVEWORDLEFT

#define STB_TEXTEDIT_MOVEWORDLEFT   STB_TEXTEDIT_MOVEWORDLEFT_IMPL

Definition at line 2921 of file imgui_widgets.cpp.

◆ STB_TEXTEDIT_MOVEWORDRIGHT

#define STB_TEXTEDIT_MOVEWORDRIGHT   STB_TEXTEDIT_MOVEWORDRIGHT_IMPL

Definition at line 2922 of file imgui_widgets.cpp.

Function Documentation

◆ CalcMaxPopupHeightFromItemCount()

static float CalcMaxPopupHeightFromItemCount ( int  items_count)
static

Definition at line 1260 of file imgui_widgets.cpp.

◆ DataTypeApplyOp()

static void DataTypeApplyOp ( ImGuiDataType  data_type,
int  op,
void output,
void arg_1,
const void arg_2 
)
static

Definition at line 1540 of file imgui_widgets.cpp.

◆ DataTypeApplyOpFromText()

static bool DataTypeApplyOpFromText ( const char *  buf,
const char *  initial_value_buf,
ImGuiDataType  data_type,
void data_ptr,
const char *  format 
)
static

Definition at line 1576 of file imgui_widgets.cpp.

◆ DataTypeFormatString()

static int DataTypeFormatString ( char *  buf,
int  buf_size,
ImGuiDataType  data_type,
const void data_ptr,
const char *  format 
)
inlinestatic

Definition at line 1525 of file imgui_widgets.cpp.

◆ GetMinimumStepAtDecimalPrecision()

static float GetMinimumStepAtDecimalPrecision ( int  decimal_precision)
static

Definition at line 1658 of file imgui_widgets.cpp.

◆ IM_STATIC_ASSERT()

IM_STATIC_ASSERT ( IM_ARRAYSIZE(GDataTypeInfo = =ImGuiDataType_COUNT)

◆ ImAlphaBlendColor()

static ImU32 ImAlphaBlendColor ( ImU32  col_a,
ImU32  col_b 
)
inlinestatic

Definition at line 4026 of file imgui_widgets.cpp.

◆ ImAtoi()

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

Definition at line 1667 of file imgui_widgets.cpp.

◆ ImParseFormatFindEnd()

const char* ImParseFormatFindEnd ( const char *  fmt)

Definition at line 2549 of file imgui_widgets.cpp.

◆ ImParseFormatFindStart()

const char* ImParseFormatFindStart ( const char *  fmt)

Definition at line 2536 of file imgui_widgets.cpp.

◆ ImParseFormatPrecision()

int ImParseFormatPrecision ( const char *  fmt,
int  default_precision 
)

Definition at line 2585 of file imgui_widgets.cpp.

◆ ImParseFormatTrimDecorations()

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

Definition at line 2571 of file imgui_widgets.cpp.

◆ InputTextCalcTextLenAndLineCount()

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

Definition at line 2832 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 2846 of file imgui_widgets.cpp.

◆ InputTextFilterCharacter()

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

Definition at line 3058 of file imgui_widgets.cpp.

◆ Items_ArrayGetter()

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

Definition at line 1376 of file imgui_widgets.cpp.

◆ Items_SingleStringGetter()

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

Definition at line 1385 of file imgui_widgets.cpp.

◆ PatchFormatStringFloatToInt()

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

Definition at line 1504 of file imgui_widgets.cpp.

◆ Plot_ArrayGetter()

static float Plot_ArrayGetter ( void data,
int  idx 
)
static

Definition at line 5336 of file imgui_widgets.cpp.

◆ RenderArrowsForVerticalBar()

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

Definition at line 4073 of file imgui_widgets.cpp.

◆ TabBarSortItemComparer()

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

Definition at line 5816 of file imgui_widgets.cpp.

◆ TabItemComparerByVisibleOffset()

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

Definition at line 5809 of file imgui_widgets.cpp.

Variable Documentation

◆ GDataTypeInfo

const ImGuiDataTypeInfo GDataTypeInfo[]
static
Initial value:
=
{
{ 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" },
}
signed long long ImS64
Definition: imgui.h:159
unsigned long long ImU64
Definition: imgui.h:160

Definition at line 1485 of file imgui_widgets.cpp.

◆ IM_S32_MAX

const ImS32 IM_S32_MAX = INT_MAX
static

Definition at line 70 of file imgui_widgets.cpp.

◆ IM_S32_MIN

const ImS32 IM_S32_MIN = INT_MIN
static

Definition at line 69 of file imgui_widgets.cpp.

◆ IM_S64_MAX

const ImS64 IM_S64_MAX = 9223372036854775807LL
static

Definition at line 78 of file imgui_widgets.cpp.

◆ IM_S64_MIN

const ImS64 IM_S64_MIN = -9223372036854775807LL - 1
static

Definition at line 77 of file imgui_widgets.cpp.

◆ IM_U32_MAX

const ImU32 IM_U32_MAX = UINT_MAX
static

Definition at line 72 of file imgui_widgets.cpp.

◆ IM_U32_MIN

const ImU32 IM_U32_MIN = 0
static

Definition at line 71 of file imgui_widgets.cpp.

◆ IM_U64_MAX

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

Definition at line 84 of file imgui_widgets.cpp.

◆ IM_U64_MIN

const ImU64 IM_U64_MIN = 0
static

Definition at line 80 of file imgui_widgets.cpp.



mvsim
Author(s):
autogenerated on Tue Jul 4 2023 03:08:22