• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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