diff options
Diffstat (limited to 'src/include/imgui_ops.h')
-rw-r--r-- | src/include/imgui_ops.h | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/src/include/imgui_ops.h b/src/include/imgui_ops.h new file mode 100644 index 0000000..6089f94 --- /dev/null +++ b/src/include/imgui_ops.h @@ -0,0 +1,106 @@ + + +ImVec2 operator+(ImVec2 A, ImVec2 B) +{ + ImVec2 Result; + + Result.x = A.x + B.x; + Result.y = A.y + B.y; + + return Result; +} + +ImVec2 operator+(ImVec2 A, int B) +{ + ImVec2 Result; + + Result.x = A.x + B; + Result.y = A.y + B; + + return Result; +} + +ImVec2 operator-(ImVec2 A, int B) +{ + ImVec2 Result; + + Result.x = A.x - B; + Result.y = A.y - B; + + return Result; +} + +ImVec2 operator-(ImVec2 A, ImVec2 B) +{ + ImVec2 Result; + + Result.x = A.x - B.x; + Result.y = A.y - B.y; + + return Result; +} + +ImVec2 operator*(ImVec2 A, real32 B) +{ + ImVec2 Result; + + Result.x = A.x * B; + Result.y = A.y * B; + + return Result; +} + +ImVec2 operator*(ImVec2 A, ImVec2 B) +{ + ImVec2 Result; + + Result.x = A.x * B.x; + Result.y = A.y * B.y; + + return Result; +} + +ImVec2 operator/(ImVec2 A, ImVec2 B) +{ + ImVec2 Result; + + Result.x = A.x / B.x; + Result.y = A.y / B.y; + + return Result; +} + +ImVec2 operator/(ImVec2 A, real32 B) +{ + ImVec2 Result; + + Result.x = A.x / B; + Result.y = A.y / B; + + return Result; +} + +ImVec2 operator/(real32 A, ImVec2 B) +{ + ImVec2 Result; + + Result.x = A / B.x; + Result.y = A / B.y; + + return Result; +} + +inline bool32 +IsRectTouching(ImVec2 Min1, ImVec2 Max1, ImVec2 Min2, ImVec2 Max2) +{ + bool32 Result = 0; + if ((Max1.x > Min2.x && Min1.x < Min2.x) && + (Max1.y > Min2.y && Min1.y < Min2.y)) + Result = 1; + // if ( + // Result = 1; + // if (Min1.x > Min2.x) + + return(Result); +} + |