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.

65 lines
2.8KB

  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. //==============================================================================
  16. /**
  17. Represents the various properties of an OpenGL pixel format.
  18. @see OpenGLContext::setPixelFormat
  19. @tags{OpenGL}
  20. */
  21. class JUCE_API OpenGLPixelFormat
  22. {
  23. public:
  24. //==============================================================================
  25. /** Creates an OpenGLPixelFormat.
  26. The default constructor just initialises the object as a simple 8-bit
  27. RGBA format.
  28. */
  29. OpenGLPixelFormat (int bitsPerRGBComponent = 8,
  30. int alphaBits = 8,
  31. int depthBufferBits = 16,
  32. int stencilBufferBits = 0) noexcept;
  33. bool operator== (const OpenGLPixelFormat&) const noexcept;
  34. bool operator!= (const OpenGLPixelFormat&) const noexcept;
  35. //==============================================================================
  36. int redBits; /**< The number of bits per pixel to use for the red channel. */
  37. int greenBits; /**< The number of bits per pixel to use for the green channel. */
  38. int blueBits; /**< The number of bits per pixel to use for the blue channel. */
  39. int alphaBits; /**< The number of bits per pixel to use for the alpha channel. */
  40. int depthBufferBits; /**< The number of bits per pixel to use for a depth buffer. */
  41. int stencilBufferBits; /**< The number of bits per pixel to use for a stencil buffer. */
  42. int accumulationBufferRedBits; /**< The number of bits per pixel to use for an accumulation buffer's red channel. */
  43. int accumulationBufferGreenBits; /**< The number of bits per pixel to use for an accumulation buffer's green channel. */
  44. int accumulationBufferBlueBits; /**< The number of bits per pixel to use for an accumulation buffer's blue channel. */
  45. int accumulationBufferAlphaBits; /**< The number of bits per pixel to use for an accumulation buffer's alpha channel. */
  46. uint8 multisamplingLevel; /**< The number of samples to use for full-scene multisampled anti-aliasing (if available). */
  47. };
  48. } // namespace juce