+#include "glcontext.h"
#include <vector>
#include <EGL/egl.h>
#include <GLES2/gl2.h>
#include <android/native_window.h>
#include "display.h"
-#include "glcontext.h"
#include "window_private.h"
using namespace std;
struct GLContext::Private
{
- EGLDisplay display;
- EGLConfig config;
- EGLSurface surface;
- EGLContext context;
+ EGLDisplay display = EGL_NO_DISPLAY;
+ EGLConfig config = EGL_NO_CONFIG;
+ EGLSurface surface = EGL_NO_SURFACE;
+ EGLContext context = EGL_NO_CONTEXT;
void attach(WindowHandle);
void detach();
if(egl_display==EGL_NO_DISPLAY)
throw runtime_error("no egl display");
- if(!eglInitialize(egl_display, 0, 0))
+ if(!eglInitialize(egl_display, nullptr, nullptr))
throw runtime_error("could not initialize egl");
vector<int> attribs;
eglGetConfigAttrib(priv->display, config, EGL_NATIVE_VISUAL_ID, &format);
ANativeWindow_setBuffersGeometry(native_window, 0, 0, format);
- priv->surface = eglCreateWindowSurface(priv->display, config, native_window, 0);
+ priv->surface = eglCreateWindowSurface(priv->display, config, native_window, nullptr);
eglBindAPI(EGL_OPENGL_ES_API);
int context_attribs[] = { EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE };
- priv->context = eglCreateContext(priv->display, config, 0, context_attribs);
+ priv->context = eglCreateContext(priv->display, config, nullptr, context_attribs);
eglMakeCurrent(priv->display, priv->surface, priv->surface, priv->context);