Removed dependency on limits.h

This commit is contained in:
ocornut 2014-08-11 22:31:45 +01:00
parent 98a000055e
commit 080eb69e68

View File

@ -158,7 +158,6 @@
#include "imgui.h" #include "imgui.h"
#include <ctype.h> // toupper #include <ctype.h> // toupper
#include <limits.h> // INT_MAX
#include <math.h> // sqrt #include <math.h> // sqrt
#include <stdint.h> // intptr_t #include <stdint.h> // intptr_t
#include <stdio.h> // vsnprintf #include <stdio.h> // vsnprintf
@ -292,6 +291,12 @@ void ImGuiIO::AddInputCharacter(char c)
#undef PI #undef PI
const float PI = 3.14159265358979323846f; const float PI = 3.14159265358979323846f;
#ifdef INT_MAX
#define IM_INT_MAX INT_MAX
#else
#define IM_INT_MAX 2147483647
#endif
// Math bits // Math bits
// We are keeping those static in the .cpp file so as not to leak them outside, in the case the user has implicit cast operators between ImVec2 and its own types. // We are keeping those static in the .cpp file so as not to leak them outside, in the case the user has implicit cast operators between ImVec2 and its own types.
static inline ImVec2 operator*(const ImVec2& lhs, const float rhs) { return ImVec2(lhs.x*rhs, lhs.y*rhs); } static inline ImVec2 operator*(const ImVec2& lhs, const float rhs) { return ImVec2(lhs.x*rhs, lhs.y*rhs); }
@ -907,8 +912,8 @@ ImGuiWindow::ImGuiWindow(const char* name, ImVec2 default_pos, ImVec2 default_si
AutoFitFrames = 3; AutoFitFrames = 3;
FocusIdxCounter = -1; FocusIdxCounter = -1;
FocusIdxRequestCurrent = INT_MAX; FocusIdxRequestCurrent = IM_INT_MAX;
FocusIdxRequestNext = INT_MAX; FocusIdxRequestNext = IM_INT_MAX;
DrawList = new ImDrawList(); DrawList = new ImDrawList();
} }
@ -949,7 +954,7 @@ bool ImGuiWindow::FocusItemRegister(bool is_active, int* out_idx)
return false; return false;
// Process input at this point: TAB, Shift-TAB switch focus // Process input at this point: TAB, Shift-TAB switch focus
if (FocusIdxRequestNext == INT_MAX && is_active && ImGui::IsKeyPressedMap(ImGuiKey_Tab)) if (FocusIdxRequestNext == IM_INT_MAX && is_active && ImGui::IsKeyPressedMap(ImGuiKey_Tab))
{ {
// Modulo on index will be applied at the end of frame once we've got the total counter of items. // Modulo on index will be applied at the end of frame once we've got the total counter of items.
FocusIdxRequestNext = FocusIdxCounter + (g.IO.KeyShift ? -1 : +1); FocusIdxRequestNext = FocusIdxCounter + (g.IO.KeyShift ? -1 : +1);
@ -1826,9 +1831,9 @@ bool Begin(const char* name, bool* open, ImVec2 size, float fill_alpha, ImGuiWin
window->ItemWidthDefault = (float)(int)(window->Size.x > 0.0f ? window->Size.x * 0.65f : 250.0f); window->ItemWidthDefault = (float)(int)(window->Size.x > 0.0f ? window->Size.x * 0.65f : 250.0f);
// Prepare for focus requests // Prepare for focus requests
if (window->FocusIdxRequestNext == INT_MAX || window->FocusIdxCounter == -1) if (window->FocusIdxRequestNext == IM_INT_MAX || window->FocusIdxCounter == -1)
{ {
window->FocusIdxRequestCurrent = INT_MAX; window->FocusIdxRequestCurrent = IM_INT_MAX;
} }
else else
{ {
@ -1836,7 +1841,7 @@ bool Begin(const char* name, bool* open, ImVec2 size, float fill_alpha, ImGuiWin
window->FocusIdxRequestCurrent = (window->FocusIdxRequestNext + mod) % mod; window->FocusIdxRequestCurrent = (window->FocusIdxRequestNext + mod) % mod;
} }
window->FocusIdxCounter = -1; window->FocusIdxCounter = -1;
window->FocusIdxRequestNext = INT_MAX; window->FocusIdxRequestNext = IM_INT_MAX;
ImGuiAabb title_bar_aabb = window->TitleBarAabb(); ImGuiAabb title_bar_aabb = window->TitleBarAabb();