|
|
@ -1,4 +1,4 @@
|
|
|
|
// ImGui library v1.31
|
|
|
|
// ImGui library v1.32
|
|
|
|
// See .cpp file for documentation.
|
|
|
|
// See .cpp file for documentation.
|
|
|
|
// See ImGui::ShowTestWindow() for sample code.
|
|
|
|
// See ImGui::ShowTestWindow() for sample code.
|
|
|
|
// Read 'Programmer guide' in .cpp for notes on how to setup ImGui in your codebase.
|
|
|
|
// Read 'Programmer guide' in .cpp for notes on how to setup ImGui in your codebase.
|
|
|
@ -44,6 +44,7 @@ typedef int ImGuiWindowFlags; // enum ImGuiWindowFlags_
|
|
|
|
typedef int ImGuiSetCondition; // enum ImGuiSetCondition_
|
|
|
|
typedef int ImGuiSetCondition; // enum ImGuiSetCondition_
|
|
|
|
typedef int ImGuiInputTextFlags; // enum ImGuiInputTextFlags_
|
|
|
|
typedef int ImGuiInputTextFlags; // enum ImGuiInputTextFlags_
|
|
|
|
struct ImGuiTextEditCallbackData; // for advanced uses of InputText()
|
|
|
|
struct ImGuiTextEditCallbackData; // for advanced uses of InputText()
|
|
|
|
|
|
|
|
typedef int (*ImGuiTextEditCallback)(ImGuiTextEditCallbackData *data);
|
|
|
|
|
|
|
|
|
|
|
|
struct ImVec2
|
|
|
|
struct ImVec2
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -159,10 +160,11 @@ namespace ImGui
|
|
|
|
IMGUI_API bool Begin(const char* name = "Debug", bool* p_opened = NULL, ImVec2 size = ImVec2(0,0), float fill_alpha = -1.0f, ImGuiWindowFlags flags = 0);// return false when window is collapsed, so you can early out in your code. passing 'bool* p_opened' displays a Close button on the upper-right corner of the window, the pointed value will be set to false when the button is pressed.
|
|
|
|
IMGUI_API bool Begin(const char* name = "Debug", bool* p_opened = NULL, ImVec2 size = ImVec2(0,0), float fill_alpha = -1.0f, ImGuiWindowFlags flags = 0);// return false when window is collapsed, so you can early out in your code. passing 'bool* p_opened' displays a Close button on the upper-right corner of the window, the pointed value will be set to false when the button is pressed.
|
|
|
|
IMGUI_API void End();
|
|
|
|
IMGUI_API void End();
|
|
|
|
IMGUI_API void BeginChild(const char* str_id, ImVec2 size = ImVec2(0,0), bool border = false, ImGuiWindowFlags extra_flags = 0); // size==0.0f: use remaining window size, size<0.0f: use remaining window size minus abs(size). on each axis.
|
|
|
|
IMGUI_API void BeginChild(const char* str_id, ImVec2 size = ImVec2(0,0), bool border = false, ImGuiWindowFlags extra_flags = 0); // size==0.0f: use remaining window size, size<0.0f: use remaining window size minus abs(size). on each axis.
|
|
|
|
|
|
|
|
IMGUI_API void BeginChild(ImGuiID id, ImVec2 size = ImVec2(0,0), bool border = false, ImGuiWindowFlags extra_flags = 0); // "
|
|
|
|
IMGUI_API void EndChild();
|
|
|
|
IMGUI_API void EndChild();
|
|
|
|
IMGUI_API bool GetWindowIsFocused();
|
|
|
|
IMGUI_API bool GetWindowIsFocused();
|
|
|
|
IMGUI_API ImVec2 GetContentRegionMax(); // window or current column boundaries
|
|
|
|
IMGUI_API ImVec2 GetContentRegionMax(); // window or current column boundaries, in windows coordinates
|
|
|
|
IMGUI_API ImVec2 GetWindowContentRegionMin(); // window boundaries
|
|
|
|
IMGUI_API ImVec2 GetWindowContentRegionMin(); // window boundaries, in windows coordinates
|
|
|
|
IMGUI_API ImVec2 GetWindowContentRegionMax();
|
|
|
|
IMGUI_API ImVec2 GetWindowContentRegionMax();
|
|
|
|
IMGUI_API ImDrawList* GetWindowDrawList(); // get rendering command-list if you want to append your own draw primitives.
|
|
|
|
IMGUI_API ImDrawList* GetWindowDrawList(); // get rendering command-list if you want to append your own draw primitives.
|
|
|
|
IMGUI_API ImFont* GetWindowFont();
|
|
|
|
IMGUI_API ImFont* GetWindowFont();
|
|
|
@ -194,9 +196,9 @@ namespace ImGui
|
|
|
|
IMGUI_API void PopStyleVar(int count = 1);
|
|
|
|
IMGUI_API void PopStyleVar(int count = 1);
|
|
|
|
|
|
|
|
|
|
|
|
// Parameters stacks (current window)
|
|
|
|
// Parameters stacks (current window)
|
|
|
|
IMGUI_API void PushItemWidth(float item_width); // width of items for the common item+label case. default to ~2/3 of windows width.
|
|
|
|
IMGUI_API void PushItemWidth(float item_width); // width of items for the common item+label case, pixels. 0.0f = default to ~2/3 of windows width, >0.0f: width in pixels, <0.0f align xx pixels to the right of window (so -0.01f always align width to the right side)
|
|
|
|
IMGUI_API void PopItemWidth();
|
|
|
|
IMGUI_API void PopItemWidth();
|
|
|
|
IMGUI_API float GetItemWidth();
|
|
|
|
IMGUI_API float CalcItemWidth(); // width of item given pushed settings and current cursor position
|
|
|
|
IMGUI_API void PushAllowKeyboardFocus(bool v); // allow focusing using TAB/Shift-TAB, enabled by default but you can disable it for certain widgets.
|
|
|
|
IMGUI_API void PushAllowKeyboardFocus(bool v); // allow focusing using TAB/Shift-TAB, enabled by default but you can disable it for certain widgets.
|
|
|
|
IMGUI_API void PopAllowKeyboardFocus();
|
|
|
|
IMGUI_API void PopAllowKeyboardFocus();
|
|
|
|
IMGUI_API void PushTextWrapPos(float wrap_pos_x = 0.0f); // word-wrapping for Text*() commands. < 0.0f: no wrapping; 0.0f: wrap to end of window (or column); > 0.0f: wrap at 'wrap_pos_x' position in window local space.
|
|
|
|
IMGUI_API void PushTextWrapPos(float wrap_pos_x = 0.0f); // word-wrapping for Text*() commands. < 0.0f: no wrapping; 0.0f: wrap to end of window (or column); > 0.0f: wrap at 'wrap_pos_x' position in window local space.
|
|
|
@ -274,15 +276,15 @@ namespace ImGui
|
|
|
|
IMGUI_API bool CheckboxFlags(const char* label, unsigned int* flags, unsigned int flags_value);
|
|
|
|
IMGUI_API bool CheckboxFlags(const char* label, unsigned int* flags, unsigned int flags_value);
|
|
|
|
IMGUI_API bool RadioButton(const char* label, bool active);
|
|
|
|
IMGUI_API bool RadioButton(const char* label, bool active);
|
|
|
|
IMGUI_API bool RadioButton(const char* label, int* v, int v_button);
|
|
|
|
IMGUI_API bool RadioButton(const char* label, int* v, int v_button);
|
|
|
|
IMGUI_API bool InputText(const char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags = 0, void (*callback)(ImGuiTextEditCallbackData*) = NULL, void* user_data = NULL);
|
|
|
|
IMGUI_API bool InputText(const char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags = 0, ImGuiTextEditCallback callback = NULL, void* user_data = NULL);
|
|
|
|
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 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 bool InputFloat2(const char* label, float v[2], int decimal_precision = -1);
|
|
|
|
IMGUI_API bool InputFloat2(const char* label, float v[2], int decimal_precision = -1);
|
|
|
|
IMGUI_API bool InputFloat3(const char* label, float v[3], int decimal_precision = -1);
|
|
|
|
IMGUI_API bool InputFloat3(const char* label, float v[3], int decimal_precision = -1);
|
|
|
|
IMGUI_API bool InputFloat4(const char* label, float v[4], int decimal_precision = -1);
|
|
|
|
IMGUI_API bool InputFloat4(const char* label, float v[4], int decimal_precision = -1);
|
|
|
|
IMGUI_API bool InputInt(const char* label, int* v, int step = 1, int step_fast = 100, ImGuiInputTextFlags extra_flags = 0);
|
|
|
|
IMGUI_API bool InputInt(const char* label, int* v, int step = 1, int step_fast = 100, ImGuiInputTextFlags extra_flags = 0);
|
|
|
|
IMGUI_API bool Combo(const char* label, int* current_item, const char** items, int items_count, int popup_height_items = 7);
|
|
|
|
IMGUI_API bool Combo(const char* label, int* current_item, const char** items, int items_count, int height_in_items = -1);
|
|
|
|
IMGUI_API bool Combo(const char* label, int* current_item, const char* items_separated_by_zeros, int popup_height_items = 7); // separate items with \0, end item-list with \0\0
|
|
|
|
IMGUI_API bool Combo(const char* label, int* current_item, const char* items_separated_by_zeros, int height_in_items = -1); // separate items with \0, end item-list with \0\0
|
|
|
|
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 popup_height_items = 7);
|
|
|
|
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);
|
|
|
|
IMGUI_API bool ColorButton(const ImVec4& col, bool small_height = false, bool outline_border = true);
|
|
|
|
IMGUI_API bool ColorButton(const ImVec4& col, bool small_height = false, bool outline_border = true);
|
|
|
|
IMGUI_API bool ColorEdit3(const char* label, float col[3]);
|
|
|
|
IMGUI_API bool ColorEdit3(const char* label, float col[3]);
|
|
|
|
IMGUI_API bool ColorEdit4(const char* label, float col[4], bool show_alpha = true);
|
|
|
|
IMGUI_API bool ColorEdit4(const char* label, float col[4], bool show_alpha = true);
|
|
|
@ -297,6 +299,15 @@ namespace ImGui
|
|
|
|
IMGUI_API void TreePop();
|
|
|
|
IMGUI_API void TreePop();
|
|
|
|
IMGUI_API void OpenNextNode(bool open); // force open/close the next TreeNode or CollapsingHeader
|
|
|
|
IMGUI_API void OpenNextNode(bool open); // force open/close the next TreeNode or CollapsingHeader
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Selectable / Lists
|
|
|
|
|
|
|
|
IMGUI_API bool Selectable(const char* label, bool selected, const ImVec2& size = ImVec2(0,0));
|
|
|
|
|
|
|
|
IMGUI_API bool Selectable(const char* label, bool* p_selected, const ImVec2& size = ImVec2(0,0));
|
|
|
|
|
|
|
|
IMGUI_API bool ListBox(const char* label, int* current_item, const char** items, int items_count, int height_in_items = -1);
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
IMGUI_API bool ListBoxHeader(const char* label, const ImVec2& size = ImVec2(0,0)); // use if you want to reimplement ListBox() will custom data or interactions. make sure to call ListBoxFooter() afterwards.
|
|
|
|
|
|
|
|
IMGUI_API bool ListBoxHeader(const char* label, int items_count, int height_in_items = -1); // "
|
|
|
|
|
|
|
|
IMGUI_API void ListBoxFooter(); // terminate the scrolling region
|
|
|
|
|
|
|
|
|
|
|
|
// Value() Helpers: output single value in "name: value" format. Tip: freely declare your own within the ImGui namespace!
|
|
|
|
// Value() Helpers: output single value in "name: value" format. Tip: freely declare your own within the ImGui namespace!
|
|
|
|
IMGUI_API void Value(const char* prefix, bool b);
|
|
|
|
IMGUI_API void Value(const char* prefix, bool b);
|
|
|
|
IMGUI_API void Value(const char* prefix, int v);
|
|
|
|
IMGUI_API void Value(const char* prefix, int v);
|
|
|
@ -333,6 +344,9 @@ namespace ImGui
|
|
|
|
IMGUI_API ImVec2 CalcTextSize(const char* text, const char* text_end = NULL, bool hide_text_after_double_hash = false, float wrap_width = -1.0f);
|
|
|
|
IMGUI_API ImVec2 CalcTextSize(const char* text, const char* text_end = NULL, bool hide_text_after_double_hash = false, float wrap_width = -1.0f);
|
|
|
|
IMGUI_API void CalcListClipping(int items_count, float items_height, int* out_items_display_start, int* out_items_display_end); // helper to manually clip large list of items. see comments in implementation.
|
|
|
|
IMGUI_API void CalcListClipping(int items_count, float items_height, int* out_items_display_start, int* out_items_display_end); // helper to manually clip large list of items. see comments in implementation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IMGUI_API void BeginChildFrame(ImGuiID id, const ImVec2& size); // helper to create a child window / scrolling region that looks like a normal widget frame.
|
|
|
|
|
|
|
|
IMGUI_API void EndChildFrame();
|
|
|
|
|
|
|
|
|
|
|
|
IMGUI_API ImU32 ColorConvertFloat4ToU32(const ImVec4& in);
|
|
|
|
IMGUI_API ImU32 ColorConvertFloat4ToU32(const ImVec4& in);
|
|
|
|
IMGUI_API void ColorConvertRGBtoHSV(float r, float g, float b, float& out_h, float& out_s, float& out_v);
|
|
|
|
IMGUI_API void ColorConvertRGBtoHSV(float r, float g, float b, float& out_h, float& out_s, float& out_v);
|
|
|
|
IMGUI_API void ColorConvertHSVtoRGB(float h, float s, float v, float& out_r, float& out_g, float& out_b);
|
|
|
|
IMGUI_API void ColorConvertHSVtoRGB(float h, float s, float v, float& out_r, float& out_g, float& out_b);
|
|
|
@ -374,11 +388,14 @@ enum ImGuiInputTextFlags_
|
|
|
|
// Default: 0
|
|
|
|
// Default: 0
|
|
|
|
ImGuiInputTextFlags_CharsDecimal = 1 << 0, // Allow 0123456789.+-*/
|
|
|
|
ImGuiInputTextFlags_CharsDecimal = 1 << 0, // Allow 0123456789.+-*/
|
|
|
|
ImGuiInputTextFlags_CharsHexadecimal = 1 << 1, // Allow 0123456789ABCDEFabcdef
|
|
|
|
ImGuiInputTextFlags_CharsHexadecimal = 1 << 1, // Allow 0123456789ABCDEFabcdef
|
|
|
|
ImGuiInputTextFlags_AutoSelectAll = 1 << 2, // Select entire text when first taking focus
|
|
|
|
ImGuiInputTextFlags_CharsUppercase = 1 << 2, // Turn a..z into A..Z
|
|
|
|
ImGuiInputTextFlags_EnterReturnsTrue = 1 << 3, // Return 'true' when Enter is pressed (as opposed to when the value was modified)
|
|
|
|
ImGuiInputTextFlags_CharsNoBlank = 1 << 3, // Filter out spaces, tabs
|
|
|
|
ImGuiInputTextFlags_CallbackCompletion = 1 << 4, // Call user function on pressing TAB (for completion handling)
|
|
|
|
ImGuiInputTextFlags_AutoSelectAll = 1 << 4, // Select entire text when first taking focus
|
|
|
|
ImGuiInputTextFlags_CallbackHistory = 1 << 5, // Call user function on pressing Up/Down arrows (for history handling)
|
|
|
|
ImGuiInputTextFlags_EnterReturnsTrue = 1 << 5, // Return 'true' when Enter is pressed (as opposed to when the value was modified)
|
|
|
|
ImGuiInputTextFlags_CallbackAlways = 1 << 6 // Call user function every time
|
|
|
|
ImGuiInputTextFlags_CallbackCompletion = 1 << 6, // Call user function on pressing TAB (for completion handling)
|
|
|
|
|
|
|
|
ImGuiInputTextFlags_CallbackHistory = 1 << 7, // Call user function on pressing Up/Down arrows (for history handling)
|
|
|
|
|
|
|
|
ImGuiInputTextFlags_CallbackAlways = 1 << 8, // Call user function every time
|
|
|
|
|
|
|
|
ImGuiInputTextFlags_CallbackCharFilter = 1 << 9 // Call user function to filter character. Modify data->EventChar to replace/filter input, or return 1 to discard character.
|
|
|
|
//ImGuiInputTextFlags_AlignCenter = 1 << 6,
|
|
|
|
//ImGuiInputTextFlags_AlignCenter = 1 << 6,
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
@ -410,6 +427,7 @@ enum ImGuiCol_
|
|
|
|
{
|
|
|
|
{
|
|
|
|
ImGuiCol_Text,
|
|
|
|
ImGuiCol_Text,
|
|
|
|
ImGuiCol_WindowBg,
|
|
|
|
ImGuiCol_WindowBg,
|
|
|
|
|
|
|
|
ImGuiCol_ChildWindowBg,
|
|
|
|
ImGuiCol_Border,
|
|
|
|
ImGuiCol_Border,
|
|
|
|
ImGuiCol_BorderShadow,
|
|
|
|
ImGuiCol_BorderShadow,
|
|
|
|
ImGuiCol_FrameBg, // Background of checkbox, radio button, plot, slider, text input
|
|
|
|
ImGuiCol_FrameBg, // Background of checkbox, radio button, plot, slider, text input
|
|
|
@ -453,14 +471,15 @@ enum ImGuiCol_
|
|
|
|
// NB: the enum only refers to fields of ImGuiStyle() which makes sense to be pushed/poped in UI code. Feel free to add others.
|
|
|
|
// NB: the enum only refers to fields of ImGuiStyle() which makes sense to be pushed/poped in UI code. Feel free to add others.
|
|
|
|
enum ImGuiStyleVar_
|
|
|
|
enum ImGuiStyleVar_
|
|
|
|
{
|
|
|
|
{
|
|
|
|
ImGuiStyleVar_Alpha, // float
|
|
|
|
ImGuiStyleVar_Alpha, // float
|
|
|
|
ImGuiStyleVar_WindowPadding, // ImVec2
|
|
|
|
ImGuiStyleVar_WindowPadding, // ImVec2
|
|
|
|
ImGuiStyleVar_WindowRounding, // float
|
|
|
|
ImGuiStyleVar_WindowRounding, // float
|
|
|
|
ImGuiStyleVar_FramePadding, // ImVec2
|
|
|
|
ImGuiStyleVar_ChildWindowRounding, // float
|
|
|
|
ImGuiStyleVar_FrameRounding, // float
|
|
|
|
ImGuiStyleVar_FramePadding, // ImVec2
|
|
|
|
ImGuiStyleVar_ItemSpacing, // ImVec2
|
|
|
|
ImGuiStyleVar_FrameRounding, // float
|
|
|
|
ImGuiStyleVar_ItemInnerSpacing, // ImVec2
|
|
|
|
ImGuiStyleVar_ItemSpacing, // ImVec2
|
|
|
|
ImGuiStyleVar_TreeNodeSpacing // float
|
|
|
|
ImGuiStyleVar_ItemInnerSpacing, // ImVec2
|
|
|
|
|
|
|
|
ImGuiStyleVar_TreeNodeSpacing // float
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// Enumeration for ColorEditMode()
|
|
|
|
// Enumeration for ColorEditMode()
|
|
|
@ -488,6 +507,7 @@ struct ImGuiStyle
|
|
|
|
ImVec2 WindowPadding; // Padding within a window
|
|
|
|
ImVec2 WindowPadding; // Padding within a window
|
|
|
|
ImVec2 WindowMinSize; // Minimum window size
|
|
|
|
ImVec2 WindowMinSize; // Minimum window size
|
|
|
|
float WindowRounding; // Radius of window corners rounding. Set to 0.0f to have rectangular windows
|
|
|
|
float WindowRounding; // Radius of window corners rounding. Set to 0.0f to have rectangular windows
|
|
|
|
|
|
|
|
float ChildWindowRounding; // Radius of child window corners rounding. Set to 0.0f to have rectangular windows
|
|
|
|
ImVec2 FramePadding; // Padding within a framed rectangle (used by most widgets)
|
|
|
|
ImVec2 FramePadding; // Padding within a framed rectangle (used by most widgets)
|
|
|
|
float FrameRounding; // Radius of frame corners rounding. Set to 0.0f to have rectangular frame (used by most widgets).
|
|
|
|
float FrameRounding; // Radius of frame corners rounding. Set to 0.0f to have rectangular frame (used by most widgets).
|
|
|
|
ImVec2 ItemSpacing; // Horizontal and vertical spacing between widgets/lines
|
|
|
|
ImVec2 ItemSpacing; // Horizontal and vertical spacing between widgets/lines
|
|
|
@ -569,6 +589,7 @@ struct ImGuiIO
|
|
|
|
|
|
|
|
|
|
|
|
bool WantCaptureMouse; // Mouse is hovering a window or widget is active (= ImGui will use your mouse input)
|
|
|
|
bool WantCaptureMouse; // Mouse is hovering a window or widget is active (= ImGui will use your mouse input)
|
|
|
|
bool WantCaptureKeyboard; // Widget is active (= ImGui will use your keyboard input)
|
|
|
|
bool WantCaptureKeyboard; // Widget is active (= ImGui will use your keyboard input)
|
|
|
|
|
|
|
|
float Framerate; // Framerate estimation, in frame per second. Rolling average estimation based on IO.DeltaTime over 120 frames
|
|
|
|
|
|
|
|
|
|
|
|
//------------------------------------------------------------------
|
|
|
|
//------------------------------------------------------------------
|
|
|
|
// [Internal] ImGui will maintain those fields for you
|
|
|
|
// [Internal] ImGui will maintain those fields for you
|
|
|
@ -700,15 +721,21 @@ struct ImGuiStorage
|
|
|
|
// Shared state of InputText(), passed to callback when a ImGuiInputTextFlags_Callback* flag is used.
|
|
|
|
// Shared state of InputText(), passed to callback when a ImGuiInputTextFlags_Callback* flag is used.
|
|
|
|
struct ImGuiTextEditCallbackData
|
|
|
|
struct ImGuiTextEditCallbackData
|
|
|
|
{
|
|
|
|
{
|
|
|
|
ImGuiKey EventKey; // Key pressed (Up/Down/TAB) // Read-only
|
|
|
|
ImGuiInputTextFlags EventFlag; // One of ImGuiInputTextFlags_Callback* // Read-only
|
|
|
|
char* Buf; // Current text // Read-write (pointed data only)
|
|
|
|
ImGuiInputTextFlags Flags; // What user passed to InputText() // Read-only
|
|
|
|
size_t BufSize; // // Read-only
|
|
|
|
void* UserData; // What user passed to InputText() // Read-only
|
|
|
|
bool BufDirty; // Set if you modify Buf directly // Write
|
|
|
|
|
|
|
|
ImGuiInputTextFlags Flags; // What user passed to InputText() // Read-only
|
|
|
|
// CharFilter event:
|
|
|
|
int CursorPos; // // Read-write
|
|
|
|
ImWchar EventChar; // Character input // Read-write (replace character or set to zero)
|
|
|
|
int SelectionStart; // // Read-write (== to SelectionEnd when no selection)
|
|
|
|
|
|
|
|
int SelectionEnd; // // Read-write
|
|
|
|
// Completion,History,Always events:
|
|
|
|
void* UserData; // What user passed to InputText()
|
|
|
|
ImGuiKey EventKey; // Key pressed (Up/Down/TAB) // Read-only
|
|
|
|
|
|
|
|
char* Buf; // Current text // Read-write (pointed data only)
|
|
|
|
|
|
|
|
size_t BufSize; // // Read-only
|
|
|
|
|
|
|
|
bool BufDirty; // Set if you modify Buf directly // Write
|
|
|
|
|
|
|
|
int CursorPos; // // Read-write
|
|
|
|
|
|
|
|
int SelectionStart; // // Read-write (== to SelectionEnd when no selection)
|
|
|
|
|
|
|
|
int SelectionEnd; // // Read-write
|
|
|
|
|
|
|
|
|
|
|
|
// NB: calling those function loses selection.
|
|
|
|
// NB: calling those function loses selection.
|
|
|
|
void DeleteChars(int pos, int bytes_count);
|
|
|
|
void DeleteChars(int pos, int bytes_count);
|
|
|
@ -894,6 +921,7 @@ struct ImFont
|
|
|
|
};
|
|
|
|
};
|
|
|
|
ImFontAtlas* ContainerAtlas; // What we has been loaded into
|
|
|
|
ImFontAtlas* ContainerAtlas; // What we has been loaded into
|
|
|
|
ImVector<Glyph> Glyphs;
|
|
|
|
ImVector<Glyph> Glyphs;
|
|
|
|
|
|
|
|
ImVector<float> IndexXAdvance; // Glyphs->XAdvance directly indexable (for CalcTextSize functions which are often bottleneck in large UI)
|
|
|
|
ImVector<int> IndexLookup; // Index glyphs by Unicode code-point
|
|
|
|
ImVector<int> IndexLookup; // Index glyphs by Unicode code-point
|
|
|
|
const Glyph* FallbackGlyph; // == FindGlyph(FontFallbackChar)
|
|
|
|
const Glyph* FallbackGlyph; // == FindGlyph(FontFallbackChar)
|
|
|
|
|
|
|
|
|
|
|
|