The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

112 lines
3.1KB

  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE library - "Jules' Utility Class Extensions"
  4. Copyright 2004-11 by Raw Material Software Ltd.
  5. ------------------------------------------------------------------------------
  6. JUCE can be redistributed and/or modified under the terms of the GNU General
  7. Public License (Version 2), as published by the Free Software Foundation.
  8. A copy of the license is included in the JUCE distribution, or can be found
  9. online at www.gnu.org/licenses.
  10. JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
  11. WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  12. A PARTICULAR PURPOSE. See the GNU General Public License for more details.
  13. ------------------------------------------------------------------------------
  14. To release a closed-source product which uses JUCE, commercial licenses are
  15. available: visit www.rawmaterialsoftware.com/juce for more information.
  16. ==============================================================================
  17. */
  18. #ifndef __JUCE_OPENGL_JUCEHEADER__
  19. #define __JUCE_OPENGL_JUCEHEADER__
  20. #include "../juce_gui_extra/juce_gui_extra.h"
  21. #undef JUCE_OPENGL
  22. #if ! JUCE_ANDROID
  23. #define JUCE_OPENGL 1
  24. #endif
  25. #if JUCE_IOS || JUCE_ANDROID
  26. #define JUCE_OPENGL_ES 1
  27. #endif
  28. #if JUCE_WINDOWS
  29. #ifndef APIENTRY
  30. #define APIENTRY __stdcall
  31. #define CLEAR_TEMP_APIENTRY 1
  32. #endif
  33. #ifndef WINGDIAPI
  34. #define WINGDIAPI __declspec(dllimport)
  35. #define CLEAR_TEMP_WINGDIAPI 1
  36. #endif
  37. #include <gl/GL.h>
  38. #ifdef CLEAR_TEMP_WINGDIAPI
  39. #undef WINGDIAPI
  40. #undef CLEAR_TEMP_WINGDIAPI
  41. #endif
  42. #ifdef CLEAR_TEMP_APIENTRY
  43. #undef APIENTRY
  44. #undef CLEAR_TEMP_APIENTRY
  45. #endif
  46. #elif JUCE_LINUX
  47. #include <GL/gl.h>
  48. #undef KeyPress
  49. #elif JUCE_IOS
  50. #include <OpenGLES/ES1/gl.h>
  51. #include <OpenGLES/ES1/glext.h>
  52. #elif JUCE_MAC
  53. #include <OpenGL/gl.h>
  54. #include "OpenGL/glext.h"
  55. #endif
  56. #ifndef GL_BGRA_EXT
  57. #define GL_BGRA_EXT 0x80e1
  58. #endif
  59. #ifndef GL_CLAMP_TO_EDGE
  60. #define GL_CLAMP_TO_EDGE 0x812f
  61. #endif
  62. #ifndef GL_DEPTH_COMPONENT16
  63. #define GL_DEPTH_COMPONENT16 0x81a5
  64. #endif
  65. //=============================================================================
  66. BEGIN_JUCE_NAMESPACE
  67. // START_AUTOINCLUDE opengl
  68. #ifndef __JUCE_OPENGLCOMPONENT_JUCEHEADER__
  69. #include "opengl/juce_OpenGLComponent.h"
  70. #endif
  71. #ifndef __JUCE_OPENGLCONTEXT_JUCEHEADER__
  72. #include "opengl/juce_OpenGLContext.h"
  73. #endif
  74. #ifndef __JUCE_OPENGLFRAMEBUFFER_JUCEHEADER__
  75. #include "opengl/juce_OpenGLFrameBuffer.h"
  76. #endif
  77. #ifndef __JUCE_OPENGLHELPERS_JUCEHEADER__
  78. #include "opengl/juce_OpenGLHelpers.h"
  79. #endif
  80. #ifndef __JUCE_OPENGLIMAGE_JUCEHEADER__
  81. #include "opengl/juce_OpenGLImage.h"
  82. #endif
  83. #ifndef __JUCE_OPENGLPIXELFORMAT_JUCEHEADER__
  84. #include "opengl/juce_OpenGLPixelFormat.h"
  85. #endif
  86. #ifndef __JUCE_OPENGLTEXTURE_JUCEHEADER__
  87. #include "opengl/juce_OpenGLTexture.h"
  88. #endif
  89. // END_AUTOINCLUDE
  90. END_JUCE_NAMESPACE
  91. #endif // __JUCE_OPENGL_JUCEHEADER__