mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-22 11:57:00 +00:00
Declare ImVec2 and ImVec4 constructors as constexpr (#4995)
This commit is contained in:
parent
955aacfbc5
commit
71f98dd056
@ -40,6 +40,7 @@ Breaking changes:
|
|||||||
Other Changes:
|
Other Changes:
|
||||||
|
|
||||||
- Stack Tool: Added option to copy item path to clipboard. (#4631)
|
- Stack Tool: Added option to copy item path to clipboard. (#4631)
|
||||||
|
- Misc: Added constexpr to ImVec2/ImVec4 inline constructors. (#4995) [@Myriachan]
|
||||||
- Drawlist: Fixed PathArcTo() emitting terminating vertices too close to arc vertices. (#4993) [@thedmd]
|
- Drawlist: Fixed PathArcTo() emitting terminating vertices too close to arc vertices. (#4993) [@thedmd]
|
||||||
|
|
||||||
|
|
||||||
|
10
imgui.h
10
imgui.h
@ -249,8 +249,8 @@ IM_MSVC_RUNTIME_CHECKS_OFF
|
|||||||
struct ImVec2
|
struct ImVec2
|
||||||
{
|
{
|
||||||
float x, y;
|
float x, y;
|
||||||
ImVec2() { x = y = 0.0f; }
|
constexpr ImVec2() : x(0.0f), y(0.0f) { }
|
||||||
ImVec2(float _x, float _y) { x = _x; y = _y; }
|
constexpr ImVec2(float _x, float _y) : x(_x), y(_y) { }
|
||||||
float operator[] (size_t idx) const { IM_ASSERT(idx <= 1); return (&x)[idx]; } // We very rarely use this [] operator, the assert overhead is fine.
|
float operator[] (size_t idx) const { IM_ASSERT(idx <= 1); return (&x)[idx]; } // We very rarely use this [] operator, the assert overhead is fine.
|
||||||
float& operator[] (size_t idx) { IM_ASSERT(idx <= 1); return (&x)[idx]; } // We very rarely use this [] operator, the assert overhead is fine.
|
float& operator[] (size_t idx) { IM_ASSERT(idx <= 1); return (&x)[idx]; } // We very rarely use this [] operator, the assert overhead is fine.
|
||||||
#ifdef IM_VEC2_CLASS_EXTRA
|
#ifdef IM_VEC2_CLASS_EXTRA
|
||||||
@ -261,9 +261,9 @@ struct ImVec2
|
|||||||
// ImVec4: 4D vector used to store clipping rectangles, colors etc. [Compile-time configurable type]
|
// ImVec4: 4D vector used to store clipping rectangles, colors etc. [Compile-time configurable type]
|
||||||
struct ImVec4
|
struct ImVec4
|
||||||
{
|
{
|
||||||
float x, y, z, w;
|
float x, y, z, w;
|
||||||
ImVec4() { x = y = z = w = 0.0f; }
|
constexpr ImVec4() : x(0.0f), y(0.0f), z(0.0f), w(0.0f) { }
|
||||||
ImVec4(float _x, float _y, float _z, float _w) { x = _x; y = _y; z = _z; w = _w; }
|
constexpr ImVec4(float _x, float _y, float _z, float _w) : x(_x), y(_y), z(_z), w(_w) { }
|
||||||
#ifdef IM_VEC4_CLASS_EXTRA
|
#ifdef IM_VEC4_CLASS_EXTRA
|
||||||
IM_VEC4_CLASS_EXTRA // Define additional constructors and implicit cast operators in imconfig.h to convert back and forth between your math types and ImVec4.
|
IM_VEC4_CLASS_EXTRA // Define additional constructors and implicit cast operators in imconfig.h to convert back and forth between your math types and ImVec4.
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user