Index: third_party/gles_book_examples/Common/Source/esUtil.c |
=================================================================== |
--- third_party/gles_book_examples/Common/Source/esUtil.c (revision 35483) |
+++ third_party/gles_book_examples/Common/Source/esUtil.c (working copy) |
@@ -20,96 +20,21 @@ |
// |
#include <stdio.h> |
#include <stdlib.h> |
+#include <stdarg.h> |
+#include <string.h> |
+ |
#include <GLES2/gl2.h> |
-#include <EGL/egl.h> |
+ |
#include "esUtil.h" |
#include "esUtil_win.h" |
- |
- |
- |
/// |
-// CreateEGLContext() |
-// |
-// Creates an EGL rendering context and all associated elements |
-// |
-EGLBoolean CreateEGLContext ( EGLNativeWindowType hWnd, EGLDisplay* eglDisplay, |
- EGLContext* eglContext, EGLSurface* eglSurface, |
- EGLint attribList[]) |
-{ |
- EGLint numConfigs; |
- EGLint majorVersion; |
- EGLint minorVersion; |
- EGLDisplay display; |
- EGLContext context; |
- EGLSurface surface; |
- EGLConfig config; |
- EGLint contextAttribs[] = { EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE, EGL_NONE }; |
- |
- // Get Display |
- display = eglGetDisplay(GetDC(hWnd)); |
- if ( display == EGL_NO_DISPLAY ) |
- { |
- return EGL_FALSE; |
- } |
- |
- // Initialize EGL |
- if ( !eglInitialize(display, &majorVersion, &minorVersion) ) |
- { |
- return EGL_FALSE; |
- } |
- |
- // Get configs |
- if ( !eglGetConfigs(display, NULL, 0, &numConfigs) ) |
- { |
- return EGL_FALSE; |
- } |
- |
- // Choose config |
- if ( !eglChooseConfig(display, attribList, &config, 1, &numConfigs) ) |
- { |
- return EGL_FALSE; |
- } |
- |
- // Create a surface |
- surface = eglCreateWindowSurface(display, config, (EGLNativeWindowType)hWnd, NULL); |
- if ( surface == EGL_NO_SURFACE ) |
- { |
- return EGL_FALSE; |
- } |
- |
- // Create a GL context |
- context = eglCreateContext(display, config, EGL_NO_CONTEXT, contextAttribs ); |
- if ( context == EGL_NO_CONTEXT ) |
- { |
- return EGL_FALSE; |
- } |
- |
- // Make the context current |
- if ( !eglMakeCurrent(display, surface, surface, context) ) |
- { |
- return EGL_FALSE; |
- } |
- |
- *eglDisplay = display; |
- *eglSurface = surface; |
- *eglContext = context; |
- return EGL_TRUE; |
-} |
- |
-////////////////////////////////////////////////////////////////// |
-// |
-// Public Functions |
-// |
-// |
- |
-/// |
// esInitContext() |
// |
// Initialize ES utility context. This must be called before calling any other |
// functions. |
// |
-void ESUTIL_API esInitContext ( ESContext *esContext ) |
+void esInitContext ( ESContext *esContext ) |
{ |
if ( esContext != NULL ) |
{ |
@@ -118,103 +43,11 @@ |
} |
/// |
-// esCreateWindow() |
-// |
-// title - name for title bar of window |
-// width - width of window to create |
-// height - height of window to create |
-// flags - bitwise or of window creation flags |
-// ES_WINDOW_ALPHA - specifies that the framebuffer should have alpha |
-// ES_WINDOW_DEPTH - specifies that a depth buffer should be created |
-// ES_WINDOW_STENCIL - specifies that a stencil buffer should be created |
-// ES_WINDOW_MULTISAMPLE - specifies that a multi-sample buffer should be created |
-// |
-GLboolean ESUTIL_API esCreateWindow ( ESContext *esContext, const char* title, GLint width, GLint height, GLuint flags ) |
-{ |
- EGLint attribList[] = |
- { |
- EGL_RED_SIZE, 5, |
- EGL_GREEN_SIZE, 6, |
- EGL_BLUE_SIZE, 5, |
- EGL_ALPHA_SIZE, (flags & ES_WINDOW_ALPHA) ? 8 : EGL_DONT_CARE, |
- EGL_DEPTH_SIZE, (flags & ES_WINDOW_DEPTH) ? 8 : EGL_DONT_CARE, |
- EGL_STENCIL_SIZE, (flags & ES_WINDOW_STENCIL) ? 8 : EGL_DONT_CARE, |
- EGL_SAMPLE_BUFFERS, (flags & ES_WINDOW_MULTISAMPLE) ? 1 : 0, |
- EGL_NONE |
- }; |
- |
- if ( esContext == NULL ) |
- { |
- return GL_FALSE; |
- } |
- |
- esContext->width = width; |
- esContext->height = height; |
- |
- if ( !WinCreate ( esContext, title) ) |
- { |
- return GL_FALSE; |
- } |
- |
- |
- if ( !CreateEGLContext ( esContext->hWnd, |
- &esContext->eglDisplay, |
- &esContext->eglContext, |
- &esContext->eglSurface, |
- attribList) ) |
- { |
- return GL_FALSE; |
- } |
- |
- |
- return GL_TRUE; |
-} |
- |
-/// |
-// esMainLoop() |
-// |
-// Start the main loop for the OpenGL ES application |
-// |
-void ESUTIL_API esMainLoop ( ESContext *esContext ) |
-{ |
- WinLoop ( esContext ); |
-} |
- |
- |
-/// |
-// esRegisterDrawFunc() |
-// |
-void ESUTIL_API esRegisterDrawFunc ( ESContext *esContext, void (ESCALLBACK *drawFunc) (ESContext* ) ) |
-{ |
- esContext->drawFunc = drawFunc; |
-} |
- |
- |
-/// |
-// esRegisterUpdateFunc() |
-// |
-void ESUTIL_API esRegisterUpdateFunc ( ESContext *esContext, void (ESCALLBACK *updateFunc) ( ESContext*, float ) ) |
-{ |
- esContext->updateFunc = updateFunc; |
-} |
- |
- |
-/// |
-// esRegisterKeyFunc() |
-// |
-void ESUTIL_API esRegisterKeyFunc ( ESContext *esContext, |
- void (ESCALLBACK *keyFunc) (ESContext*, unsigned char, int, int ) ) |
-{ |
- esContext->keyFunc = keyFunc; |
-} |
- |
- |
-/// |
// esLogMessage() |
// |
// Log an error message to the debug output for the platform |
// |
-void ESUTIL_API esLogMessage ( const char *formatStr, ... ) |
+void esLogMessage ( const char *formatStr, ... ) |
{ |
va_list params; |
char buf[BUFSIZ]; |
@@ -227,13 +60,12 @@ |
va_end ( params ); |
} |
- |
/// |
// esLoadTGA() |
// |
// Loads a 24-bit TGA image from a file |
// |
-char* ESUTIL_API esLoadTGA ( char *fileName, int *width, int *height ) |
+char* esLoadTGA ( char *fileName, int *width, int *height ) |
{ |
char *buffer; |
@@ -243,4 +75,4 @@ |
} |
return NULL; |
-} |
+} |