mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 05:01:05 +01:00 
			
		
		
		
	InputText: Renamed ImGuiTextEditCallback to ImGuiInputTextCallback, ImGuiTextEditCallbackData to ImGuiInputTextCallbackData for consistency. Kept redirection types (will obsolete).
This commit is contained in:
		| @@ -39,6 +39,8 @@ Breaking Changes: | ||||
|  - Changed ImGui::GetTime() return value from float to double to avoid accumulating floating point imprecisions over time. | ||||
|  - Removed per-window ImGuiWindowFlags_ResizeFromAnySide beta flag in favor `io.ConfigResizeWindowsFromEdges=true` to enable the feature globally. (#1495) | ||||
|    The feature is not currently enabled by default because it is not satisfying enough. | ||||
|  - InputText: Renamed ImGuiTextEditCallback to ImGuiInputTextCallback, ImGuiTextEditCallbackData to ImGuiInputTextCallbackData for consistency.  | ||||
|    Kept redirection types (will obsolete).  | ||||
|  - InputText: Removed ImGuiTextEditCallbackData::ReadOnly since it is a duplication of (ImGuiTextEditCallbackData::Flags & ImGuiInputTextFlags_ReadOnly). | ||||
|  - Renamed io.OptCursorBlink to io.ConfigCursorBlink, io.OptMacOSXBehaviors to io.ConfigMacOSXBehaviors for consistency. (#1427, #473) | ||||
|  | ||||
|   | ||||
							
								
								
									
										33
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								imgui.cpp
									
									
									
									
									
								
							| @@ -307,7 +307,8 @@ | ||||
|  When you are not sure about a old symbol or function name, try using the Search/Find function of your IDE to look for comments or references in all imgui files. | ||||
|  You can read releases logs https://github.com/ocornut/imgui/releases for more details. | ||||
|  | ||||
|  - 2018/08/21 (1.63) - removed ImGuiTextEditCallbackData::ReadOnly since it is a duplication of (ImGuiTextEditCallbackData::Flags & ImGuiInputTextFlags_ReadOnly). | ||||
|  - 2018/08/21 (1.63) - renamed ImGuiTextEditCallback to ImGuiInputTextCallback, ImGuiTextEditCallbackData to ImGuiInputTextCallbackData for consistency. Kept redirection types (will obsolete). | ||||
|  - 2018/08/21 (1.63) - removed ImGuiInputTextCallbackData::ReadOnly since it is a duplication of (ImGuiInputTextCallbackData::Flags & ImGuiInputTextFlags_ReadOnly). | ||||
|  - 2018/08/01 (1.63) - removed per-window ImGuiWindowFlags_ResizeFromAnySide beta flag in favor of a global io.ConfigResizeWindowsFromEdges to enable the feature. | ||||
|  - 2018/08/01 (1.63) - renamed io.OptCursorBlink to io.ConfigCursorBlink, io.OptMacOSXBehaviors to ConfigMacOSXBehaviors for consistency. | ||||
|  - 2018/07/22 (1.63) - changed ImGui::GetTime() return value from float to double to avoid accumulating floating point imprecisions over time. | ||||
| @@ -896,7 +897,7 @@ static void             AddWindowToSortedBuffer(ImVector<ImGuiWindow*>* out_sort | ||||
|  | ||||
| static ImRect           GetViewportRect(); | ||||
|  | ||||
| static bool             InputTextFilterCharacter(unsigned int* p_char, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback, void* user_data); | ||||
| static bool             InputTextFilterCharacter(unsigned int* p_char, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* user_data); | ||||
| 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); | ||||
|  | ||||
| @@ -10586,14 +10587,14 @@ static bool STB_TEXTEDIT_INSERTCHARS(STB_TEXTEDIT_STRING* obj, int pos, const Im | ||||
|  | ||||
| } | ||||
|  | ||||
| void ImGuiTextEditState::OnKeyPressed(int key) | ||||
| void ImGuiInputTextState::OnKeyPressed(int key) | ||||
| { | ||||
|     stb_textedit_key(this, &StbState, key); | ||||
|     CursorFollow = true; | ||||
|     CursorAnimReset(); | ||||
| } | ||||
|  | ||||
| ImGuiTextEditCallbackData::ImGuiTextEditCallbackData() | ||||
| ImGuiInputTextCallbackData::ImGuiInputTextCallbackData() | ||||
| { | ||||
|     memset(this, 0, sizeof(*this)); | ||||
| } | ||||
| @@ -10601,7 +10602,7 @@ ImGuiTextEditCallbackData::ImGuiTextEditCallbackData() | ||||
| // Public API to manipulate UTF-8 text | ||||
| // We expose UTF-8 to the user (unlike the STB_TEXTEDIT_* functions which are manipulating wchar) | ||||
| // FIXME: The existence of this rarely exercised code path is a bit of a nuisance. | ||||
| void ImGuiTextEditCallbackData::DeleteChars(int pos, int bytes_count) | ||||
| void ImGuiInputTextCallbackData::DeleteChars(int pos, int bytes_count) | ||||
| { | ||||
|     IM_ASSERT(pos + bytes_count <= BufTextLen); | ||||
|     char* dst = Buf + pos; | ||||
| @@ -10619,7 +10620,7 @@ void ImGuiTextEditCallbackData::DeleteChars(int pos, int bytes_count) | ||||
|     BufTextLen -= bytes_count; | ||||
| } | ||||
|  | ||||
| void ImGuiTextEditCallbackData::InsertChars(int pos, const char* new_text, const char* new_text_end) | ||||
| void ImGuiInputTextCallbackData::InsertChars(int pos, const char* new_text, const char* new_text_end) | ||||
| { | ||||
|     const int new_text_len = new_text_end ? (int)(new_text_end - new_text) : (int)strlen(new_text); | ||||
|     if (new_text_len + BufTextLen + 1 >= BufSize) | ||||
| @@ -10638,7 +10639,7 @@ void ImGuiTextEditCallbackData::InsertChars(int pos, const char* new_text, const | ||||
| } | ||||
|  | ||||
| // Return false to discard a character. | ||||
| static bool InputTextFilterCharacter(unsigned int* p_char, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback, void* user_data) | ||||
| static bool InputTextFilterCharacter(unsigned int* p_char, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* user_data) | ||||
| { | ||||
|     unsigned int c = *p_char; | ||||
|  | ||||
| @@ -10679,8 +10680,8 @@ static bool InputTextFilterCharacter(unsigned int* p_char, ImGuiInputTextFlags f | ||||
|  | ||||
|     if (flags & ImGuiInputTextFlags_CallbackCharFilter) | ||||
|     { | ||||
|         ImGuiTextEditCallbackData callback_data; | ||||
|         memset(&callback_data, 0, sizeof(ImGuiTextEditCallbackData)); | ||||
|         ImGuiInputTextCallbackData callback_data; | ||||
|         memset(&callback_data, 0, sizeof(ImGuiInputTextCallbackData)); | ||||
|         callback_data.EventFlag = ImGuiInputTextFlags_CallbackCharFilter; | ||||
|         callback_data.EventChar = (ImWchar)c; | ||||
|         callback_data.Flags = flags; | ||||
| @@ -10698,7 +10699,7 @@ static bool InputTextFilterCharacter(unsigned int* p_char, ImGuiInputTextFlags f | ||||
| // Edit a string of text | ||||
| // NB: when active, hold on a privately held copy of the text (and apply back to 'buf'). So changing 'buf' while active has no effect. | ||||
| // FIXME: Rather messy function partly because we are doing UTF8 > u16 > UTF8 conversions on the go to more easily handle stb_textedit calls. Ideally we should stay in UTF-8 all the time. See https://github.com/nothings/stb/issues/188 | ||||
| bool ImGui::InputTextEx(const char* label, char* buf, int buf_size, const ImVec2& size_arg, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback, void* callback_user_data) | ||||
| bool ImGui::InputTextEx(const char* label, char* buf, int buf_size, const ImVec2& size_arg, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* callback_user_data) | ||||
| { | ||||
|     ImGuiWindow* window = GetCurrentWindow(); | ||||
|     if (window->SkipItems) | ||||
| @@ -10768,7 +10769,7 @@ bool ImGui::InputTextEx(const char* label, char* buf, int buf_size, const ImVec2 | ||||
|     } | ||||
|  | ||||
|     // NB: we are only allowed to access 'edit_state' if we are the active widget. | ||||
|     ImGuiTextEditState& edit_state = g.InputTextState; | ||||
|     ImGuiInputTextState& edit_state = g.InputTextState; | ||||
|  | ||||
|     const bool focus_requested = FocusableItemRegister(window, id, (flags & (ImGuiInputTextFlags_CallbackCompletion|ImGuiInputTextFlags_AllowTabInput)) == 0);    // Using completion callback disable keyboard tabbing | ||||
|     const bool focus_requested_by_code = focus_requested && (window->FocusIdxAllCounter == window->FocusIdxAllRequestCurrent); | ||||
| @@ -11084,8 +11085,8 @@ bool ImGui::InputTextEx(const char* label, char* buf, int buf_size, const ImVec2 | ||||
|  | ||||
|                 if (event_flag) | ||||
|                 { | ||||
|                     ImGuiTextEditCallbackData callback_data; | ||||
|                     memset(&callback_data, 0, sizeof(ImGuiTextEditCallbackData)); | ||||
|                     ImGuiInputTextCallbackData callback_data; | ||||
|                     memset(&callback_data, 0, sizeof(ImGuiInputTextCallbackData)); | ||||
|                     callback_data.EventFlag = event_flag; | ||||
|                     callback_data.Flags = flags; | ||||
|                     callback_data.UserData = callback_user_data; | ||||
| @@ -11136,7 +11137,7 @@ bool ImGui::InputTextEx(const char* label, char* buf, int buf_size, const ImVec2 | ||||
|             IM_ASSERT(apply_new_text_length >= 0); | ||||
|             if (backup_current_text_length != apply_new_text_length && (flags & ImGuiInputTextFlags_CallbackResize)) | ||||
|             { | ||||
|                 ImGuiTextEditCallbackData callback_data; | ||||
|                 ImGuiInputTextCallbackData callback_data; | ||||
|                 callback_data.EventFlag = ImGuiInputTextFlags_CallbackResize; | ||||
|                 callback_data.Flags = flags; | ||||
|                 callback_data.Buf = buf; | ||||
| @@ -11347,13 +11348,13 @@ bool ImGui::InputTextEx(const char* label, char* buf, int buf_size, const ImVec2 | ||||
|         return value_changed; | ||||
| } | ||||
|  | ||||
| bool ImGui::InputText(const char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback, void* user_data) | ||||
| bool ImGui::InputText(const char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* user_data) | ||||
| { | ||||
|     IM_ASSERT(!(flags & ImGuiInputTextFlags_Multiline)); // call InputTextMultiline() | ||||
|     return InputTextEx(label, buf, (int)buf_size, ImVec2(0,0), flags, callback, user_data); | ||||
| } | ||||
|  | ||||
| bool ImGui::InputTextMultiline(const char* label, char* buf, size_t buf_size, const ImVec2& size, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback, void* user_data) | ||||
| bool ImGui::InputTextMultiline(const char* label, char* buf, size_t buf_size, const ImVec2& size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* user_data) | ||||
| { | ||||
|     return InputTextEx(label, buf, (int)buf_size, size, flags | ImGuiInputTextFlags_Multiline, callback, user_data); | ||||
| } | ||||
|   | ||||
							
								
								
									
										17
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								imgui.h
									
									
									
									
									
								
							| @@ -71,12 +71,12 @@ struct ImFontAtlas;                 // Runtime data for multiple fonts, bake mul | ||||
| struct ImFontConfig;                // Configuration data when adding a font or merging fonts | ||||
| struct ImColor;                     // Helper functions to create a color that can be converted to either u32 or float4 (*obsolete* please avoid using) | ||||
| struct ImGuiIO;                     // Main configuration and I/O between your application and ImGui | ||||
| struct ImGuiInputTextCallbackData;  // Shared state of ImGui::InputText() when using custom ImGuiInputTextCallback (rare/advanced use) | ||||
| struct ImGuiOnceUponAFrame;         // Simple helper for running a block of code not more than once a frame, used by IMGUI_ONCE_UPON_A_FRAME macro | ||||
| struct ImGuiStorage;                // Simple custom key value storage | ||||
| struct ImGuiStyle;                  // Runtime data for styling/colors | ||||
| struct ImGuiTextFilter;             // Parse and apply text filters. In format "aaaaa[,bbbb][,ccccc]" | ||||
| struct ImGuiTextBuffer;             // Text buffer for logging/accumulating text | ||||
| struct ImGuiTextEditCallbackData;   // Shared state of ImGui::InputText() when using custom ImGuiTextEditCallback (rare/advanced use) | ||||
| struct ImGuiSizeCallbackData;       // Structure used to constraint window size in custom ways when using custom ImGuiSizeCallback (rare/advanced use) | ||||
| struct ImGuiListClipper;            // Helper to manually clip large list of items | ||||
| struct ImGuiPayload;                // User data payload for drag and drop operations | ||||
| @@ -112,7 +112,7 @@ typedef int ImGuiInputTextFlags;    // flags: for InputText*() | ||||
| typedef int ImGuiSelectableFlags;   // flags: for Selectable()                  // enum ImGuiSelectableFlags_ | ||||
| typedef int ImGuiTreeNodeFlags;     // flags: for TreeNode*(),CollapsingHeader()// enum ImGuiTreeNodeFlags_ | ||||
| typedef int ImGuiWindowFlags;       // flags: for Begin*()                      // enum ImGuiWindowFlags_ | ||||
| typedef int (*ImGuiTextEditCallback)(ImGuiTextEditCallbackData *data); | ||||
| typedef int (*ImGuiInputTextCallback)(ImGuiInputTextCallbackData *data); | ||||
| typedef void (*ImGuiSizeCallback)(ImGuiSizeCallbackData* data); | ||||
|  | ||||
| // Scalar data types | ||||
| @@ -373,8 +373,8 @@ namespace ImGui | ||||
|     IMGUI_API bool          DragScalarN(const char* label, ImGuiDataType data_type, void* v, int components, float v_speed, const void* v_min = NULL, const void* v_max = NULL, const char* format = NULL, float power = 1.0f); | ||||
|  | ||||
|     // Widgets: Input with Keyboard | ||||
|     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          InputTextMultiline(const char* label, char* buf, size_t buf_size, const ImVec2& size = ImVec2(0,0), ImGuiInputTextFlags flags = 0, ImGuiTextEditCallback callback = NULL, void* user_data = NULL); | ||||
|     IMGUI_API bool          InputText(const char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = NULL, void* user_data = NULL); | ||||
|     IMGUI_API bool          InputTextMultiline(const char* label, char* buf, size_t buf_size, const ImVec2& size = ImVec2(0,0), ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = NULL, void* user_data = NULL); | ||||
|     IMGUI_API bool          InputFloat(const char* label, float* v, float step = 0.0f, float step_fast = 0.0f, const char* format = "%.3f", ImGuiInputTextFlags extra_flags = 0); | ||||
|     IMGUI_API bool          InputFloat2(const char* label, float v[2], const char* format = "%.3f", ImGuiInputTextFlags extra_flags = 0); | ||||
|     IMGUI_API bool          InputFloat3(const char* label, float v[3], const char* format = "%.3f", ImGuiInputTextFlags extra_flags = 0); | ||||
| @@ -1420,7 +1420,7 @@ struct ImGuiStorage | ||||
| // Special processing: | ||||
| // - ImGuiInputTextFlags_CallbackCharFilter:  return 1 if the character is not allowed. You may also set 'EventChar=0' as any character replacement are allowed. | ||||
| // - ImGuiInputTextFlags_CallbackResize:      BufTextLen is set to the new desired string length so you can allocate or update known size. No need to initialize new characters or zero-terminator as InputText will do it. | ||||
| struct ImGuiTextEditCallbackData | ||||
| struct ImGuiInputTextCallbackData | ||||
| { | ||||
|     ImGuiInputTextFlags EventFlag;      // One ImGuiInputTextFlags_Callback*    // Read-only | ||||
|     ImGuiInputTextFlags Flags;          // What user passed to InputText()      // Read-only | ||||
| @@ -1439,12 +1439,17 @@ struct ImGuiTextEditCallbackData | ||||
|     int                 SelectionEnd;   //                                      // Read-write   // [Completion,History,Always] | ||||
|  | ||||
|     // NB: Helper functions for text manipulation. Calling those function loses selection. | ||||
|     ImGuiTextEditCallbackData(); | ||||
|     ImGuiInputTextCallbackData(); | ||||
|     IMGUI_API void      DeleteChars(int pos, int bytes_count); | ||||
|     IMGUI_API void      InsertChars(int pos, const char* text, const char* text_end = NULL); | ||||
|     bool                HasSelection() const { return SelectionStart != SelectionEnd; } | ||||
| }; | ||||
|  | ||||
| #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS | ||||
| typedef ImGuiInputTextCallback      ImGuiTextEditCallback;      // [OBSOLETE 1.63+] Made the names consistent | ||||
| typedef ImGuiInputTextCallbackData  ImGuiTextEditCallbackData; | ||||
| #endif | ||||
|  | ||||
| // Resizing callback data to apply custom constraint. As enabled by SetNextWindowSizeConstraints(). Callback is called during the next Begin(). | ||||
| // NB: For basic min/max size constraint on each axis you don't need to use the callback! The SetNextWindowSizeConstraints() parameters are enough. | ||||
| struct ImGuiSizeCallbackData | ||||
|   | ||||
| @@ -774,7 +774,7 @@ void ImGui::ShowDemoWindow(bool* p_open) | ||||
|             static char buf3[64] = ""; ImGui::InputText("hexadecimal", buf3, 64, ImGuiInputTextFlags_CharsHexadecimal | ImGuiInputTextFlags_CharsUppercase); | ||||
|             static char buf4[64] = ""; ImGui::InputText("uppercase", buf4, 64, ImGuiInputTextFlags_CharsUppercase); | ||||
|             static char buf5[64] = ""; ImGui::InputText("no blank", buf5, 64, ImGuiInputTextFlags_CharsNoBlank); | ||||
|             struct TextFilters { static int FilterImGuiLetters(ImGuiTextEditCallbackData* data) { if (data->EventChar < 256 && strchr("imgui", (char)data->EventChar)) return 0; return 1; } }; | ||||
|             struct TextFilters { static int FilterImGuiLetters(ImGuiInputTextCallbackData* data) { if (data->EventChar < 256 && strchr("imgui", (char)data->EventChar)) return 0; return 1; } }; | ||||
|             static char buf6[64] = ""; ImGui::InputText("\"imgui\" letters", buf6, 64, ImGuiInputTextFlags_CallbackCharFilter, TextFilters::FilterImGuiLetters); | ||||
|  | ||||
|             ImGui::Text("Password input"); | ||||
| @@ -2862,13 +2862,13 @@ struct ExampleAppConsole | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     static int TextEditCallbackStub(ImGuiTextEditCallbackData* data) // In C++11 you are better off using lambdas for this sort of forwarding callbacks | ||||
|     static int TextEditCallbackStub(ImGuiInputTextCallbackData* data) // In C++11 you are better off using lambdas for this sort of forwarding callbacks | ||||
|     { | ||||
|         ExampleAppConsole* console = (ExampleAppConsole*)data->UserData; | ||||
|         return console->TextEditCallback(data); | ||||
|     } | ||||
|  | ||||
|     int     TextEditCallback(ImGuiTextEditCallbackData* data) | ||||
|     int     TextEditCallback(ImGuiInputTextCallbackData* data) | ||||
|     { | ||||
|         //AddLog("cursor: %d, selection: %d-%d", data->CursorPos, data->SelectionStart, data->SelectionEnd); | ||||
|         switch (data->EventFlag) | ||||
|   | ||||
| @@ -41,6 +41,7 @@ struct ImGuiColumnData;             // Storage data for a single column | ||||
| struct ImGuiColumnsSet;             // Storage data for a columns set | ||||
| struct ImGuiContext;                // Main imgui context | ||||
| struct ImGuiGroupData;              // Stacked storage data for BeginGroup()/EndGroup() | ||||
| struct ImGuiInputTextState;         // Internal state of the currently focused/edited text input box | ||||
| struct ImGuiItemHoveredDataBackup;  // Backup and restore IsItemHovered() internal data | ||||
| struct ImGuiMenuColumns;            // Simple column measurement, currently used for MenuItem() only | ||||
| struct ImGuiNavMoveResult;          // Result of a directional navigation move query result | ||||
| @@ -48,7 +49,6 @@ struct ImGuiNextWindowData;         // Storage for SetNexWindow** functions | ||||
| struct ImGuiPopupRef;               // Storage for current popup stack | ||||
| struct ImGuiSettingsHandler; | ||||
| struct ImGuiStyleMod;               // Stacked style modifier, backup of modified data so we can restore it | ||||
| struct ImGuiTextEditState;          // Internal state of the currently focused/edited text input box | ||||
| struct ImGuiWindow;                 // Storage for one window | ||||
| struct ImGuiWindowTempData;         // Temporary storage for one, that's the data which in theory we could ditch at the end of the frame | ||||
| struct ImGuiWindowSettings;         // Storage for window settings stored in .ini file (we keep one of those even if the actual window wasn't instanced during this session) | ||||
| @@ -72,7 +72,7 @@ namespace ImGuiStb | ||||
|  | ||||
| #undef STB_TEXTEDIT_STRING | ||||
| #undef STB_TEXTEDIT_CHARTYPE | ||||
| #define STB_TEXTEDIT_STRING             ImGuiTextEditState | ||||
| #define STB_TEXTEDIT_STRING             ImGuiInputTextState | ||||
| #define STB_TEXTEDIT_CHARTYPE           ImWchar | ||||
| #define STB_TEXTEDIT_GETWIDTH_NEWLINE   -1.0f | ||||
| #include "stb_textedit.h" | ||||
| @@ -429,7 +429,7 @@ struct IMGUI_API ImGuiMenuColumns | ||||
| }; | ||||
|  | ||||
| // Internal state of the currently focused/edited text input box | ||||
| struct IMGUI_API ImGuiTextEditState | ||||
| struct IMGUI_API ImGuiInputTextState | ||||
| { | ||||
|     ImGuiID                 ID;                     // widget id owning the text state | ||||
|     ImVector<ImWchar>       Text;                   // edit buffer, we need to persist but can't guarantee the persistence of the user-provided buffer. so we copy into own buffer. | ||||
| @@ -445,10 +445,10 @@ struct IMGUI_API ImGuiTextEditState | ||||
|  | ||||
|     // Temporarily set when active | ||||
|     ImGuiInputTextFlags     UserFlags; | ||||
|     ImGuiTextEditCallback   UserCallback; | ||||
|     ImGuiInputTextCallback  UserCallback; | ||||
|     void*                   UserCallbackData; | ||||
|  | ||||
|     ImGuiTextEditState()                            { memset(this, 0, sizeof(*this)); } | ||||
|     ImGuiInputTextState()                           { memset(this, 0, sizeof(*this)); } | ||||
|     void                CursorAnimReset()           { CursorAnim = -0.30f; }                                   // After a user-input the cursor stays on for a while without blinking | ||||
|     void                CursorClamp()               { StbState.cursor = ImMin(StbState.cursor, CurLenW); StbState.select_start = ImMin(StbState.select_start, CurLenW); StbState.select_end = ImMin(StbState.select_end, CurLenW); } | ||||
|     bool                HasSelection() const        { return StbState.select_start != StbState.select_end; } | ||||
| @@ -732,7 +732,7 @@ struct ImGuiContext | ||||
|     unsigned char           DragDropPayloadBufLocal[8];         // Local buffer for small payloads | ||||
|  | ||||
|     // Widget state | ||||
|     ImGuiTextEditState      InputTextState; | ||||
|     ImGuiInputTextState     InputTextState; | ||||
|     ImFont                  InputTextPasswordFont; | ||||
|     ImGuiID                 ScalarAsInputTextId;                // Temporary text input when CTRL+clicking on a slider, etc. | ||||
|     ImGuiColorEditFlags     ColorEditOptions;                   // Store user options for color edit widgets | ||||
| @@ -1209,7 +1209,7 @@ namespace ImGui | ||||
|     IMGUI_API bool          TreeNodeBehaviorIsOpen(ImGuiID id, ImGuiTreeNodeFlags flags = 0);                     // Consume previous SetNextTreeNodeOpened() data, if any. May return true when logging | ||||
|     IMGUI_API void          TreePushRawID(ImGuiID id); | ||||
|  | ||||
|     IMGUI_API bool          InputTextEx(const char* label, char* buf, int buf_size, const ImVec2& size_arg, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback = NULL, void* user_data = NULL); | ||||
|     IMGUI_API bool          InputTextEx(const char* label, char* buf, int buf_size, const ImVec2& size_arg, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback = NULL, void* user_data = NULL); | ||||
|     IMGUI_API bool          InputScalarAsWidgetReplacement(const ImRect& bb, ImGuiID id, const char* label, ImGuiDataType data_type, void* data_ptr, const char* format); | ||||
|  | ||||
|     IMGUI_API void          ColorTooltip(const char* text, const float* col, ImGuiColorEditFlags flags); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user