X-Git-Url: http://nitlanguage.org diff --git a/lib/egl.nit b/lib/egl.nit index 8934b7e..a39b1c6 100644 --- a/lib/egl.nit +++ b/lib/egl.nit @@ -42,12 +42,7 @@ extern class EGLDisplay `{ EGLDisplay `} fun is_valid: Bool `{ return self != EGL_NO_DISPLAY; `} fun initialize: Bool `{ - EGLBoolean r = eglInitialize(self, NULL, NULL); - if (r == EGL_FALSE) { - fprintf(stderr, "Unable to eglInitialize"); - return 0; - } - return 1; + return eglInitialize(self, NULL, NULL); `} fun major_version: Int `{ @@ -88,7 +83,7 @@ extern class EGLDisplay `{ EGLDisplay `} } configs = (EGLConfig*)malloc(sizeof(EGLConfig)*n_configs); - + r = eglChooseConfig(self, c_attribs, configs, n_configs, &n_configs); if (r == EGL_FALSE) { @@ -103,6 +98,12 @@ extern class EGLDisplay `{ EGLDisplay `} } `} + private fun report_egl_error(cmsg: CString) + do + var msg = cmsg.to_s + print "libEGL error: {msg}" + end + # Can be used directly, but it is preferable to use a `EGLConfigAttribs` fun config_attrib(config: EGLConfig, attribute: Int): Int `{ EGLint val; @@ -130,11 +131,7 @@ extern class EGLDisplay `{ EGLDisplay `} `} fun make_current(draw, read: EGLSurface, context: EGLContext): Bool `{ - if (eglMakeCurrent(self, draw, read, context) == EGL_FALSE) { - fprintf(stderr, "Unable to eglMakeCurrent"); - return 0; - } - return 1; + return eglMakeCurrent(self, draw, read, context); `} # Can be used directly, but it is preferable to use a `EGLSurfaceAttribs` @@ -167,15 +164,15 @@ extern class EGLDisplay `{ EGLDisplay `} end end - private fun query_string(name: Int): String import NativeString.to_s `{ - return NativeString_to_s((char *)eglQueryString(self, name)); + private fun query_string(name: Int): String import CString.to_s `{ + return CString_to_s((char *)eglQueryString(self, name)); `} fun vendor: String do return query_string(0x3053) fun version: String do return query_string(0x3054) - fun extensions: Array[String] do return query_string(0x3055).split_with(" ") + fun extensions: Array[String] do return query_string(0x3055).trim.split_with(" ") fun client_apis: Array[String] do return query_string(0x308D).split_with(" ") @@ -443,14 +440,9 @@ class EGLConfigChooser end end -redef class Object - private fun report_egl_error(cmsg: NativeString) - do - var msg = cmsg.to_s - print "libEGL error: {msg}" - end -end - fun egl_bind_opengl_api: Bool `{ return eglBindAPI(EGL_OPENGL_API); `} fun egl_bind_opengl_es_api: Bool `{ return eglBindAPI(EGL_OPENGL_ES_API); `} fun egl_bind_openvg_api: Bool `{ return eglBindAPI(EGL_OPENVG_API); `} + +# Handle to the default display to use with EGL +fun egl_default_display: Pointer `{ return EGL_DEFAULT_DISPLAY; `}