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

//
// Copyright 2016 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.
//

// Color.h : Defines the Color type used throughout the ANGLE libraries

#ifndef COMMON_COLOR_H_
#define COMMON_COLOR_H_

#include <cstdint>
#include <cstring>

#include "common/debug.h"

namespace angle
{

template <typename T>
struct Color
{};

template <typename T>
bool operator==(const Color<T> &a, const Color<T> &b);

template <typename T>
bool operator!=(const Color<T> &a, const Color<T> &b);

ColorF;
ColorI;
ColorUI;

ANGLE_ENABLE_STRUCT_PADDING_WARNINGS
struct ColorGeneric
{};
ANGLE_DISABLE_STRUCT_PADDING_WARNINGS

inline bool operator==(const ColorGeneric &a, const ColorGeneric &b);

inline bool operator!=(const ColorGeneric &a, const ColorGeneric &b);

struct DepthStencil
{};
}  // namespace angle

// TODO: Move this fully into the angle namespace
namespace gl
{

Color;
ColorF;
ColorI;
ColorUI;
ColorGeneric;

}  // namespace gl

#include "Color.inc"

#endif  // COMMON_COLOR_H_