chromium/third_party/angle/src/libANGLE/Overlay.h

//
// Copyright 2019 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.
//
// Overlay.h:
//    Defines the Overlay class that handles overlay widgets.
//

#ifndef LIBANGLE_OVERLAY_H_
#define LIBANGLE_OVERLAY_H_

#include "common/PackedEnums.h"
#include "common/angleutils.h"
#include "libANGLE/Error.h"
#include "libANGLE/OverlayWidgets.h"
#include "libANGLE/angletypes.h"

namespace rx
{
class OverlayImpl;
class GLImplFactory;
}  // namespace rx

namespace gl
{
class Context;

class OverlayState : angle::NonCopyable
{};

class Overlay : angle::NonCopyable
{};

class MockOverlay
{};

#if ANGLE_ENABLE_OVERLAY
OverlayType;
CountWidget;
PerSecondWidget;
RunningGraphWidget;
RunningHistogramWidget;
TextWidget;
#else   // !ANGLE_ENABLE_OVERLAY
using OverlayType            = MockOverlay;
using CountWidget            = const overlay::Mock;
using PerSecondWidget        = const overlay::Mock;
using RunningGraphWidget     = const overlay::Mock;
using RunningHistogramWidget = const overlay::Mock;
using TextWidget             = const overlay::Mock;
#endif  // ANGLE_ENABLE_OVERLAY

}  // namespace gl

#endif  // LIBANGLE_OVERLAY_H_