Files
prime/include/Kyoto/Math/CVector2i.hpp

35 lines
857 B
C++

#ifndef _CVECTOR2I
#define _CVECTOR2I
#include "Kyoto/Streams/CInputStream.hpp"
#include "types.h"
class CVector2i {
public:
CVector2i(int x = 0, int y = 0);
CVector2i(CInputStream& in) {
mX = in.ReadLong();
mY = in.ReadLong();
}
int GetX() const { return mX; }
void SetX(const int x) { mX = x; }
int GetY() const { return mY; }
void SetY(const int y) { mY = y; }
int& operator[](int idx) { return *(&mX + idx); }
const int& operator[](int idx) const { return *(&mX + idx); }
private:
int mX;
int mY;
};
CVector2i operator+(const CVector2i& lhs, const CVector2i& rhs);
CVector2i operator+(const CVector2i& lhs, const CVector2i& rhs);
bool operator==(const CVector2i& lhs, const CVector2i& rhs);
CVector2i operator*(const CVector2i& lhs, int rhs);
CVector2i operator/(const CVector2i& lhs, int rhs);
#endif // _CVECTOR2I