chromium/third_party/angle/src/common/PackedEGLEnums_autogen.h

// GENERATED FILE - DO NOT EDIT.
// Generated by gen_packed_gl_enums.py using data from packed_egl_enums.json.
//
// Copyright 2017 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// PackedEGLEnums_autogen.h:
//   Declares ANGLE-specific enums classes for EGLenums and functions operating
//   on them.

#ifndef COMMON_PACKEDEGLENUMS_AUTOGEN_H_
#define COMMON_PACKEDEGLENUMS_AUTOGEN_H_

#include <EGL/egl.h>
#include <EGL/eglext.h>

#include <cstdint>
#include <ostream>

namespace egl
{

template <typename Enum>
Enum FromEGLenum(EGLenum from);

enum class ColorSpace : uint8_t
{};

template <>
ColorSpace FromEGLenum<ColorSpace>(EGLenum from);
EGLenum ToEGLenum(ColorSpace from);
std::ostream &operator<<(std::ostream &os, ColorSpace value);

enum class CompositorTiming : uint8_t
{};

template <>
CompositorTiming FromEGLenum<CompositorTiming>(EGLenum from);
EGLenum ToEGLenum(CompositorTiming from);
std::ostream &operator<<(std::ostream &os, CompositorTiming value);

enum class ContextPriority : uint8_t
{};

template <>
ContextPriority FromEGLenum<ContextPriority>(EGLenum from);
EGLenum ToEGLenum(ContextPriority from);
std::ostream &operator<<(std::ostream &os, ContextPriority value);

enum class MessageType : uint8_t
{};

template <>
MessageType FromEGLenum<MessageType>(EGLenum from);
EGLenum ToEGLenum(MessageType from);
std::ostream &operator<<(std::ostream &os, MessageType value);

enum class ObjectType : uint8_t
{};

template <>
ObjectType FromEGLenum<ObjectType>(EGLenum from);
EGLenum ToEGLenum(ObjectType from);
std::ostream &operator<<(std::ostream &os, ObjectType value);

enum class TextureFormat : uint8_t
{};

template <>
TextureFormat FromEGLenum<TextureFormat>(EGLenum from);
EGLenum ToEGLenum(TextureFormat from);
std::ostream &operator<<(std::ostream &os, TextureFormat value);

enum class Timestamp : uint8_t
{};

template <>
Timestamp FromEGLenum<Timestamp>(EGLenum from);
EGLenum ToEGLenum(Timestamp from);
std::ostream &operator<<(std::ostream &os, Timestamp value);

}  // namespace egl

#endif  // COMMON_PACKEDEGLENUMS_AUTOGEN_H_