mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-22 11:57:00 +00:00
Declare other structures as constexpr (#4995) + rename ImGuiInputEventType_Char to ImGuiInputEventType_Text for consistency with event structure.
This commit is contained in:
parent
71f98dd056
commit
5854da10e6
@ -82,11 +82,11 @@
|
|||||||
// This will be inlined as part of ImVec2 and ImVec4 class declarations.
|
// This will be inlined as part of ImVec2 and ImVec4 class declarations.
|
||||||
/*
|
/*
|
||||||
#define IM_VEC2_CLASS_EXTRA \
|
#define IM_VEC2_CLASS_EXTRA \
|
||||||
ImVec2(const MyVec2& f) { x = f.x; y = f.y; } \
|
constexpr ImVec2(const MyVec2& f) : x(f.x), y(f.y) {} \
|
||||||
operator MyVec2() const { return MyVec2(x,y); }
|
operator MyVec2() const { return MyVec2(x,y); }
|
||||||
|
|
||||||
#define IM_VEC4_CLASS_EXTRA \
|
#define IM_VEC4_CLASS_EXTRA \
|
||||||
ImVec4(const MyVec4& f) { x = f.x; y = f.y; z = f.z; w = f.w; } \
|
constexpr ImVec4(const MyVec4& f) : x(f.x), y(f.y), z(f.z), w(f.w) {} \
|
||||||
operator MyVec4() const { return MyVec4(x,y,z,w); }
|
operator MyVec4() const { return MyVec4(x,y,z,w); }
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -1180,7 +1180,7 @@ void ImGuiIO::AddInputCharacter(unsigned int c)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
ImGuiInputEvent e;
|
ImGuiInputEvent e;
|
||||||
e.Type = ImGuiInputEventType_Char;
|
e.Type = ImGuiInputEventType_Text;
|
||||||
e.Source = ImGuiInputSource_Keyboard;
|
e.Source = ImGuiInputSource_Keyboard;
|
||||||
e.Text.Char = c;
|
e.Text.Char = c;
|
||||||
g.InputEventsQueue.push_back(e);
|
g.InputEventsQueue.push_back(e);
|
||||||
@ -7882,7 +7882,7 @@ void ImGui::UpdateInputEvents(bool trickle_fast_inputs)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (e->Type == ImGuiInputEventType_Char)
|
else if (e->Type == ImGuiInputEventType_Text)
|
||||||
{
|
{
|
||||||
// Trickling Rule: Stop processing queued events if keys/mouse have been interacted with
|
// Trickling Rule: Stop processing queued events if keys/mouse have been interacted with
|
||||||
if (trickle_fast_inputs && (key_changed || mouse_button_changed != 0 || mouse_moved || mouse_wheeled))
|
if (trickle_fast_inputs && (key_changed || mouse_button_changed != 0 || mouse_moved || mouse_wheeled))
|
||||||
|
@ -469,17 +469,17 @@ IM_MSVC_RUNTIME_CHECKS_OFF
|
|||||||
struct ImVec1
|
struct ImVec1
|
||||||
{
|
{
|
||||||
float x;
|
float x;
|
||||||
ImVec1() { x = 0.0f; }
|
constexpr ImVec1() : x(0.0f) { }
|
||||||
ImVec1(float _x) { x = _x; }
|
constexpr ImVec1(float _x) : x(_x) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
// Helper: ImVec2ih (2D vector, half-size integer, for long-term packed storage)
|
// Helper: ImVec2ih (2D vector, half-size integer, for long-term packed storage)
|
||||||
struct ImVec2ih
|
struct ImVec2ih
|
||||||
{
|
{
|
||||||
short x, y;
|
short x, y;
|
||||||
ImVec2ih() { x = y = 0; }
|
constexpr ImVec2ih() : x(0), y(0) {}
|
||||||
ImVec2ih(short _x, short _y) { x = _x; y = _y; }
|
constexpr ImVec2ih(short _x, short _y) : x(_x), y(_y) {}
|
||||||
explicit ImVec2ih(const ImVec2& rhs) { x = (short)rhs.x; y = (short)rhs.y; }
|
constexpr explicit ImVec2ih(const ImVec2& rhs) : x((short)rhs.x), y((short)rhs.y) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Helper: ImRect (2D axis aligned bounding-box)
|
// Helper: ImRect (2D axis aligned bounding-box)
|
||||||
@ -489,10 +489,10 @@ struct IMGUI_API ImRect
|
|||||||
ImVec2 Min; // Upper-left
|
ImVec2 Min; // Upper-left
|
||||||
ImVec2 Max; // Lower-right
|
ImVec2 Max; // Lower-right
|
||||||
|
|
||||||
ImRect() : Min(0.0f, 0.0f), Max(0.0f, 0.0f) {}
|
constexpr ImRect() : Min(0.0f, 0.0f), Max(0.0f, 0.0f) {}
|
||||||
ImRect(const ImVec2& min, const ImVec2& max) : Min(min), Max(max) {}
|
constexpr ImRect(const ImVec2& min, const ImVec2& max) : Min(min), Max(max) {}
|
||||||
ImRect(const ImVec4& v) : Min(v.x, v.y), Max(v.z, v.w) {}
|
constexpr ImRect(const ImVec4& v) : Min(v.x, v.y), Max(v.z, v.w) {}
|
||||||
ImRect(float x1, float y1, float x2, float y2) : Min(x1, y1), Max(x2, y2) {}
|
constexpr ImRect(float x1, float y1, float x2, float y2) : Min(x1, y1), Max(x2, y2) {}
|
||||||
|
|
||||||
ImVec2 GetCenter() const { return ImVec2((Min.x + Max.x) * 0.5f, (Min.y + Max.y) * 0.5f); }
|
ImVec2 GetCenter() const { return ImVec2((Min.x + Max.x) * 0.5f, (Min.y + Max.y) * 0.5f); }
|
||||||
ImVec2 GetSize() const { return ImVec2(Max.x - Min.x, Max.y - Min.y); }
|
ImVec2 GetSize() const { return ImVec2(Max.x - Min.x, Max.y - Min.y); }
|
||||||
@ -1171,7 +1171,7 @@ enum ImGuiInputEventType
|
|||||||
ImGuiInputEventType_MouseWheel,
|
ImGuiInputEventType_MouseWheel,
|
||||||
ImGuiInputEventType_MouseButton,
|
ImGuiInputEventType_MouseButton,
|
||||||
ImGuiInputEventType_Key,
|
ImGuiInputEventType_Key,
|
||||||
ImGuiInputEventType_Char,
|
ImGuiInputEventType_Text,
|
||||||
ImGuiInputEventType_Focus,
|
ImGuiInputEventType_Focus,
|
||||||
ImGuiInputEventType_COUNT
|
ImGuiInputEventType_COUNT
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user