]> git.saurik.com Git - wxWidgets.git/commitdiff
adding glFrustum to compat API, supporting SetColour on OpenGL ES
authorStefan Csomor <csomor@advancedconcepts.ch>
Mon, 14 Sep 2009 08:37:23 +0000 (08:37 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Mon, 14 Sep 2009 08:37:23 +0000 (08:37 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61921 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/glcanvas.h
src/common/glcmn.cpp

index 3af85386d07589cd5af8f497a34a1fb62f079762..7c325642fc9b13710a20568cee60ac3372d6c808 100644 (file)
@@ -118,11 +118,9 @@ public:
     // miscellaneous helper functions
     // ------------------------------
 
-#ifndef wxHAS_OPENGL_ES
     // call glcolor() for the colour with the given name, return false if
     // colour not found
     bool SetColour(const wxString& colour);
-#endif
 
     // return true if the extension with given name is supported
     //
@@ -231,6 +229,8 @@ public:
     wxGLAPI();
     ~wxGLAPI();
 
+    static void glFrustum(GLfloat left, GLfloat right, GLfloat bottom, 
+                            GLfloat top, GLfloat zNear, GLfloat zFar);
     static void glBegin(GLenum mode);
     static void glTexCoord2f(GLfloat s, GLfloat t);
     static void glVertex3f(GLfloat x, GLfloat y, GLfloat z);
index e52e4173e8ec230499bd61810c96944d39f7c02a..61ad33848338c11ad9b48588cb6767dca5e6a84f 100644 (file)
@@ -63,13 +63,15 @@ bool wxGLCanvasBase::SetCurrent(const wxGLContext& context) const
     return context.SetCurrent(*static_cast<const wxGLCanvas *>(this));
 }
 
-#ifndef wxHAS_OPENGL_ES
 bool wxGLCanvasBase::SetColour(const wxString& colour)
 {
     wxColour col = wxTheColourDatabase->Find(colour);
     if ( !col.Ok() )
         return false;
 
+#ifdef wxHAS_OPENGL_ES
+    wxGLAPI::glColor3f(col.Red() / 256., col.Green() / 256., col.Blue() / 256.);
+#else
     GLboolean isRGBA;
     glGetBooleanv(GL_RGBA_MODE, &isRGBA);
     if ( isRGBA )
@@ -87,10 +89,9 @@ bool wxGLCanvasBase::SetColour(const wxString& colour)
 
         glIndexi(pix);
     }
-
+#endif
     return true;
 }
-#endif
 
 wxGLCanvasBase::~wxGLCanvasBase()
 {
@@ -206,6 +207,17 @@ wxGLAPI::~wxGLAPI()
 {
 }
 
+void wxGLAPI::glFrustum(GLfloat left, GLfloat right, GLfloat bottom, 
+                            GLfloat top, GLfloat zNear, GLfloat zFar)
+{
+#if wxUSE_OPENGL_EMULATION
+    ::glFrustumf(left, right, bottom, top, zNear, zFar);
+#else
+    ::glFrustum(left, right, bottom, top, zNear, zFar);
+#endif
+}
+
+
 void wxGLAPI::glBegin(GLenum mode)
 {
 #if wxUSE_OPENGL_EMULATION