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); }