-/* EXT_vertex_array */
-void glArrayElementEXT(GLint i);
-void glColorPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-void glDrawArraysEXT(GLenum mode, GLint first, GLsizei count);
-void glEdgeFlagPointerEXT(GLsizei stride, GLsizei count, const GLboolean *pointer);
-void glGetPointervEXT(GLenum pname, GLvoid* *params);
-void glIndexPointerEXT(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-void glNormalPointerEXT(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-void glTexCoordPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-void glVertexPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-
-/* EXT_color_subtable */
-void glColorSubtableEXT(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *table);
+class WXDLLIMPEXP_GL wxGLCanvas : public wxGLCanvasBase
+{
+public:
+ wxGLCanvas(wxWindow *parent,
+ wxWindowID id = wxID_ANY,
+ const int *attribList = NULL,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxGLCanvasName,
+ const wxPalette& palette = wxNullPalette);
+
+ bool Create(wxWindow *parent,
+ wxWindowID id = wxID_ANY,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxGLCanvasName,
+ const int *attribList = NULL,
+ const wxPalette& palette = wxNullPalette);
+
+ virtual ~wxGLCanvas();
+
+ // implement wxGLCanvasBase methods
+ virtual void SwapBuffers();
+
+
+ // MSW-specific helpers
+ // --------------------
+
+ // get the HDC used for OpenGL rendering
+ HDC GetHDC() const { return m_hDC; }
+
+ // try to find pixel format matching the given attributes list for the
+ // specified HDC, return 0 on error, otherwise pfd is filled in with the
+ // information from attribList if non-NULL
+ static int ChooseMatchingPixelFormat(HDC hdc, const int *attribList,
+ PIXELFORMATDESCRIPTOR *pfd = NULL);
+
+#if wxUSE_PALETTE
+ // palette stuff
+ bool SetupPalette(const wxPalette& palette);
+ virtual wxPalette CreateDefaultPalette();
+ void OnQueryNewPalette(wxQueryNewPaletteEvent& event);
+ void OnPaletteChanged(wxPaletteChangedEvent& event);
+#endif // wxUSE_PALETTE
+
+ // deprecated methods using the implicit wxGLContext, associate the context
+ // explicitly with the window instead
+#if WXWIN_COMPATIBILITY_2_8
+ wxDEPRECATED(
+ wxGLCanvas(wxWindow *parent,
+ wxWindowID id = wxID_ANY,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxGLCanvasName,
+ const int *attribList = NULL,
+ const wxPalette& palette = wxNullPalette)
+ );