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 `{
}
configs = (EGLConfig*)malloc(sizeof(EGLConfig)*n_configs);
-
+
r = eglChooseConfig(self, c_attribs, configs, n_configs, &n_configs);
if (r == EGL_FALSE) {
}
`}
- private fun report_egl_error(cmsg: NativeString)
+ private fun report_egl_error(cmsg: CString)
do
var msg = cmsg.to_s
print "libEGL error: {msg}"
`}
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`
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(" ")
fun red_size: Int do return display.config_attrib(config, 0x3024)
fun depth_size: Int do return display.config_attrib(config, 0x3025)
fun stencil_size: Int do return display.config_attrib(config, 0x3026)
+ fun samples: Int do return display.config_attrib(config, 0x3031)
+ fun sample_buffers: Int do return display.config_attrib(config, 0x3032)
fun native_visual_id: Int do return display.config_attrib(config, 0x302E)
fun native_visual_type: Int do return display.config_attrib(config, 0x302F)
fun alpha_size=(size: Int) do insert_attrib_with_val(0x3021, size)
fun depth_size=(size: Int) do insert_attrib_with_val(0x3025, size)
fun stencil_size=(size: Int) do insert_attrib_with_val(0x3026, size)
- fun sample_buffers=(size: Int) do insert_attrib_with_val(0x3031, size)
+ fun samples=(count: Int) do insert_attrib_with_val(0x3031, count)
+ fun sample_buffers=(size: Int) do insert_attrib_with_val(0x3032, size)
fun caveat=(caveat: EGLConfigCaveat) do insert_attrib_with_val(0x3050, caveat.to_i)