Mercurial > pub > dyncall > bindings
view R/rdyncall/demo/gles.R @ 66:7a61dd082341 default tip
pydc:
- fix double free triggered by capsule destructor, when freeing pydc and callback objects, manually
author | Tassilo Philipp |
---|---|
date | Fri, 24 May 2024 18:16:29 +0200 |
parents | 0cfcc391201f |
children |
line wrap: on
line source
library(rdyncall) dynport(SDL) dynport(EGL) dynbind("X11", "XOpenDisplay(Z)p;") init <- function() { SDL_Init(SDL_INIT_VIDEO) srf <- SDL_SetVideoMode(640,480,32,SDL_SWSURFACE) dpy <- XOpenDisplay(NULL) egl <- eglGetDisplay(dpy) if (is.nullptr(egl)) { error("failed: eglGetDisplay") } status <- eglInitialize(egl,NULL,NULL) if (!status) { error("failed: eglInitialize") } numConfigOuts <- integer(1) g_configAttribs <- as.integer(c( EGL_RED_SIZE, 5, EGL_GREEN_SIZE, 6, EGL_BLUE_SIZE, 5, EGL_DEPTH_SIZE, 16, EGL_SURFACE_TYPE, EGL_WINDOW_BIT, EGL_RENDERABLE_TYPE, EGL_OPENGL_ES_BIT, EGL_BIND_TO_TEXTURE_RGBA, EGL_TRUE, EGL_NONE )) g_eglConfig <- raw(4) s <- eglChooseConfig(egl, g_configAttribs, g_eglConfig, 1, numConfigOuts) if (s != EGL_TRUE || numConfigOuts == 0) { error("failed: eglChooseConfig") } } init()