mirror of
https://github.com/ocornut/imgui.git
synced 2026-01-09 23:54:20 +00:00
InputText: Added a line index. Refactored cursor and selection rendering, now simpler, easier to reason about, and faster. (#3237, #952, #1062, #7363)
This commit is contained in:
parent
67085d732a
commit
1e52e7b90c
4 changed files with 180 additions and 185 deletions
|
|
@ -809,7 +809,7 @@ struct ImGuiTextIndex
|
|||
|
||||
void clear() { Offsets.clear(); EndOffset = 0; }
|
||||
int size() { return Offsets.Size; }
|
||||
const char* get_line_begin(const char* base, int n) { return base + Offsets[n]; }
|
||||
const char* get_line_begin(const char* base, int n) { return base + (Offsets.Size != 0 ? Offsets[n] : 0); }
|
||||
const char* get_line_end(const char* base, int n) { return base + (n + 1 < Offsets.Size ? (Offsets[n + 1] - 1) : EndOffset); }
|
||||
void append(const char* base, int old_size, int new_size);
|
||||
};
|
||||
|
|
@ -2430,6 +2430,7 @@ struct ImGuiContext
|
|||
|
||||
// Widget state
|
||||
ImGuiInputTextState InputTextState;
|
||||
ImGuiTextIndex InputTextLineIndex; // Temporary storage
|
||||
ImGuiInputTextDeactivatedState InputTextDeactivatedState;
|
||||
ImFontBaked InputTextPasswordFontBackupBaked;
|
||||
ImFontFlags InputTextPasswordFontBackupFlags;
|
||||
|
|
@ -3258,6 +3259,7 @@ namespace ImGui
|
|||
IMGUI_API float CalcWrapWidthForPos(const ImVec2& pos, float wrap_pos_x);
|
||||
IMGUI_API void PushMultiItemsWidths(int components, float width_full);
|
||||
IMGUI_API void ShrinkWidths(ImGuiShrinkWidthItem* items, int count, float width_excess, float width_min);
|
||||
IMGUI_API void CalcClipRectVisibleItemsY(const ImRect& clip_rect, const ImVec2& pos, float items_height, int* out_visible_start, int* out_visible_end);
|
||||
|
||||
// Parameter stacks (shared)
|
||||
IMGUI_API const ImGuiStyleVarInfo* GetStyleVarInfo(ImGuiStyleVar idx);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue