text: #ifndef X11_OPENGL_WINDOW_H
  #define X11_OPENGL_WINDOW_H
  
  #define b3gDefaultOpenGLWindow X11OpenGLWindow
  
  #include "b3gWindowInterface.h"
  
  class X11OpenGLWindow : public b3gWindowInterface
  {
  
  	struct InternalData2*   m_data;
          bool m_OpenGLInitialized;
  	bool m_requestedExit;
  
  protected:
  
          void enableOpenGL();
  
          void disableOpenGL();
  
          void pumpMessage();
  
          int getAsciiCodeFromVirtualKeycode(int orgCode);
  
  public:
  
          X11OpenGLWindow();
  
          virtual ~X11OpenGLWindow();
  
          virtual void    createWindow(const b3gWindowConstructionInfo& ci);
  
          virtual void    closeWindow();
  
          virtual void    startRendering();
  
          virtual void    renderAllObjects();
  
          virtual void    endRendering();
  
          virtual float getRetinaScale() const {return 1.f;}
  
  
  	virtual void    runMainLoop();
          virtual float   getTimeInSeconds();
  
          virtual bool    requestedExit() const;
          virtual void    setRequestExit() ;
  
          virtual void getRenderingResolution(int& width, int& height) const;
  
          virtual void setMouseMoveCallback(b3MouseMoveCallback   mouseCallback);
          virtual void setMouseButtonCallback(b3MouseButtonCallback       mouseCallback);
          virtual void setResizeCallback(b3ResizeCallback resizeCallback);
          virtual void setWheelCallback(b3WheelCallback wheelCallback);
          virtual void setKeyboardCallback( b3KeyboardCallback    keyboardCallback);
          virtual b3KeyboardCallback      getKeyboardCallback();
  
          virtual void setRenderCallback( b3RenderCallback renderCallback);
  
          virtual void setWindowTitle(const char* title);
  
  };
  
  
  #endif
  
  