Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(273)

Unified Diff: runtime/embedders/openglui/common/opengl.h

Issue 11883013: Refactored OpenGL embedder that works on Android, Mac or Linux. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/embedders/openglui/common/log.h ('k') | runtime/embedders/openglui/common/resource.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/embedders/openglui/common/opengl.h
===================================================================
--- runtime/embedders/openglui/common/opengl.h (revision 0)
+++ runtime/embedders/openglui/common/opengl.h (revision 0)
@@ -0,0 +1,43 @@
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// A semi-generic header file that can be used to isolate platform differences
+// for OpenGL headers.
+#ifndef EMBEDDERS_OPENGLUI_COMMON_OPENGL_H_
+#define EMBEDDERS_OPENGLUI_COMMON_OPENGL_H_
+
+#if defined(__APPLE__)
+# ifdef GL_ES_VERSION_2_0
+# include <OpenGLES/ES2/gl.h>
+# else
+# include <Glut/glut.h>
+# include <OpenGL/gl.h>
+# endif
+# define GLSwapBuffers() glutSwapBuffers()
+#elif defined(_WIN32) || defined(_WIN64)
+# include <GL/glew.h>
+# include <GL/wglew.h>
+# include <GLUT/glut.h>
+# include <Windows.h>
+# define GLSwapBuffers() glutSwapBuffers()
+#elif defined(__ANDROID__)
+# include <EGL/egl.h>
+# include <GLES2/gl2.h>
+# include <GLES2/gl2ext.h>
+# define GLSwapBuffers() \
+ do {\
+ EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY); \
+ EGLSurface surface = eglGetCurrentSurface(EGL_DRAW); \
+ eglSwapBuffers(display, surface); \
+ } while (0);
+#else // Linux.
+# define GL_GLEXT_PROTOTYPES 1
+# include <GL/gl.h>
+# include <GL/glext.h>
+# include <GL/glut.h>
+# define GLSwapBuffers() glutSwapBuffers()
+#endif
+
+#endif // EMBEDDERS_OPENGLUI_COMMON_OPENGL_H_
+
« no previous file with comments | « runtime/embedders/openglui/common/log.h ('k') | runtime/embedders/openglui/common/resource.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698