From bedd6906eabdd513042d6a178d4dc56a3a41d1d3 Mon Sep 17 00:00:00 2001 From: Fox Caminiti Date: Fri, 16 Dec 2022 20:16:43 -0500 Subject: v3, file/build organization --- src/include/imgui_ops.h | 106 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 src/include/imgui_ops.h (limited to 'src/include/imgui_ops.h') 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); +} + -- cgit v1.2.3