chromium/third_party/angle/src/libANGLE/OverlayWidgets.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.
//
// OverlayWidgets.h:
//    Defines the Overlay* widget classes and corresponding enums.
//

#ifndef LIBANGLE_OVERLAYWIDGETS_H_
#define LIBANGLE_OVERLAYWIDGETS_H_

#include "common/angleutils.h"
#include "libANGLE/Overlay_autogen.h"

namespace gl
{
class Overlay;
class OverlayState;

namespace overlay_impl
{
class AppendWidgetDataHelper;
}  // namespace overlay_impl

enum class WidgetType
{};

namespace overlay
{
class Text;
class Widget
{};

class Count : public Widget
{};

class PerSecond : public Count
{};

class Text : public Widget
{};

class RunningGraph : public Widget
{};

class RunningHistogram : public RunningGraph
{};

// If overlay is disabled, all the above classes would be replaced with Mock, turning them into
// noop.
class Mock
{};

}  // namespace overlay

}  // namespace gl

#endif  // LIBANGLE_OVERLAYWIDGETS_H_