if(this == getCurrentDisplay())
{
- setCurrentDisplay(EGL_NO_DISPLAY);
+ setCurrentDisplay(nullptr);
}
}
if(surface == getCurrentDrawSurface())
{
- setCurrentDrawSurface(EGL_NO_SURFACE);
+ setCurrentDrawSurface(nullptr);
}
if(surface == getCurrentReadSurface())
{
- setCurrentReadSurface(EGL_NO_SURFACE);
+ setCurrentReadSurface(nullptr);
}
}
if(context == getCurrentContext())
{
- setCurrentContext(EGL_NO_CONTEXT);
- setCurrentDrawSurface(EGL_NO_SURFACE);
- setCurrentReadSurface(EGL_NO_SURFACE);
+ setCurrentContext(nullptr);
+ setCurrentDrawSurface(nullptr);
+ setCurrentReadSurface(nullptr);
}
}
\r
egl::Display *display = static_cast<egl::Display*>(dpy);\r
egl::Context *context = static_cast<egl::Context*>(ctx);\r
+ egl::Surface *drawSurface = static_cast<egl::Surface*>(draw);\r
+ egl::Surface *readSurface = static_cast<egl::Surface*>(read);\r
\r
if(ctx != EGL_NO_CONTEXT || draw != EGL_NO_SURFACE || read != EGL_NO_SURFACE)\r
{\r
return EGL_FALSE;\r
}\r
\r
- if((draw != EGL_NO_SURFACE && !validateSurface(display, static_cast<egl::Surface*>(draw))) ||\r
- (read != EGL_NO_SURFACE && !validateSurface(display, static_cast<egl::Surface*>(read))))\r
+ if((draw != EGL_NO_SURFACE && !validateSurface(display, drawSurface)) ||\r
+ (read != EGL_NO_SURFACE && !validateSurface(display, readSurface)))\r
{\r
return EGL_FALSE;\r
}\r
UNIMPLEMENTED(); // FIXME\r
}\r
\r
- egl::setCurrentDisplay(dpy);\r
- egl::setCurrentDrawSurface(draw);\r
- egl::setCurrentReadSurface(read);\r
- egl::setCurrentContext(ctx);\r
+ egl::setCurrentDisplay(display);\r
+ egl::setCurrentDrawSurface(drawSurface);\r
+ egl::setCurrentReadSurface(readSurface);\r
+ egl::setCurrentContext(context);\r
\r
if(context)\r
{\r
- context->makeCurrent(static_cast<egl::Surface*>(draw));\r
+ context->makeCurrent(drawSurface);\r
}\r
\r
return success(EGL_TRUE);\r
\r
current->error = EGL_SUCCESS;\r
current->API = EGL_OPENGL_ES_API;\r
- current->display = EGL_NO_DISPLAY;\r
- current->drawSurface = EGL_NO_SURFACE;\r
- current->readSurface = EGL_NO_SURFACE;\r
- current->context = EGL_NO_CONTEXT;\r
+ current->display = nullptr;\r
+ current->context = nullptr;\r
+ current->drawSurface = nullptr;\r
+ current->readSurface = nullptr;\r
}\r
}\r
\r
return current->API;\r
}\r
\r
-void setCurrentDisplay(EGLDisplay dpy)\r
+void setCurrentDisplay(egl::Display *dpy)\r
{\r
Current *current = eglGetCurrent();\r
\r
current->display = dpy;\r
}\r
\r
-EGLDisplay getCurrentDisplay()\r
+egl::Display *getCurrentDisplay()\r
{\r
Current *current = eglGetCurrent();\r
\r
return current->display;\r
}\r
\r
-void setCurrentContext(EGLContext ctx)\r
+void setCurrentContext(egl::Context *ctx)\r
{\r
Current *current = eglGetCurrent();\r
\r
current->context = ctx;\r
}\r
\r
-EGLContext getCurrentContext()\r
+egl::Context *getCurrentContext()\r
{\r
Current *current = eglGetCurrent();\r
\r
return current->context;\r
}\r
\r
-void setCurrentDrawSurface(EGLSurface surface)\r
+void setCurrentDrawSurface(egl::Surface *surface)\r
{\r
Current *current = eglGetCurrent();\r
\r
current->drawSurface = surface;\r
}\r
\r
-EGLSurface getCurrentDrawSurface()\r
+egl::Surface *getCurrentDrawSurface()\r
{\r
Current *current = eglGetCurrent();\r
\r
return current->drawSurface;\r
}\r
\r
-void setCurrentReadSurface(EGLSurface surface)\r
+void setCurrentReadSurface(egl::Surface *surface)\r
{\r
Current *current = eglGetCurrent();\r
\r
current->readSurface = surface;\r
}\r
\r
-EGLSurface getCurrentReadSurface()\r
+egl::Surface *getCurrentReadSurface()\r
{\r
Current *current = eglGetCurrent();\r
\r
namespace egl
{
+ class Display;
+ class Context;
+ class Surface;
+
struct Current
{
EGLint error;
EGLenum API;
- EGLDisplay display;
- EGLContext context;
- EGLSurface drawSurface;
- EGLSurface readSurface;
+ Display *display;
+ Context *context;
+ Surface *drawSurface;
+ Surface *readSurface;
};
void setCurrentError(EGLint error);
void setCurrentAPI(EGLenum API);
EGLenum getCurrentAPI();
- void setCurrentDisplay(EGLDisplay dpy);
- EGLDisplay getCurrentDisplay();
+ void setCurrentDisplay(Display *dpy);
+ Display *getCurrentDisplay();
- void setCurrentContext(EGLContext ctx);
- EGLContext getCurrentContext();
+ void setCurrentContext(Context *ctx);
+ Context *getCurrentContext();
- void setCurrentDrawSurface(EGLSurface surface);
- EGLSurface getCurrentDrawSurface();
+ void setCurrentDrawSurface(Surface *surface);
+ Surface *getCurrentDrawSurface();
- void setCurrentReadSurface(EGLSurface surface);
- EGLSurface getCurrentReadSurface();
+ void setCurrentReadSurface(Surface *surface);
+ Surface *getCurrentReadSurface();
}
void error(EGLint errorCode);