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.

164 lines
5.0KB

  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE 6 technical preview.
  4. Copyright (c) 2020 - Raw Material Software Limited
  5. You may use this code under the terms of the GPL v3
  6. (see www.gnu.org/licenses).
  7. For this technical preview, this file is not subject to commercial licensing.
  8. JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
  9. EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
  10. DISCLAIMED.
  11. ==============================================================================
  12. */
  13. namespace juce
  14. {
  15. /** These are important openGL values that aren't defined by default
  16. by the GL headers on various platforms.
  17. */
  18. enum MissingOpenGLDefinitions
  19. {
  20. #ifndef GL_CLAMP_TO_EDGE
  21. GL_CLAMP_TO_EDGE = 0x812f,
  22. #endif
  23. #ifndef GL_NUM_EXTENSIONS
  24. GL_NUM_EXTENSIONS = 0x821d,
  25. #endif
  26. #ifndef GL_BGRA_EXT
  27. GL_BGRA_EXT = 0x80e1,
  28. #endif
  29. #ifndef GL_DEPTH24_STENCIL8
  30. GL_DEPTH24_STENCIL8 = 0x88F0,
  31. #endif
  32. #ifndef GL_RGBA8
  33. GL_RGBA8 = GL_RGBA,
  34. #endif
  35. #ifndef GL_RGBA32F
  36. GL_RGBA32F = 0x8814,
  37. #endif
  38. #ifndef GL_COLOR_ATTACHMENT0
  39. GL_COLOR_ATTACHMENT0 = 0x8CE0,
  40. #endif
  41. #ifndef GL_DEPTH_ATTACHMENT
  42. GL_DEPTH_ATTACHMENT = 0x8D00,
  43. #endif
  44. #ifndef GL_FRAMEBUFFER
  45. GL_FRAMEBUFFER = 0x8D40,
  46. #endif
  47. #ifndef GL_FRAMEBUFFER_BINDING
  48. GL_FRAMEBUFFER_BINDING = 0x8CA6,
  49. #endif
  50. #ifndef GL_FRAMEBUFFER_COMPLETE
  51. GL_FRAMEBUFFER_COMPLETE = 0x8CD5,
  52. #endif
  53. #ifndef GL_RENDERBUFFER
  54. GL_RENDERBUFFER = 0x8D41,
  55. #endif
  56. #ifndef GL_RENDERBUFFER_DEPTH_SIZE
  57. GL_RENDERBUFFER_DEPTH_SIZE = 0x8D54,
  58. #endif
  59. #ifndef GL_STENCIL_ATTACHMENT
  60. GL_STENCIL_ATTACHMENT = 0x8D20,
  61. #endif
  62. #ifndef GL_MULTISAMPLE
  63. GL_MULTISAMPLE = 0x809D,
  64. #endif
  65. #ifndef GL_MAX_ELEMENTS_INDICES
  66. GL_MAX_ELEMENTS_INDICES = 0x80E9,
  67. #endif
  68. #ifndef GL_POINT_SPRITE
  69. GL_POINT_SPRITE = 0x8861,
  70. #endif
  71. #if JUCE_WINDOWS && ! defined (GL_TEXTURE0)
  72. GL_OPERAND0_RGB = 0x8590,
  73. GL_OPERAND1_RGB = 0x8591,
  74. GL_OPERAND0_ALPHA = 0x8598,
  75. GL_OPERAND1_ALPHA = 0x8599,
  76. GL_SRC0_RGB = 0x8580,
  77. GL_SRC1_RGB = 0x8581,
  78. GL_SRC0_ALPHA = 0x8588,
  79. GL_SRC1_ALPHA = 0x8589,
  80. GL_TEXTURE0 = 0x84C0,
  81. GL_TEXTURE1 = 0x84C1,
  82. GL_TEXTURE2 = 0x84C2,
  83. GL_COMBINE = 0x8570,
  84. GL_COMBINE_RGB = 0x8571,
  85. GL_COMBINE_ALPHA = 0x8572,
  86. GL_PREVIOUS = 0x8578,
  87. GL_COMPILE_STATUS = 0x8B81,
  88. GL_LINK_STATUS = 0x8B82,
  89. GL_SHADING_LANGUAGE_VERSION = 0x8B8C,
  90. GL_FRAGMENT_SHADER = 0x8B30,
  91. GL_VERTEX_SHADER = 0x8B31,
  92. GL_ARRAY_BUFFER = 0x8892,
  93. GL_ELEMENT_ARRAY_BUFFER = 0x8893,
  94. GL_STATIC_DRAW = 0x88E4,
  95. GL_DYNAMIC_DRAW = 0x88E8,
  96. GL_STREAM_DRAW = 0x88E0,
  97. WGL_NUMBER_PIXEL_FORMATS_ARB = 0x2000,
  98. WGL_DRAW_TO_WINDOW_ARB = 0x2001,
  99. WGL_ACCELERATION_ARB = 0x2003,
  100. WGL_SWAP_METHOD_ARB = 0x2007,
  101. WGL_SUPPORT_OPENGL_ARB = 0x2010,
  102. WGL_PIXEL_TYPE_ARB = 0x2013,
  103. WGL_DOUBLE_BUFFER_ARB = 0x2011,
  104. WGL_COLOR_BITS_ARB = 0x2014,
  105. WGL_RED_BITS_ARB = 0x2015,
  106. WGL_GREEN_BITS_ARB = 0x2017,
  107. WGL_BLUE_BITS_ARB = 0x2019,
  108. WGL_ALPHA_BITS_ARB = 0x201B,
  109. WGL_DEPTH_BITS_ARB = 0x2022,
  110. WGL_STENCIL_BITS_ARB = 0x2023,
  111. WGL_FULL_ACCELERATION_ARB = 0x2027,
  112. WGL_ACCUM_RED_BITS_ARB = 0x201E,
  113. WGL_ACCUM_GREEN_BITS_ARB = 0x201F,
  114. WGL_ACCUM_BLUE_BITS_ARB = 0x2020,
  115. WGL_ACCUM_ALPHA_BITS_ARB = 0x2021,
  116. WGL_STEREO_ARB = 0x2012,
  117. WGL_SAMPLE_BUFFERS_ARB = 0x2041,
  118. WGL_SAMPLES_ARB = 0x2042,
  119. WGL_TYPE_RGBA_ARB = 0x202B,
  120. WGL_CONTEXT_MAJOR_VERSION_ARB = 0x2091,
  121. WGL_CONTEXT_MINOR_VERSION_ARB = 0x2092,
  122. WGL_CONTEXT_PROFILE_MASK_ARB = 0x9126,
  123. #endif
  124. #if JUCE_ANDROID
  125. JUCE_RGBA_FORMAT = GL_RGBA
  126. #else
  127. JUCE_RGBA_FORMAT = GL_BGRA_EXT
  128. #endif
  129. };
  130. #if JUCE_WINDOWS
  131. typedef char GLchar;
  132. typedef pointer_sized_int GLsizeiptr;
  133. typedef pointer_sized_int GLintptr;
  134. #endif
  135. } // namespace juce