#pragma once

#include "../vst2.x/aeffeditor.h"

#include <windows.h>		// Header File For Windows
#include <gl\gl.h>			// Header File For The OpenGL32 Library
#include <gl\glu.h>			// Header File For The GLu32 Library
#include <gl\glaux.h>		// Header File For The Glaux Library



class dh_opengleditor : public AEffEditor
{
public:
	dh_opengleditor(void);
	virtual ~dh_opengleditor(void);

	//virtual int getRect(ERect **rect) {*rect = &_rect; return true;};

	virtual GLvoid ReSizeGLScene(GLsizei width, GLsizei height);
	virtual int InitGL(GLvoid);
	virtual int DrawGLScene(GLvoid);
	virtual BOOL CreateGLWindow(char* title, int width, int height, int bits, bool fullscreenflag);
	virtual GLvoid KillGLWindow(GLvoid);
		
	//bool	keys[256];			// Array Used For The Keyboard Routine
	//bool	active;		// Window Active Flag Set To TRUE By Default
	bool	fullscreen;	// Fullscreen Flag Set To Fullscreen Mode By Default
	RECT   WindowRect;
private:

//Register window class.
WNDCLASSEX wc;

HDC			hDC;		// Private GDI Device Context
HGLRC		hRC;		// Permanent Rendering Context
HWND		hWnd;		// Holds Our Window Handle
//HINSTANCE	hInstance;		// Holds The Instance Of The Application

};
