text: /////////////////////////////////////////////////////////////////////////////
  // Name:        glcanvas.h
  // Purpose:     wxGLCanvas, for using OpenGL/Mesa with wxWidgets and GTK
  // Author:      Robert Roebling
  // Modified by:
  // Created:     17/8/98
  // RCS-ID:      $Id$
  // Copyright:   (c) Robert Roebling
  // Licence:     wxWindows licence
  /////////////////////////////////////////////////////////////////////////////
  
  #ifndef _WX_GLCANVAS_H_
  #define _WX_GLCANVAS_H_
  
  #include "wx/unix/glx11.h"
  
  //---------------------------------------------------------------------------
  // wxGLCanvas
  //---------------------------------------------------------------------------
  
  class WXDLLIMPEXP_GL wxGLCanvas : public wxGLCanvasX11
  {
  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);
  
  
      // implement wxGLCanvasX11 methods
      // --------------------------------
  
      virtual Window GetXWindow() const;
  
  
      // deprecated methods
      // ------------------
  
  #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)
      );
  
      wxDEPRECATED(
      wxGLCanvas(wxWindow *parent,
                 const wxGLContext *shared,
                 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)
      );
  
      wxDEPRECATED(
      wxGLCanvas(wxWindow *parent,
                 const wxGLCanvas *shared,
                 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)
      );
  
      // called from "realized" callback to create the implicit context if needed
      void GTKInitImplicitContext();
  #endif // WXWIN_COMPATIBILITY_2_8
  
      // implementation from now on
      void OnInternalIdle();
  
      bool              m_exposed;
  
  #if WXWIN_COMPATIBILITY_2_8
      wxGLContext      *m_sharedContext;
      wxGLCanvas       *m_sharedContextOf;
      const bool        m_createImplicitContext;
  #endif // WXWIN_COMPATIBILITY_2_8
  
  private:
      DECLARE_CLASS(wxGLCanvas)
  };
  
  #endif // _WX_GLCANVAS_H_
  
  