#ifndef _IVECTOR2_HPP_
#define _IVECTOR2_HPP_

/*** SDL Header Files ***/
#include <SDL.h>   

/*** DLL Header File ***/
#include "dllExport.h"

namespace MathEngine {
	struct Vector2;

	struct EXPORT_FROM_MYDLL iVector2
	{
		iVector2( const int X = 0, const int Y = 0 );
		iVector2( const Vector2& copy );
		iVector2( const SDL_Rect& copy );

		iVector2& operator = ( const Vector2& copy );
		iVector2& operator = ( const SDL_Rect& copy );

		bool operator == ( const iVector2& other ) const;
		bool operator == ( const SDL_Rect& other ) const;

		iVector2& operator += ( const iVector2& other );
		iVector2& operator += ( const SDL_Rect& other );

		iVector2& operator -= (const iVector2& other);
		iVector2& operator -= (const SDL_Rect& other);

		iVector2& operator + ( const iVector2& other );
		iVector2& operator + ( const SDL_Rect& other );	

		int x;
		int y;
	};/// END STRUCT DEFINITION iVector2
}/// END NAMESPACE DEFINITION MathEngine
MathEngine::iVector2 operator + (const MathEngine::iVector2& lhs, const MathEngine::iVector2& rhs);
#endif/// END IFNDEF _IVECTOR2_HPP_