mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 05:01:05 +01:00 
			
		
		
		
	Internals: Renamed IsCharIsSpace() to IsCharIsBlank*() to match standard terminlogy and added ascii/u16 variations.
This commit is contained in:
		
							
								
								
									
										10
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								imgui.cpp
									
									
									
									
									
								
							| @@ -8490,7 +8490,7 @@ static size_t GDataTypeSize[ImGuiDataType_COUNT] = | |||||||
| // NB: This is _not_ a full expression evaluator. We should probably add one and replace this dumb mess.. | // NB: This is _not_ a full expression evaluator. We should probably add one and replace this dumb mess.. | ||||||
| static bool DataTypeApplyOpFromText(const char* buf, const char* initial_value_buf, ImGuiDataType data_type, void* data_ptr, const char* scalar_format) | static bool DataTypeApplyOpFromText(const char* buf, const char* initial_value_buf, ImGuiDataType data_type, void* data_ptr, const char* scalar_format) | ||||||
| { | { | ||||||
|     while (ImCharIsSpace((unsigned int)*buf)) |     while (ImCharIsBlankA(*buf)) | ||||||
|         buf++; |         buf++; | ||||||
|  |  | ||||||
|     // We don't support '-' op because it would conflict with inputing negative value. |     // We don't support '-' op because it would conflict with inputing negative value. | ||||||
| @@ -8499,7 +8499,7 @@ static bool DataTypeApplyOpFromText(const char* buf, const char* initial_value_b | |||||||
|     if (op == '+' || op == '*' || op == '/') |     if (op == '+' || op == '*' || op == '/') | ||||||
|     { |     { | ||||||
|         buf++; |         buf++; | ||||||
|         while (ImCharIsSpace((unsigned int)*buf)) |         while (ImCharIsBlankA(*buf)) | ||||||
|             buf++; |             buf++; | ||||||
|     } |     } | ||||||
|     else |     else | ||||||
| @@ -9771,7 +9771,7 @@ static void    STB_TEXTEDIT_LAYOUTROW(StbTexteditRow* r, STB_TEXTEDIT_STRING* ob | |||||||
|     r->num_chars = (int)(text_remaining - (text + line_start_idx)); |     r->num_chars = (int)(text_remaining - (text + line_start_idx)); | ||||||
| } | } | ||||||
|  |  | ||||||
| static bool is_separator(unsigned int c)                                        { return ImCharIsSpace(c) || c==',' || c==';' || c=='(' || c==')' || c=='{' || c=='}' || c=='[' || c==']' || c=='|'; } | static bool is_separator(unsigned int c)                                        { return ImCharIsBlankW(c) || c==',' || c==';' || c=='(' || c==')' || c=='{' || c=='}' || c=='[' || c==']' || c=='|'; } | ||||||
| static int  is_word_boundary_from_right(STB_TEXTEDIT_STRING* obj, int idx)      { return idx > 0 ? (is_separator( obj->Text[idx-1] ) && !is_separator( obj->Text[idx] ) ) : 1; } | static int  is_word_boundary_from_right(STB_TEXTEDIT_STRING* obj, int idx)      { return idx > 0 ? (is_separator( obj->Text[idx-1] ) && !is_separator( obj->Text[idx] ) ) : 1; } | ||||||
| static int  STB_TEXTEDIT_MOVEWORDLEFT_IMPL(STB_TEXTEDIT_STRING* obj, int idx)   { idx--; while (idx >= 0 && !is_word_boundary_from_right(obj, idx)) idx--; return idx < 0 ? 0 : idx; } | static int  STB_TEXTEDIT_MOVEWORDLEFT_IMPL(STB_TEXTEDIT_STRING* obj, int idx)   { idx--; while (idx >= 0 && !is_word_boundary_from_right(obj, idx)) idx--; return idx < 0 ? 0 : idx; } | ||||||
| #ifdef __APPLE__    // FIXME: Move setting to IO structure | #ifdef __APPLE__    // FIXME: Move setting to IO structure | ||||||
| @@ -9925,7 +9925,7 @@ static bool InputTextFilterCharacter(unsigned int* p_char, ImGuiInputTextFlags f | |||||||
|                 *p_char = (c += (unsigned int)('A'-'a')); |                 *p_char = (c += (unsigned int)('A'-'a')); | ||||||
|  |  | ||||||
|         if (flags & ImGuiInputTextFlags_CharsNoBlank) |         if (flags & ImGuiInputTextFlags_CharsNoBlank) | ||||||
|             if (ImCharIsSpace(c)) |             if (ImCharIsBlankW(c)) | ||||||
|                 return false; |                 return false; | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -11826,7 +11826,7 @@ bool ImGui::ColorEdit4(const char* label, float col[4], ImGuiColorEditFlags flag | |||||||
|         { |         { | ||||||
|             value_changed = true; |             value_changed = true; | ||||||
|             char* p = buf; |             char* p = buf; | ||||||
|             while (*p == '#' || ImCharIsSpace((unsigned int)*p)) |             while (*p == '#' || ImCharIsBlankA(*p)) | ||||||
|                 p++; |                 p++; | ||||||
|             i[0] = i[1] = i[2] = i[3] = 0; |             i[0] = i[1] = i[2] = i[3] = 0; | ||||||
|             if (alpha) |             if (alpha) | ||||||
|   | |||||||
| @@ -2351,7 +2351,7 @@ const char* ImFont::CalcWordWrapPositionA(float scale, const char* text, const c | |||||||
|         } |         } | ||||||
|  |  | ||||||
|         const float char_width = ((int)c < IndexAdvanceX.Size ? IndexAdvanceX[(int)c] : FallbackAdvanceX); |         const float char_width = ((int)c < IndexAdvanceX.Size ? IndexAdvanceX[(int)c] : FallbackAdvanceX); | ||||||
|         if (ImCharIsSpace(c)) |         if (ImCharIsBlankW(c)) | ||||||
|         { |         { | ||||||
|             if (inside_word) |             if (inside_word) | ||||||
|             { |             { | ||||||
| @@ -2434,7 +2434,7 @@ ImVec2 ImFont::CalcTextSizeA(float size, float max_width, float wrap_width, cons | |||||||
|                 while (s < text_end) |                 while (s < text_end) | ||||||
|                 { |                 { | ||||||
|                     const char c = *s; |                     const char c = *s; | ||||||
|                     if (ImCharIsSpace((unsigned int)c)) { s++; } else if (c == '\n') { s++; break; } else { break; } |                     if (ImCharIsBlankA(c)) { s++; } else if (c == '\n') { s++; break; } else { break; } | ||||||
|                 } |                 } | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
| @@ -2559,7 +2559,7 @@ void ImFont::RenderText(ImDrawList* draw_list, float size, ImVec2 pos, ImU32 col | |||||||
|                 while (s < text_end) |                 while (s < text_end) | ||||||
|                 { |                 { | ||||||
|                     const char c = *s; |                     const char c = *s; | ||||||
|                     if (ImCharIsSpace((unsigned int)c)) { s++; } else if (c == '\n') { s++; break; } else { break; } |                     if (ImCharIsBlankA(c)) { s++; } else if (c == '\n') { s++; break; } else { break; } | ||||||
|                 } |                 } | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|   | |||||||
| @@ -98,7 +98,8 @@ IMGUI_API int           ImTextCountUtf8BytesFromStr(const ImWchar* in_text, cons | |||||||
| IMGUI_API ImU32         ImHash(const void* data, int data_size, ImU32 seed = 0);    // Pass data_size==0 for zero-terminated strings | IMGUI_API ImU32         ImHash(const void* data, int data_size, ImU32 seed = 0);    // Pass data_size==0 for zero-terminated strings | ||||||
| IMGUI_API void*         ImFileLoadToMemory(const char* filename, const char* file_open_mode, int* out_file_size = NULL, int padding_bytes = 0); | IMGUI_API void*         ImFileLoadToMemory(const char* filename, const char* file_open_mode, int* out_file_size = NULL, int padding_bytes = 0); | ||||||
| IMGUI_API FILE*         ImFileOpen(const char* filename, const char* file_open_mode); | IMGUI_API FILE*         ImFileOpen(const char* filename, const char* file_open_mode); | ||||||
| static inline bool      ImCharIsSpace(unsigned int c)   { return c == ' ' || c == '\t' || c == 0x3000; } | static inline bool      ImCharIsBlankA(char c)          { return c == ' ' || c == '\t'; } | ||||||
|  | static inline bool      ImCharIsBlankW(unsigned int c)  { return c == ' ' || c == '\t' || c == 0x3000; } | ||||||
| static inline bool      ImIsPowerOfTwo(int v)           { return v != 0 && (v & (v - 1)) == 0; } | static inline bool      ImIsPowerOfTwo(int v)           { return v != 0 && (v & (v - 1)) == 0; } | ||||||
| static inline int       ImUpperPowerOfTwo(int v)        { v--; v |= v >> 1; v |= v >> 2; v |= v >> 4; v |= v >> 8; v |= v >> 16; v++; return v; } | static inline int       ImUpperPowerOfTwo(int v)        { v--; v |= v >> 1; v |= v >> 2; v |= v >> 4; v |= v >> 8; v |= v >> 16; v++; return v; } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user