Files
bullet3/btgui/OpenGLWindow/X11OpenGLWindow.h
Erwin Coumans f199a4a972 add fileOpenDialog and enable loading of urdf from GUI
(will add .bullet file support soon)
Uses native Windows (getFileOpenFileName) and Mac OSX NSOpenPanel,
on Linux using pipe popen to zenity)
2014-08-31 11:53:44 -07:00

68 lines
1.6 KiB
C++

#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 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);
int fileOpenDialog(char* filename, int maxNameLength);
};
#endif