00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00025 #ifndef SFML_VECTOR2_HPP
00026 #define SFML_VECTOR2_HPP
00027
00028
00029 namespace sf
00030 {
00036 template <typename T>
00037 class Vector2
00038 {
00039 public :
00040
00045 Vector2();
00046
00054 Vector2(T X, T Y);
00055
00057
00059 T x;
00060 T y;
00061 };
00062
00071 template <typename T>
00072 Vector2<T> operator -(const Vector2<T>& V);
00073
00083 template <typename T>
00084 Vector2<T>& operator +=(Vector2<T>& V1, const Vector2<T>& V2);
00085
00095 template <typename T>
00096 Vector2<T>& operator -=(Vector2<T>& V1, const Vector2<T>& V2);
00097
00107 template <typename T>
00108 Vector2<T> operator +(const Vector2<T>& V1, const Vector2<T>& V2);
00109
00119 template <typename T>
00120 Vector2<T> operator -(const Vector2<T>& V1, const Vector2<T>& V2);
00121
00131 template <typename T>
00132 Vector2<T> operator *(const Vector2<T>& V, T X);
00133
00143 template <typename T>
00144 Vector2<T> operator *(T X, const Vector2<T>& V);
00145
00155 template <typename T>
00156 Vector2<T>& operator *=(Vector2<T>& V, T X);
00157
00167 template <typename T>
00168 Vector2<T> operator /(const Vector2<T>& V, T X);
00169
00179 template <typename T>
00180 Vector2<T>& operator /=(Vector2<T>& V, T X);
00181
00191 template <typename T>
00192 bool operator ==(const Vector2<T>& V1, const Vector2<T>& V2);
00193
00203 template <typename T>
00204 bool operator !=(const Vector2<T>& V1, const Vector2<T>& V2);
00205
00206 #include <SFML/System/Vector2.inl>
00207
00208
00209 typedef Vector2<int> Vector2i;
00210 typedef Vector2<float> Vector2f;
00211
00212 }
00213
00214
00215 #endif // SFML_VECTOR2_HPP