19 #define IM_ASSERT(_EXPR) assert(_EXPR)
36 typedef unsigned int ImU32;
54 ImVec2(
float _x,
float _y) { x = _x; y = _y; }
56 #ifdef IM_VEC2_CLASS_EXTRA
65 ImVec4(
float _x,
float _y,
float _z,
float _w) { x = _x; y = _y; z = _z; w = _w; }
67 #ifdef IM_VEC4_CLASS_EXTRA
96 ImVector() { Size = Capacity = 0; Data = NULL; }
99 inline bool empty()
const {
return Size == 0; }
103 inline value_type&
at(
size_t i) {
IM_ASSERT(i < Size);
return Data[i]; }
104 inline const value_type&
at(
size_t i)
const {
IM_ASSERT(i < Size);
return Data[i]; }
112 inline const_iterator
end()
const {
return Data +
Size; }
116 inline const value_type&
back()
const {
IM_ASSERT(Size > 0);
return Data[Size-1]; }
119 inline void resize(
size_t new_size) {
if (new_size > Capacity)
reserve(new_size); Size = new_size; }
122 if (new_capacity <= Capacity)
return;
123 T* new_data = (value_type*)
ImGui::MemAlloc(new_capacity *
sizeof(value_type));
124 memcpy(new_data, Data, Size *
sizeof(value_type));
127 Capacity = new_capacity;
130 inline void push_back(
const value_type& v) {
if (Size == Capacity)
reserve(Capacity ? Capacity * 2 : 4); Data[Size++] = v; }
133 inline iterator
erase(const_iterator it) {
IM_ASSERT(it >=
begin() && it <
end());
const ptrdiff_t off = it -
begin(); memmove(Data + off, Data + off + 1, (Size - (
size_t)off - 1) *
sizeof(value_type)); Size--;
return Data + off; }
134 inline iterator
insert(const_iterator it,
const value_type& v) {
IM_ASSERT(it >=
begin() && it <=
end());
const ptrdiff_t off = it -
begin();
if (Size == Capacity)
reserve(Capacity ? Capacity * 2 : 4);
if (off < (
int)Size) memmove(Data + off + 1, Data + off, (Size - (
size_t)off) *
sizeof(value_type)); Data[off] = v; Size++;
return Data + off; }
136 #endif // #ifndef ImVector
228 IMGUI_API void Columns(
int count = 1,
const char*
id = NULL,
bool border=
true);
273 IMGUI_API void Image(
ImTextureID user_texture_id,
const ImVec2& size,
const ImVec2& uv0 =
ImVec2(0,0),
const ImVec2& uv1 =
ImVec2(1,1),
const ImVec4& tint_col =
ImVec4(1,1,1,1),
const ImVec4& border_col =
ImVec4(0,0,0,0));
274 IMGUI_API bool ImageButton(
ImTextureID user_texture_id,
const ImVec2& size,
const ImVec2& uv0 =
ImVec2(0,0),
const ImVec2& uv1 =
ImVec2(1,1),
int frame_padding = -1,
const ImVec4& bg_col =
ImVec4(0,0,0,1),
const ImVec4& tint_col =
ImVec4(1,1,1,1));
275 IMGUI_API bool CollapsingHeader(
const char* label,
const char* str_id = NULL,
bool display_frame =
true,
bool default_open =
false);
276 IMGUI_API bool SliderFloat(
const char* label,
float* v,
float v_min,
float v_max,
const char* display_format =
"%.3f",
float power = 1.0f);
277 IMGUI_API bool SliderFloat2(
const char* label,
float v[2],
float v_min,
float v_max,
const char* display_format =
"%.3f",
float power = 1.0f);
278 IMGUI_API bool SliderFloat3(
const char* label,
float v[3],
float v_min,
float v_max,
const char* display_format =
"%.3f",
float power = 1.0f);
279 IMGUI_API bool SliderFloat4(
const char* label,
float v[4],
float v_min,
float v_max,
const char* display_format =
"%.3f",
float power = 1.0f);
280 IMGUI_API bool SliderAngle(
const char* label,
float* v,
float v_degrees_min = -360.0f,
float v_degrees_max = +360.0f);
281 IMGUI_API bool SliderInt(
const char* label,
int* v,
int v_min,
int v_max,
const char* display_format =
"%.0f");
282 IMGUI_API bool SliderInt2(
const char* label,
int v[2],
int v_min,
int v_max,
const char* display_format =
"%.0f");
283 IMGUI_API bool SliderInt3(
const char* label,
int v[3],
int v_min,
int v_max,
const char* display_format =
"%.0f");
284 IMGUI_API bool SliderInt4(
const char* label,
int v[4],
int v_min,
int v_max,
const char* display_format =
"%.0f");
285 IMGUI_API void PlotLines(
const char* label,
const float* values,
int values_count,
int values_offset = 0,
const char* overlay_text = NULL,
float scale_min = FLT_MAX,
float scale_max = FLT_MAX,
ImVec2 graph_size =
ImVec2(0,0),
size_t stride =
sizeof(
float));
286 IMGUI_API void PlotLines(
const char* label,
float (*values_getter)(
void* data,
int idx),
void* data,
int values_count,
int values_offset = 0,
const char* overlay_text = NULL,
float scale_min = FLT_MAX,
float scale_max = FLT_MAX,
ImVec2 graph_size =
ImVec2(0,0));
287 IMGUI_API void PlotHistogram(
const char* label,
const float* values,
int values_count,
int values_offset = 0,
const char* overlay_text = NULL,
float scale_min = FLT_MAX,
float scale_max = FLT_MAX,
ImVec2 graph_size =
ImVec2(0,0),
size_t stride =
sizeof(
float));
288 IMGUI_API void PlotHistogram(
const char* label,
float (*values_getter)(
void* data,
int idx),
void* data,
int values_count,
int values_offset = 0,
const char* overlay_text = NULL,
float scale_min = FLT_MAX,
float scale_max = FLT_MAX,
ImVec2 graph_size =
ImVec2(0,0));
299 IMGUI_API bool Combo(
const char* label,
int* current_item,
const char** items,
int items_count,
int height_in_items = -1);
300 IMGUI_API bool Combo(
const char* label,
int* current_item,
const char* items_separated_by_zeros,
int height_in_items = -1);
301 IMGUI_API bool Combo(
const char* label,
int* current_item,
bool (*items_getter)(
void* data,
int idx,
const char** out_text),
void* data,
int items_count,
int height_in_items = -1);
321 IMGUI_API bool ListBox(
const char* label,
int* current_item,
const char** items,
int items_count,
int height_in_items = -1);
322 IMGUI_API bool ListBox(
const char* label,
int* current_item,
bool (*items_getter)(
void* data,
int idx,
const char** out_text),
void* data,
int items_count,
int height_in_items = -1);
331 IMGUI_API void Value(
const char* prefix,
float v,
const char* float_format = NULL);
361 IMGUI_API ImVec2 CalcTextSize(
const char* text,
const char* text_end = NULL,
bool hide_text_after_double_hash =
false,
float wrap_width = -1.0f);
362 IMGUI_API void CalcListClipping(
int items_count,
float items_height,
int* out_items_display_start,
int* out_items_display_end);
578 const char* (*GetClipboardTextFn)();
583 void* (*MemAllocFn)(
size_t sz);
644 #define IMGUI_ONCE_UPON_A_FRAME static ImGuiOnceUponAFrame imgui_oaf##__LINE__; if (imgui_oaf##__LINE__)
649 operator bool()
const {
const int current_frame =
ImGui::GetFrameCount();
if (RefFrame == current_frame)
return false; RefFrame = current_frame;
return true; }
661 TextRange(
const char* _b,
const char* _e) { b = _b; e = _e; }
663 const char*
end()
const {
return e; }
666 static bool isblank(
char c) {
return c ==
' ' || c ==
'\t'; }
677 void Draw(
const char* label =
"Filter (inc,-exc)",
float width = -1.0f);
691 const char*
end()
const {
return &Buf.
back(); }
712 union {
int val_i;
float val_f;
void* val_p; };
763 void InsertChars(
int pos,
const char* text,
const char* text_end = NULL);
772 ImColor(
int r,
int g,
int b,
int a = 255) { Value.
x = (float)r / 255.0f; Value.
y = (float)g / 255.0f; Value.
z = (float)b / 255.0f; Value.
w = (float)a / 255.0f; }
773 ImColor(
float r,
float g,
float b,
float a = 1.0f) { Value.
x = r; Value.
y = g; Value.
z = b; Value.
w = a; }
778 static ImColor HSV(
float h,
float s,
float v,
float a = 1.0f) {
float r,g,b;
ImGui::ColorConvertHSVtoRGB(h, s, v, r, g, b);
return ImColor(r,g,b,a); }
808 #ifndef IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT
819 IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT;
854 IMGUI_API void AddText(
ImFont* font,
float font_size,
const ImVec2& pos,
ImU32 col,
const char* text_begin,
const char* text_end = NULL,
float wrap_width = 0.0f,
const ImVec2* cpu_clip_max = NULL);
915 struct ImFontAtlasData;
960 IMGUI_API ImVec2 CalcTextSizeA(
float size,
float max_width,
float wrap_width,
const char* text_begin,
const char* text_end = NULL,
const char** remaining = NULL)
const;
969 #ifdef IMGUI_INCLUDE_IMGUI_USER_H
IMGUI_API void PlotHistogram(const char *label, const float *values, int values_count, int values_offset=0, const char *overlay_text=NULL, float scale_min=FLT_MAX, float scale_max=FLT_MAX, ImVec2 graph_size=ImVec2(0, 0), size_t stride=sizeof(float))
Pair(ImGuiID _key, float _val_f)
IMGUI_API void SetNextWindowFocus()
IMGUI_API bool RadioButton(const char *label, bool active)
IMGUI_API void SetWindowFocus()
IMGUI_API void PopItemWidth()
IMGUI_API void GetTexDataAsAlpha8(unsigned char **out_pixels, int *out_width, int *out_height, int *out_bytes_per_pixel=NULL)
IMGUI_API ImVec2 GetWindowSize()
IMGUI_API void BeginTooltip()
IMGUI_API int GetInt(ImGuiID key, int default_val=0) const
IMGUI_API bool Checkbox(const char *label, bool *v)
IMGUI_API void TextWrappedV(const char *fmt, va_list args)
IMGUI_API bool CollapsingHeader(const char *label, const char *str_id=NULL, bool display_frame=true, bool default_open=false)
TextRange(const char *_b, const char *_e)
IMGUI_API bool IsMouseHoveringBox(const ImVec2 &box_min, const ImVec2 &box_max)
float ChildWindowRounding
IMGUI_API void ClearInputData()
IMGUI_API void PushTextureID(const ImTextureID &texture_id)
ImColor(const ImVec4 &col)
IMGUI_API void appendv(const char *fmt, va_list args)
IMGUI_API void SetWindowPos(const ImVec2 &pos, ImGuiSetCond cond=0)
ImVector< TextRange > Filters
IMGUI_API void PopTextureID()
IMGUI_API void SetCursorPos(const ImVec2 &pos)
IMGUI_API void SetNextTreeNodeOpened(bool opened, ImGuiSetCond cond=0)
void(* ImDrawCallback)(const ImDrawList *parent_list, const ImDrawCmd *cmd)
IMGUI_API void PopStyleColor(int count=1)
IMGUI_API void ColorConvertHSVtoRGB(float h, float s, float v, float &out_r, float &out_g, float &out_b)
IMGUI_API void CalcListClipping(int items_count, float items_height, int *out_items_display_start, int *out_items_display_end)
IMGUI_API void SetWindowCollapsed(bool collapsed, ImGuiSetCond cond=0)
bool FontAllowUserScaling
IMGUI_API void SetFallbackChar(ImWchar c)
IMGUI_API void NextColumn()
const char * begin() const
IMGUI_API bool IsMouseHoveringAnyWindow()
IMGUI_API ImVec2 GetCursorPos()
IMGUI_API void split(char separator, ImVector< TextRange > &out)
IMGUI_API void GetTexDataAsRGBA32(unsigned char **out_pixels, int *out_width, int *out_height, int *out_bytes_per_pixel=NULL)
IMGUI_API bool ColorEdit3(const char *label, float col[3])
const value_type & operator[](size_t i) const
IMGUI_API void SetColumnOffset(int column_index, float offset_x)
IMGUI_API const char * CalcWordWrapPositionA(float scale, const char *text, const char *text_end, float wrap_width) const
IMGUI_API void LogToTTY(int max_depth=-1)
IMGUI_API bool IsMouseClicked(int button, bool repeat=false)
IMGUI_API float GetTextLineHeight()
IMGUI_API void AddRect(const ImVec2 &a, const ImVec2 &b, ImU32 col, float rounding=0.0f, int rounding_corners=0x0F)
IMGUI_API void SetTexID(void *id)
IMGUI_API void TextWrapped(const char *fmt,...)
IMGUI_API void * GetInternalState()
IMGUI_API bool SliderFloat2(const char *label, float v[2], float v_min, float v_max, const char *display_format="%.3f", float power=1.0f)
IMGUI_API void SetTooltipV(const char *fmt, va_list args)
void(* SetClipboardTextFn)(const char *text)
IMGUI_API float GetCursorPosY()
IMGUI_API void ListBoxFooter()
IMGUI_API bool SliderInt2(const char *label, int v[2], int v_min, int v_max, const char *display_format="%.0f")
IMGUI_API bool TreeNodeV(const char *str_id, const char *fmt, va_list args)
IMGUI_API float CalcItemWidth()
IMGUI_API ImVec2 GetMousePos()
ImVec2 MouseClickedPos[5]
IMGUI_API void TreePush(const char *str_id=NULL)
int(* ImGuiTextEditCallback)(ImGuiTextEditCallbackData *data)
IMGUI_API bool SliderFloat(const char *label, float *v, float v_min, float v_max, const char *display_format="%.3f", float power=1.0f)
IMGUI_API const ImWchar * GetGlyphRangesJapanese()
const char * begin() const
IMGUI_API void BeginChildFrame(ImGuiID id, const ImVec2 &size)
IMGUI_API void SetCursorPosX(float x)
IMGUI_API bool IsAnyItemActive()
IMGUI_API bool IsMouseHoveringWindow()
IMGUI_API void SetInternalState(void *state, bool construct=false)
static void OpenNextNode(bool open)
IMGUI_API void Shutdown()
IMGUI_API void PushClipRect(const ImVec4 &clip_rect)
const value_type & at(size_t i) const
IMGUI_API void SetNextWindowPos(const ImVec2 &pos, ImGuiSetCond cond=0)
IMGUI_API ImVec2 GetContentRegionMax()
#define IM_VEC2_CLASS_EXTRA
IMGUI_API bool InputFloat4(const char *label, float v[4], int decimal_precision=-1)
IMGUI_API void PopStyleVar(int count=1)
float MouseClickedTime[5]
IMGUI_API void ColorConvertRGBtoHSV(float r, float g, float b, float &out_h, float &out_s, float &out_v)
IMGUI_API void SetCursorPosY(float y)
IMGUI_API void LogText(const char *fmt,...)
IMGUI_API ImFont * AddFontDefault()
IMGUI_API void TextColoredV(const ImVec4 &col, const char *fmt, va_list args)
ImColor(float r, float g, float b, float a=1.0f)
IMGUI_API bool SmallButton(const char *label)
float MouseDoubleClickTime
void(* MemFreeFn)(void *ptr)
void * user_callback_data
IMGUI_API ImFont * GetWindowFont()
IMGUI_API ImVec2 GetWindowContentRegionMax()
IMGUI_API size_t GetInternalStateSize()
IMGUI_API bool CheckboxFlags(const char *label, unsigned int *flags, unsigned int flags_value)
ImVector< ImVec4 > clip_rect_stack
IMGUI_API bool IsClipped(const ImVec2 &item_size)
IMGUI_API ImVec2 GetWindowContentRegionMin()
IMGUI_API void Color(const char *prefix, const ImVec4 &v)
ImGuiInputTextFlags Flags
ImVec2(float _x, float _y)
IMGUI_API float GetTextLineHeightWithSpacing()
IMGUI_API int GetFrameCount()
IMGUI_API void * GetVoidPtr(ImGuiID key) const
IMGUI_API bool InputFloat2(const char *label, float v[2], int decimal_precision=-1)
IMGUI_API bool IsPosHoveringAnyWindow(const ImVec2 &pos)
IMGUI_API void AddText(ImFont *font, float font_size, const ImVec2 &pos, ImU32 col, const char *text_begin, const char *text_end=NULL, float wrap_width=0.0f, const ImVec2 *cpu_clip_max=NULL)
IMGUI_API float GetCursorPosX()
IMGUI_API float GetColumnOffset(int column_index=-1)
#define IM_VEC4_CLASS_EXTRA
IMGUI_API bool ColorEdit4(const char *label, float col[4], bool show_alpha=true)
ImVector< ImTextureID > texture_id_stack
IMGUI_API bool ColorButton(const ImVec4 &col, bool small_height=false, bool outline_border=true)
IMGUI_API bool InvisibleButton(const char *str_id, const ImVec2 &size)
IMGUI_API void AddRectFilled(const ImVec2 &a, const ImVec2 &b, ImU32 col, float rounding=0.0f, int rounding_corners=0x0F)
IMGUI_API void TextColored(const ImVec4 &col, const char *fmt,...)
IMGUI_API bool GetWindowCollapsed()
IMGUI_API bool InputFloat(const char *label, float *v, float step=0.0f, float step_fast=0.0f, int decimal_precision=-1, ImGuiInputTextFlags extra_flags=0)
IMGUI_API void AlignFirstTextHeightToWidgets()
IMGUI_API ImDrawList * GetWindowDrawList()
IMGUI_API void GetDefaultFontData(const void **fnt_data, unsigned int *fnt_size, const void **png_data, unsigned int *png_size)
IMGUI_API float GetScrollPosY()
IMGUI_API bool IsLoaded() const
IMGUI_API bool ListBox(const char *label, int *current_item, const char **items, int items_count, int height_in_items=-1)
IMGUI_API void ColorEditMode(ImGuiColorEditMode mode)
IMGUI_API bool InputText(const char *label, char *buf, size_t buf_size, ImGuiInputTextFlags flags=0, ImGuiTextEditCallback callback=NULL, void *user_data=NULL)
void DeleteChars(int pos, int bytes_count)
IMGUI_API void PushStyleVar(ImGuiStyleVar idx, float val)
Pair(ImGuiID _key, void *_val_p)
IMGUI_API ImFont * AddFontFromFileTTF(const char *filename, float size_pixels, const ImWchar *glyph_ranges=NULL, int font_no=0)
IMGUI_API bool Button(const char *label, const ImVec2 &size=ImVec2(0, 0), bool repeat_when_held=false)
IMGUI_API void PopTextWrapPos()
IMGUI_API void SetKeyboardFocusHere(int offset=0)
IMGUI_API bool IsItemActive()
IMGUI_API int * GetIntRef(ImGuiID key, int default_val=0)
IMGUI_API void AddVtx(const ImVec2 &pos, ImU32 col)
IMGUI_API ImVec2 GetCursorScreenPos()
unsigned int * TexPixelsRGBA32
IMGUI_API void SetWindowFontScale(float scale)
IMGUI_API ImVec2 CalcTextSizeW(float size, float max_width, const ImWchar *text_begin, const ImWchar *text_end, const ImWchar **remaining=NULL) const
IMGUI_API bool ImageButton(ImTextureID user_texture_id, const ImVec2 &size, const ImVec2 &uv0=ImVec2(0, 0), const ImVec2 &uv1=ImVec2(1, 1), int frame_padding=-1, const ImVec4 &bg_col=ImVec4(0, 0, 0, 1), const ImVec4 &tint_col=ImVec4(1, 1, 1, 1))
void(* RenderDrawListsFn)(ImDrawList **const draw_lists, int count)
IMGUI_API float GetFloat(ImGuiID key, float default_val=0.0f) const
IMGUI_API ImVec2 GetItemBoxMin()
IMGUI_API void ClearTexData()
void push_back(const value_type &v)
IMGUI_API void PopAllowKeyboardFocus()
ImVector< ImDrawCmd > commands
IMGUI_API float GetColumnWidth(int column_index=-1)
IMGUI_API bool SliderFloat3(const char *label, float v[3], float v_min, float v_max, const char *display_format="%.3f", float power=1.0f)
IMGUI_API bool SliderFloat4(const char *label, float v[4], float v_min, float v_max, const char *display_format="%.3f", float power=1.0f)
IMGUI_API void AddCircleFilled(const ImVec2 ¢re, float radius, ImU32 col, int num_segments=12)
Pair(ImGuiID _key, int _val_i)
IMGUI_API void SetCursorScreenPos(const ImVec2 &pos)
IMGUI_API void SetNextWindowSize(const ImVec2 &size, ImGuiSetCond cond=0)
IMGUI_API ImGuiIO & GetIO()
ImDrawCallback user_callback
IMGUI_API void EndTooltip()
IMGUI_API void AddCircle(const ImVec2 ¢re, float radius, ImU32 col, int num_segments=12)
IMGUI_API void AddDrawCmd()
IMGUI_API void BulletText(const char *fmt,...)
ImWchar InputCharacters[16+1]
const value_type * const_iterator
iterator insert(const_iterator it, const value_type &v)
IMGUI_API bool GetWindowIsFocused()
IMGUI_API void SetAllInt(int val)
const_iterator end() const
static bool isblank(char c)
IMGUI_API void PopClipRect()
IMGUI_API void SetNextWindowCollapsed(bool collapsed, ImGuiSetCond cond=0)
IMGUI_API void PushFont(ImFont *font)
IMGUI_API const ImWchar * GetGlyphRangesChinese()
float WindowFillAlphaDefault
IMGUI_API ImGuiStyle & GetStyle()
IMGUI_API void SetTooltip(const char *fmt,...)
IMGUI_API void PushAllowKeyboardFocus(bool v)
IMGUI_API void Columns(int count=1, const char *id=NULL, bool border=true)
IMGUI_API void AddArc(const ImVec2 ¢er, float rad, ImU32 col, int a_min, int a_max, bool tris=false, const ImVec2 &third_point_offset=ImVec2(0, 0))
IMGUI_API void SetInt(ImGuiID key, int val)
IMGUI_API void BuildLookupTable()
IMGUI_API void RenderCustomTexData()
IMGUI_API void AddCallback(ImDrawCallback callback, void *callback_data)
IMGUI_API void SameLine(int column_x=0, int spacing_w=-1)
IMGUI_API void ShowStyleEditor(ImGuiStyle *ref=NULL)
IMGUI_API void LogButtons()
IMGUI_API void EndChild()
IMGUI_API bool IsItemHovered()
IMGUI_API void MemFree(void *ptr)
IMGUI_API void SetFloat(ImGuiID key, float val)
IMGUI_API void PushTextWrapPos(float wrap_pos_x=0.0f)
value_type & at(size_t i)
IMGUI_API int GetColumnsCount()
IMGUI_API float * GetFloatRef(ImGuiID key, float default_val=0)
IMGUI_API void ShowUserGuide()
IMGUI_API ImU32 ColorConvertFloat4ToU32(const ImVec4 &in)
ImVector< ImDrawVert > vtx_buffer
IMGUI_API void SetVoidPtr(ImGuiID key, void *val)
ImFontAtlas * ContainerAtlas
IMGUI_API void UpdateClipRect()
ImVec4 Colors[ImGuiCol_COUNT]
IMGUI_API ImVec2 CalcTextSize(const char *text, const char *text_end=NULL, bool hide_text_after_double_hash=false, float wrap_width=-1.0f)
const value_type & back() const
void reserve(size_t new_capacity)
ImVector< ImFont * > Fonts
value_type & operator[](size_t i)
ImVector< int > IndexLookup
IMGUI_API void AddVtxUV(const ImVec2 &pos, ImU32 col, const ImVec2 &uv)
IMGUI_API bool Combo(const char *label, int *current_item, const char **items, int items_count, int height_in_items=-1)
IMGUI_API void * MemAlloc(size_t sz)
IMGUI_API void AddVtxLine(const ImVec2 &a, const ImVec2 &b, ImU32 col)
IMGUI_API const ImWchar * GetGlyphRangesDefault()
ImVector< float > IndexXAdvance
IMGUI_API void Text(const char *fmt,...)
IMGUI_API void append(const char *fmt,...)
iterator erase(const_iterator it)
static ImColor HSV(float h, float s, float v, float a=1.0f)
IMGUI_API void AddImage(ImTextureID user_texture_id, const ImVec2 &a, const ImVec2 &b, const ImVec2 &uv0, const ImVec2 &uv1, ImU32 col=0xFFFFFFFF)
IMGUI_API bool IsMouseDoubleClicked(int button)
unsigned char * TexPixelsAlpha8
IMGUI_API void SetScrollPosHere()
IMGUI_API int GetColumnIndex()
const_iterator begin() const
void InsertChars(int pos, const char *text, const char *text_end=NULL)
const Glyph * FallbackGlyph
IMGUI_API void RenderText(float size, ImVec2 pos, ImU32 col, const ImVec4 &clip_rect, const char *text_begin, const char *text_end, ImDrawVert *&out_vertices, float wrap_width=0.0f, const ImVec2 *cpu_clip_max=NULL) const
IMGUI_API void SetWindowSize(const ImVec2 &size, ImGuiSetCond cond=0)
IMGUI_API bool Selectable(const char *label, bool selected, const ImVec2 &size=ImVec2(0, 0))
IMGUI_API void Separator()
float MouseDoubleClickMaxDist
IMGUI_API void Image(ImTextureID user_texture_id, const ImVec2 &size, const ImVec2 &uv0=ImVec2(0, 0), const ImVec2 &uv1=ImVec2(1, 1), const ImVec4 &tint_col=ImVec4(1, 1, 1, 1), const ImVec4 &border_col=ImVec4(0, 0, 0, 0))
IMGUI_API ImVec2 GetWindowPos()
IMGUI_API const char * GetStyleColName(ImGuiCol idx)
IMGUI_API bool SliderInt4(const char *label, int v[4], int v_min, int v_max, const char *display_format="%.0f")
const value_type & front() const
IMGUI_API void LogFinish()
IMGUI_API void ReserveVertices(unsigned int vtx_count)
ImGuiTextFilter(const char *default_filter="")
IMGUI_API float GetTime()
ImGuiInputTextFlags EventFlag
IMGUI_API float GetWindowFontSize()
IMGUI_API void TextUnformatted(const char *text, const char *text_end=NULL)
IMGUI_API void EndChildFrame()
void resize(size_t new_size)
IMGUI_API float GetScrollMaxY()
IMGUI_API void LabelTextV(const char *label, const char *fmt, va_list args)
IMGUI_API bool SliderAngle(const char *label, float *v, float v_degrees_min=-360.0f, float v_degrees_max=+360.0f)
IMGUI_API void NewFrame()
bool MouseDoubleClicked[5]
ImVector< ImFontAtlasData * > InputData
ImVec4(float _x, float _y, float _z, float _w)
IMGUI_API void BulletTextV(const char *fmt, va_list args)
IMGUI_API ImVec2 CalcTextSizeA(float size, float max_width, float wrap_width, const char *text_begin, const char *text_end=NULL, const char **remaining=NULL) const
IMGUI_API void LogToClipboard(int max_depth=-1)
IMGUI_API void LabelText(const char *label, const char *fmt,...)
IMGUI_API void LogToFile(int max_depth=-1, const char *filename=NULL)
ImColor(int r, int g, int b, int a=255)
IMGUI_API bool ListBoxHeader(const char *label, const ImVec2 &size=ImVec2(0, 0))
IMGUI_API ImGuiStorage * GetStateStorage()
IMGUI_API ImGuiID GetID(const char *str_id)
IMGUI_API void ShowTestWindow(bool *open=NULL)
IMGUI_API void PlotLines(const char *label, const float *values, int values_count, int values_offset=0, const char *overlay_text=NULL, float scale_min=FLT_MAX, float scale_max=FLT_MAX, ImVec2 graph_size=ImVec2(0, 0), size_t stride=sizeof(float))
IMGUI_API void UpdateTextureID()
IMGUI_API bool InputFloat3(const char *label, float v[3], int decimal_precision=-1)
IMGUI_API void SetStateStorage(ImGuiStorage *tree)
IMGUI_API bool BeginChild(const char *str_id, const ImVec2 &size=ImVec2(0, 0), bool border=false, ImGuiWindowFlags extra_flags=0)
IMGUI_API bool Begin(const char *name="Debug", bool *p_opened=NULL, const ImVec2 &initial_size=ImVec2(0, 0), float bg_alpha=-1.0f, ImGuiWindowFlags flags=0)
bool PassFilter(const char *val) const
IMGUI_API bool SliderInt3(const char *label, int v[3], int v_min, int v_max, const char *display_format="%.0f")
IMGUI_API ImFont * AddFontFromMemoryTTF(void *in_ttf_data, size_t in_ttf_data_size, float size_pixels, const ImWchar *glyph_ranges=NULL, int font_no=0)
IMGUI_API bool InputInt(const char *label, int *v, int step=1, int step_fast=100, ImGuiInputTextFlags extra_flags=0)
IMGUI_API bool IsKeyPressed(int key_index, bool repeat=true)
IMGUI_API void TextV(const char *fmt, va_list args)
IMGUI_API void AddTriangleFilled(const ImVec2 &a, const ImVec2 &b, const ImVec2 &c, ImU32 col)
IMGUI_API void Value(const char *prefix, bool b)
IMGUI_API float GetWindowWidth()
IMGUI_API ImVec2 GetItemBoxMax()
void swap(ImVector< T > &rhs)
IMGUI_API void AddLine(const ImVec2 &a, const ImVec2 &b, ImU32 col)
void Draw(const char *label="Filter (inc,-exc)", float width=-1.0f)
IMGUI_API bool SliderInt(const char *label, int *v, int v_min, int v_max, const char *display_format="%.0f")
IMGUI_API void PushItemWidth(float item_width)
IMGUI_API void AddInputCharacter(ImWchar c)
IMGUI_API const Glyph * FindGlyph(unsigned short c) const
IMGUI_API bool TreeNode(const char *str_label_id)
void(* ImeSetInputScreenPosFn)(int x, int y)
IMGUI_API void PushStyleColor(ImGuiCol idx, const ImVec4 &col)
int KeyMap[ImGuiKey_COUNT]
IMGUI_API void PushID(const char *str_id)