#ifndef WINDOWOBJ_HPP
#define WINDOWOBJ_HPP

#include "../global.hpp"


	enum vidShow_t {
		FULLSCREEN,
		WINDOWED
	};

#define NUMRES 12

	enum vidMode_t {
			v320_200,		v320_240,
			v400_300,		v480_360,
			v512_384,		v640_480,
			v800_600,		v960_720,
			v1024_768,		v1152_864,
			v1280_960,		v1280_1024
	};

	struct vmode_t { int w; int h; };

class win {
public:

	int lMouse;
	int rMouse;

	// mouse history
	short mx[10];
	short my[10];



	// -------------------------
	// - Window Related Stuff  -
	// -------------------------

	// available resolutions for width x height #define MUMRES 12
	struct vmode_t *vmodes;

	// Debug info is saved here
	FILE *fp;

	// info regarding windows information
	int			classActive;	// does a class exist?
	char		*className;		// whats the class name
	HINSTANCE	hInst;			// handle to the class
	HWND		hWnd;			// handle to the window
	HDC			hDc;			// handle to the device context of window
	HGLRC		hRc;			// handle to rendering context of window
	int			goodpfCount;	// count of usable pfd's
	int			goodpf[30];		// indexes for usable pfd's
	int			activeResolution;	// current resolution vmode_t

	
	int regClass ( WNDPROC MainWndProc, HINSTANCE hInst, char *className);

	int openWindow ( char *winTitle,int resId, int resType );

	int changeResolution (int resMode );

	int setMode ( int pfdId, int type );

	int probeVideo ( void );

	int changeWindow ( int x, int y, int width, int height, int resId );

	void print ( char *format, ... );

	win::win ( void );

};






#endif