12 #include <mrpt/config.h> 26 #if MRPT_HAS_WXWIDGETS 28 #include <wx/artprov.h> 29 #include <wx/bitmap.h> 33 #include <wx/string.h> 35 #include <wx/busyinfo.h> 36 #include <wx/colordlg.h> 37 #include <wx/dcmemory.h> 38 #include <wx/dirdlg.h> 39 #include <wx/filedlg.h> 40 #include <wx/imaglist.h> 42 #include <wx/msgdlg.h> 43 #include <wx/progdlg.h> 44 #include <wx/textdlg.h> 46 #if wxUSE_GLCANVAS && MRPT_HAS_OPENGL_GLUT 48 #include <wx/dcclient.h> 49 #include <wx/glcanvas.h> 67 class CWxGLCanvasBase :
public CGlCanvasBase,
73 wxWindow* parent, wxWindowID
id = wxID_ANY,
74 const wxPoint& pos = wxDefaultPosition,
75 const wxSize&
size = wxDefaultSize,
long style = 0,
76 const wxString&
name = _T(
"CWxGLCanvasBase"));
78 ~CWxGLCanvasBase()
override;
80 void OnPaint(wxPaintEvent& event);
81 void OnSize(wxSizeEvent& event);
82 void OnEraseBackground(wxEraseEvent& event);
83 void OnEnterWindow(wxMouseEvent& event);
85 void OnChar(wxKeyEvent& event);
87 void OnMouseDown(wxMouseEvent& event);
88 void OnMouseMove(wxMouseEvent& event);
89 void OnMouseUp(wxMouseEvent&);
90 void OnMouseWheel(wxMouseEvent& event);
102 virtual void OnPreRender() {}
103 virtual void OnPostRender() {}
104 virtual void OnPostRenderSwapBuffers(
double At, wxPaintDC& dc)
113 wxGLContext* m_gl_context =
nullptr;
117 unsigned long m_StartTime = 0;
118 unsigned long m_LastTime = 0;
119 unsigned long m_LastRedraw = 0;
122 void OnWindowCreation(wxWindowCreateEvent& ev);
123 void swapBuffers()
override;
124 void preRender()
override;
125 void postRender()
override;
126 void renderError(
const std::string& err_msg)
override;
133 #endif // wxUSE_GLCANVAS 134 #endif // MRPT_HAS_WXWIDGETS
Keeps a list of text messages which can be rendered to OpenGL contexts by graphic classes...
GLsizei const GLchar ** string
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
GLuint const GLchar * name
#define MRPT_UNUSED_PARAM(a)
Determines whether this is an X86 or AMD64 platform.