]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/glcanvas.h
Resolve ambiguity between GetClientXXX() methods in wxOSX wxComboBox.
[wxWidgets.git] / interface / wx / glcanvas.h
index 887e55d76db10c59fb88baa1a71d4675c2b1063f..49a38c958e6fbf110b96c892e9e4885b2bd0f4f0 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxGLContext and wxGLCanvas
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxGLContext and wxGLCanvas
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -32,6 +32,9 @@
     best to check your native platform's glcanvas header (on windows
     include/wx/msw/glcanvas.h) to see what features your native platform
     provides.
     best to check your native platform's glcanvas header (on windows
     include/wx/msw/glcanvas.h) to see what features your native platform
     provides.
+    
+    wxHAS_OPENGL_ES is defined on platforms that only have this implementation
+    available (eg the iPhone) und don't support the full specification.
 
     @library{wxgl}
     @category{gl}
 
     @library{wxgl}
     @category{gl}
@@ -82,7 +85,8 @@ public:
  */
 enum
 {
  */
 enum
 {
-    /// Use true color palette (on if no attributes at all specified).
+    /// Use true color (the default if no attributes at all are specified);
+    /// do not use a palette.
     WX_GL_RGBA = 1,
 
     /// Specifies the number of bits for buffer if not WX_GL_RGBA.
     WX_GL_RGBA = 1,
 
     /// Specifies the number of bits for buffer if not WX_GL_RGBA.
@@ -133,7 +137,7 @@ enum
     /// 1 for multisampling support (antialiasing)
     WX_GL_SAMPLE_BUFFERS,
 
     /// 1 for multisampling support (antialiasing)
     WX_GL_SAMPLE_BUFFERS,
 
-    /// 4 for 2x2 antialising supersampling on most graphics cards
+    /// 4 for 2x2 antialiasing supersampling on most graphics cards
     WX_GL_SAMPLES
 
 };
     WX_GL_SAMPLES
 
 };
@@ -154,7 +158,7 @@ enum
     context to the canvas, and then finally call SwapBuffers() to swap the
     buffers of the OpenGL canvas and thus show your current output.
 
     context to the canvas, and then finally call SwapBuffers() to swap the
     buffers of the OpenGL canvas and thus show your current output.
 
-    Notice that previous versions of wxWidgets used to implicitly create a
+    Notice that versions of wxWidgets previous to 2.9 used to implicitly create a
     wxGLContext inside wxGLCanvas itself. This is still supported in the
     current version but is deprecated now and will be removed in the future,
     please update your code to create the rendering contexts explicitly.
     wxGLContext inside wxGLCanvas itself. This is still supported in the
     current version but is deprecated now and will be removed in the future,
     please update your code to create the rendering contexts explicitly.
@@ -164,11 +168,14 @@ enum
     the correct values of the @e attribList parameter. The values that should
     be set up and their meanings will be described below.
 
     the correct values of the @e attribList parameter. The values that should
     be set up and their meanings will be described below.
 
-    @note OpenGL is not enabled by default. To switch it on, you need to edit
-          setup.h under Windows and set @c wxUSE_GLCANVAS to 1 (you may also
-          need to have to add @c opengl32.lib and @c glu32.lib to the list of
-          libraries your program is linked with). On Unix, pass
-          @c --with-opengl to configure.
+    @note
+        On those platforms which use a configure script (e.g. Linux and Mac OS)
+        OpenGL support is automatically enabled if the relative headers and
+        libraries are found.
+        To switch it on under the other platforms (e.g. Windows), you need to edit
+        the @c setup.h file and set @c wxUSE_GLCANVAS to @c 1 and then also pass
+        @c USE_OPENGL=1 to the make utility. You may also need to add @c opengl32.lib
+        and @c glu32.lib to the list of the libraries your program is linked with.
 
     @library{wxgl}
     @category{gl}
 
     @library{wxgl}
     @category{gl}
@@ -208,7 +215,7 @@ public:
             constants. If a constant should be followed by a value, put it in
             the next array position. For example, WX_GL_DEPTH_SIZE should be
             followed by the value that indicates the number of bits for the
             constants. If a constant should be followed by a value, put it in
             the next array position. For example, WX_GL_DEPTH_SIZE should be
             followed by the value that indicates the number of bits for the
-            depth buffer, e.g:
+            depth buffer, e.g.:
             @code
             attribList[n++] = WX_GL_DEPTH_SIZE;
             attribList[n++] = 32;
             @code
             attribList[n++] = WX_GL_DEPTH_SIZE;
             attribList[n++] = 32;
@@ -239,7 +246,17 @@ public:
 
         @return @true if attributes are supported.
     */
 
         @return @true if attributes are supported.
     */
-    static bool IsDisplaySupported(const int* attribList = NULL);
+    static bool IsDisplaySupported(const int* attribList);
+
+    /**
+        Returns true if the extension with given name is supported
+
+        Notice that while this function is implemented for all of GLX, WGL and
+        AGL the extensions names are usually not the same for different
+        platforms and so the code using it still usually uses conditional
+        compilation.
+    */
+    static bool IsExtensionSupported(const char *extension);
 
     /**
         Sets the current colour for this window (using @c glcolor3f()), using
 
     /**
         Sets the current colour for this window (using @c glcolor3f()), using
@@ -261,7 +278,7 @@ public:
 
         @return @false if an error occurred.
     */
 
         @return @false if an error occurred.
     */
-    bool SetCurrent(const wxGLContext context);
+    bool SetCurrent(const wxGLContext& context) const;
 
     /**
         Swaps the double-buffer of this window, making the back-buffer the
 
     /**
         Swaps the double-buffer of this window, making the back-buffer the