// // 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. //
namespace overlay_impl
{ class AppendWidgetDataHelper;
} // namespace overlay_impl
enumclass WidgetType
{ // Text types:
// A total count of some event.
Count, // A single line of ASCII text. Retains content until changed.
Text, // A per-second value.
PerSecond,
// Graph types:
// A graph of the last N values.
RunningGraph, // A histogram of the last N values (values between 0 and 1).
RunningHistogram,
InvalidEnum,
EnumCount = InvalidEnum,
};
namespace overlay
{ class Text; class Widget
{ public: virtual ~Widget() {}
virtualconst Text *getDescriptionWidget() const;
protected:
WidgetType type; // Whether this item should be drawn. bool enabled = false;
// For text items, size of the font. This is a value in [0, overlay::kFontMipCount) which // determines the font size to use. int fontSize;
// The area covered by the item, predetermined by the overlay class. Negative values // indicate offset from the left/bottom of the image.
int32_t coords[4]; float color[4];
// In some cases, a widget may need to match its contents (e.g. graph height scaling) with // another related widget. In such a case, this pointer will point to the widget it needs to // match to.
Widget *matchToWidget;
private: // Do not use the add() function from RunningGraph using RunningGraph::add;
};
// If overlay is disabled, all the above classes would be replaced with Mock, turning them into // noop. class Mock
{ public: void reset() const {} template <typename T> void set(T) const
{} template <typename T> void add(T) const
{} void next() const {}
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.