Merge: Gamnit on iOS
[nit.git] / lib / glesv2 / glesv2.nit
index b8e0bcb..c70f631 100644 (file)
@@ -17,8 +17,8 @@
 # OpenGL graphics rendering library for embedded systems, version 2.0
 #
 # This is a low-level wrapper, it can be useful for developers already familiar
-# with the C API of OpenGL. Most developers will prefer to use higher level
-# wrappers such as `mnit` and `gammit`.
+# with the C API of OpenGL. Most developers will prefer to use the higher level
+# graphic API `gammit`.
 #
 # Defines the annotations `glsl_vertex_shader` and `glsl_fragment_shader`
 # applicable on string literals to check shader code using `glslangValidator`.
@@ -41,7 +41,11 @@ import android::aware
 intrude import c
 
 in "C Header" `{
+#ifdef __APPLE__
+       #include <OpenGLES/ES2/gl.h>
+#else
        #include <GLES2/gl2.h>
+#endif
 `}
 
 # OpenGL ES program to which we attach shaders
@@ -1328,7 +1332,13 @@ fun gl_FRAMEBUFFER_BINDING: GLGetParameterName `{ return GL_FRAMEBUFFER_BINDING;
 fun gl_RENDERBUFFER_BINDING: GLGetParameterName `{ return GL_RENDERBUFFER_BINDING; `}
 
 # Return a string describing the current GL configuration
-fun glGetString(name: GLEnum): String do return glGetString_native(name).to_s
+fun glGetString(name: GLEnum): String
+do
+       var cstr = glGetString_native(name)
+       assert not cstr.address_is_null
+       return cstr.to_s
+end
+
 private fun glGetString_native(name: GLEnum): CString `{ return (char*)glGetString(name); `}
 
 # Company responsible for this GL implementation