瀏覽代碼

Input text flags added to InputFloatN and InputIntN

Emmanuel Durand 10 年之前
父節點
當前提交
94b7c9e307
共有 2 個文件被更改,包括 22 次插入22 次删除
  1. 16 16
      imgui.cpp
  2. 6 6
      imgui.h

+ 16 - 16
imgui.cpp

@@ -6703,7 +6703,7 @@ bool ImGui::InputText(const char* label, char* buf, size_t buf_size, ImGuiInputT
         return value_changed;
         return value_changed;
 }
 }
 
 
-static bool InputFloatN(const char* label, float* v, int components, int decimal_precision)
+static bool InputFloatN(const char* label, float* v, int components, int decimal_precision, ImGuiInputTextFlags flags)
 {
 {
     ImGuiState& g = *GImGui;
     ImGuiState& g = *GImGui;
     ImGuiWindow* window = GetCurrentWindow();
     ImGuiWindow* window = GetCurrentWindow();
@@ -6727,7 +6727,7 @@ static bool InputFloatN(const char* label, float* v, int components, int decimal
             ImGui::PopItemWidth();
             ImGui::PopItemWidth();
             ImGui::PushItemWidth(w_item_last);
             ImGui::PushItemWidth(w_item_last);
         }
         }
-        value_changed |= ImGui::InputFloat("##v", &v[i], 0, 0, decimal_precision);
+        value_changed |= ImGui::InputFloat("##v", &v[i], 0, 0, decimal_precision, flags);
         ImGui::SameLine(0, (int)style.ItemInnerSpacing.x);
         ImGui::SameLine(0, (int)style.ItemInnerSpacing.x);
         ImGui::PopID();
         ImGui::PopID();
     }
     }
@@ -6741,22 +6741,22 @@ static bool InputFloatN(const char* label, float* v, int components, int decimal
     return value_changed;
     return value_changed;
 }
 }
 
 
-bool ImGui::InputFloat2(const char* label, float v[2], int decimal_precision)
+bool ImGui::InputFloat2(const char* label, float v[2], int decimal_precision, ImGuiInputTextFlags flags)
 {
 {
-    return InputFloatN(label, v, 2, decimal_precision);
+    return InputFloatN(label, v, 2, decimal_precision, flags);
 }
 }
 
 
-bool ImGui::InputFloat3(const char* label, float v[3], int decimal_precision)
+bool ImGui::InputFloat3(const char* label, float v[3], int decimal_precision, ImGuiInputTextFlags flags)
 {
 {
-    return InputFloatN(label, v, 3, decimal_precision);
+    return InputFloatN(label, v, 3, decimal_precision, flags);
 }
 }
 
 
-bool ImGui::InputFloat4(const char* label, float v[4], int decimal_precision)
+bool ImGui::InputFloat4(const char* label, float v[4], int decimal_precision, ImGuiInputTextFlags flags)
 {
 {
-    return InputFloatN(label, v, 4, decimal_precision);
+    return InputFloatN(label, v, 4, decimal_precision, flags);
 }
 }
 
 
-static bool InputIntN(const char* label, int* v, int components)
+static bool InputIntN(const char* label, int* v, int components, ImGuiInputTextFlags flags)
 {
 {
     ImGuiState& g = *GImGui;
     ImGuiState& g = *GImGui;
     ImGuiWindow* window = GetCurrentWindow();
     ImGuiWindow* window = GetCurrentWindow();
@@ -6780,7 +6780,7 @@ static bool InputIntN(const char* label, int* v, int components)
             ImGui::PopItemWidth();
             ImGui::PopItemWidth();
             ImGui::PushItemWidth(w_item_last);
             ImGui::PushItemWidth(w_item_last);
         }
         }
-        value_changed |= ImGui::InputInt("##v", &v[i], 0, 0);
+        value_changed |= ImGui::InputInt("##v", &v[i], 0, 0, flags);
         ImGui::SameLine(0, (int)style.ItemInnerSpacing.x);
         ImGui::SameLine(0, (int)style.ItemInnerSpacing.x);
         ImGui::PopID();
         ImGui::PopID();
     }
     }
@@ -6794,19 +6794,19 @@ static bool InputIntN(const char* label, int* v, int components)
     return value_changed;
     return value_changed;
 }
 }
 
 
-bool ImGui::InputInt2(const char* label, int v[2])
+bool ImGui::InputInt2(const char* label, int v[2], ImGuiInputTextFlags flags)
 {
 {
-    return InputIntN(label, v, 2);
+    return InputIntN(label, v, 2, flags);
 }
 }
 
 
-bool ImGui::InputInt3(const char* label, int v[3])
+bool ImGui::InputInt3(const char* label, int v[3], ImGuiInputTextFlags flags)
 {
 {
-    return InputIntN(label, v, 3);
+    return InputIntN(label, v, 3, flags);
 }
 }
 
 
-bool ImGui::InputInt4(const char* label, int v[4])
+bool ImGui::InputInt4(const char* label, int v[4], ImGuiInputTextFlags flags)
 {
 {
-    return InputIntN(label, v, 4);
+    return InputIntN(label, v, 4, flags);
 }
 }
 
 
 static bool Items_ArrayGetter(void* data, int idx, const char** out_text)
 static bool Items_ArrayGetter(void* data, int idx, const char** out_text)

+ 6 - 6
imgui.h

@@ -329,13 +329,13 @@ namespace ImGui
     // Widgets: Input
     // Widgets: Input
     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          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          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          InputFloat2(const char* label, float v[2], int decimal_precision = -1, ImGuiInputTextFlags flags = 0);
+    IMGUI_API bool          InputFloat3(const char* label, float v[3], int decimal_precision = -1, ImGuiInputTextFlags flags = 0);
+    IMGUI_API bool          InputFloat4(const char* label, float v[4], int decimal_precision = -1, ImGuiInputTextFlags 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          InputInt(const char* label, int* v, int step = 1, int step_fast = 100, ImGuiInputTextFlags extra_flags = 0);
-    IMGUI_API bool          InputInt2(const char* label, int v[2]);
-    IMGUI_API bool          InputInt3(const char* label, int v[3]);
-    IMGUI_API bool          InputInt4(const char* label, int v[4]);
+    IMGUI_API bool          InputInt2(const char* label, int v[2], ImGuiInputTextFlags flags = 0);
+    IMGUI_API bool          InputInt3(const char* label, int v[3], ImGuiInputTextFlags flags = 0);
+    IMGUI_API bool          InputInt4(const char* label, int v[4], ImGuiInputTextFlags flags = 0);
 
 
     // Widgets: Trees
     // Widgets: Trees
     IMGUI_API bool          TreeNode(const char* str_label_id);                                 // if returning 'true' the node is open and the user is responsible for calling TreePop
     IMGUI_API bool          TreeNode(const char* str_label_id);                                 // if returning 'true' the node is open and the user is responsible for calling TreePop