#ifndef _BASEGL_ #define _BASEGL_ #include class BaseOpenGL{ private: int window; static void reshapeFunc(int,int); static void displayFunc(void); static void keyboardFunc(unsigned char tecla, int x, int y); static void specialFunc(int tecla, int x, int y); static void idleFunc(void); protected: virtual int initGL(); virtual void draw(void) = 0; virtual void idleDraw(void) = 0; virtual void reshapeWindow(int,int) = 0; virtual void keyBoardEvent(unsigned char,int,int) = 0; virtual void specialKeyBoardEvent(int,int,int) = 0; virtual void initialStartup(); static BaseOpenGL* reference; std::string title; int width; int height; public: BaseOpenGL(); virtual int startOpenGL(int,int,const char*); virtual void glEnable2D(); virtual void glDisable2D(); inline int getWidth(); inline int getHeight(); inline int getWindowNumber(); inline std::string getTitle(); virtual ~BaseOpenGL(); }; #endif