-#ifndef MSP_GL_PIXELFORMAT_H_
-#define MSP_GL_PIXELFORMAT_H_
-
-#include <msp/core/attributes.h>
-#include <msp/graphics/image.h>
-#include <msp/strings/lexicalcast.h>
-#include "gl.h"
-#include <msp/gl/extensions/arb_depth_buffer_float.h>
-#include <msp/gl/extensions/arb_depth_texture.h>
-#include <msp/gl/extensions/arb_texture_float.h>
-#include <msp/gl/extensions/arb_texture_rg.h>
-#include <msp/gl/extensions/ext_bgra.h>
-#include <msp/gl/extensions/ext_texture_srgb.h>
-#include <msp/gl/extensions/oes_required_internalformat.h>
-#include <msp/gl/extensions/oes_texture_stencil8.h>
-#include <msp/gl/extensions/msp_luminance_formats.h>
-#include "datatype.h"
-
-namespace Msp {
-namespace GL {
-
-enum PixelComponents
-{
- RED = GL_RED,
- RG = GL_RG,
- RGB = GL_RGB,
- RGBA = GL_RGBA,
- BGR = GL_BGR,
- BGRA = GL_BGRA,
- LUMINANCE = GL_LUMINANCE,
- LUMINANCE_ALPHA = GL_LUMINANCE_ALPHA,
- DEPTH_COMPONENT = GL_DEPTH_COMPONENT,
- STENCIL_INDEX = GL_STENCIL_INDEX
-};
-
-enum PixelFormat
-{
- R8 = GL_R8,
- R16F = GL_R16F,
- R32F = GL_R32F,
- RG8 = GL_RG8,
- RG16F = GL_RG16F,
- RG32F = GL_RG32F,
- RGB8 = GL_RGB8,
- RGB16F = GL_RGB16F,
- RGB32F = GL_RGB32F,
- RGBA8 = GL_RGBA8,
- RGBA16F = GL_RGBA16F,
- RGBA32F = GL_RGBA32F,
- SRGB8 = GL_SRGB8,
- SRGB8_ALPHA8 = GL_SRGB8_ALPHA8,
- BGR8 = 200000,
- BGRA8 = 200001,
- SBGR8 = 200002,
- SBGR8_ALPHA8 = 200003,
- LUMINANCE8 = GL_LUMINANCE8,
- LUMINANCE8_ALPHA8 = GL_LUMINANCE8_ALPHA8,
- DEPTH_COMPONENT16 = GL_DEPTH_COMPONENT16,
- DEPTH_COMPONENT24 = GL_DEPTH_COMPONENT24,
- DEPTH_COMPONENT32 = GL_DEPTH_COMPONENT32,
- DEPTH_COMPONENT32F = GL_DEPTH_COMPONENT32F,
- STENCIL_INDEX8 = GL_STENCIL_INDEX8
-};
-
-void operator>>(const LexicalConverter &, PixelComponents &);
-void operator>>(const LexicalConverter &, PixelFormat &);
-
-DEPRECATED PixelComponents pixelformat_from_graphics(Graphics::PixelFormat);
-DEPRECATED PixelComponents storage_pixelformat_from_graphics(Graphics::PixelFormat, bool);
-PixelFormat pixelformat_from_image(const Graphics::Image &);
-
-PixelFormat make_pixelformat(PixelComponents, DataType, bool = false);
-DEPRECATED PixelFormat get_base_pixelformat(PixelFormat);
-PixelComponents get_components(PixelFormat);
-DEPRECATED PixelFormat get_default_sized_pixelformat(PixelComponents);
-DEPRECATED PixelFormat get_srgb_pixelformat(PixelFormat);
-
-unsigned get_component_count(PixelComponents);
-inline unsigned get_component_count(PixelFormat f)
-{ return get_component_count(get_components(f)); }
-
-DataType get_component_type(PixelFormat);
-inline unsigned get_component_size(PixelFormat f)
-{ return get_type_size(get_component_type(f)); }
-
-unsigned get_pixel_size(PixelFormat);
-
-void require_pixelformat(PixelFormat);
-
-DEPRECATED inline PixelFormat get_sized_pixelformat(PixelComponents c, unsigned s = 1)
-{ return make_pixelformat(c, (s==2 ? HALF_FLOAT : s==4 ? FLOAT : UNSIGNED_BYTE)); }
-
-DEPRECATED inline PixelComponents get_unsized_pixelformat(PixelFormat f)
-{ return get_components(f); }
-
-} // namespace GL
-} // namespace Msp
-
-#endif