1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef MOJO_PUBLIC_C_GLES2_GLES2_H_ 6 #define MOJO_PUBLIC_C_GLES2_GLES2_H_ 7 8 // Note: This header should be compilable as C. 9 10 #include <stdint.h> 11 #include <GLES2/gl2.h> 12 13 #include "mojo/public/c/environment/async_waiter.h" 14 #include "mojo/public/c/gles2/gles2_export.h" 15 #include "mojo/public/c/gles2/gles2_types.h" 16 #include "mojo/public/c/system/types.h" 17 18 #ifdef __cplusplus 19 extern "C" { 20 #endif 21 22 MOJO_GLES2_EXPORT MojoGLES2Context 23 MojoGLES2CreateContext(MojoHandle handle, 24 MojoGLES2ContextLost lost_callback, 25 void* closure, 26 const MojoAsyncWaiter* async_waiter); 27 MOJO_GLES2_EXPORT void MojoGLES2DestroyContext(MojoGLES2Context context); 28 MOJO_GLES2_EXPORT void MojoGLES2MakeCurrent(MojoGLES2Context context); 29 MOJO_GLES2_EXPORT void MojoGLES2SwapBuffers(void); 30 31 // TODO(piman): We shouldn't have to leak those 2 interfaces, especially in a 32 // type-unsafe way. 33 MOJO_GLES2_EXPORT void* MojoGLES2GetGLES2Interface(MojoGLES2Context context); 34 MOJO_GLES2_EXPORT void* MojoGLES2GetContextSupport(MojoGLES2Context context); 35 36 #define VISIT_GL_CALL(Function, ReturnType, PARAMETERS, ARGUMENTS) \ 37 MOJO_GLES2_EXPORT ReturnType GL_APIENTRY gl##Function PARAMETERS; 38 #include "mojo/public/c/gles2/gles2_call_visitor_autogen.h" 39 #undef VISIT_GL_CALL 40 41 #ifdef __cplusplus 42 } // extern "C" 43 #endif 44 45 #endif // MOJO_PUBLIC_C_GLES2_GLES2_H_ 46