chromium/chrome/browser/vr/elements/transient_element.h

// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_VR_ELEMENTS_TRANSIENT_ELEMENT_H_
#define CHROME_BROWSER_VR_ELEMENTS_TRANSIENT_ELEMENT_H_

#include "base/functional/callback.h"
#include "base/time/time.h"
#include "chrome/browser/vr/elements/ui_element.h"
#include "chrome/browser/vr/vr_ui_export.h"

namespace vr {

// Base class for a transient element that automatically hides itself after some
// point in time. The exacly transience behavior depends on the subclass.
class VR_UI_EXPORT TransientElement : public UiElement {};

// An element that hides itself after after a set timeout.
class VR_UI_EXPORT SimpleTransientElement : public TransientElement {};

// The reason why a transient element hid itself. Note that this is only used by
// ShowUntilSignalTransientElement below.
enum class TransientElementHideReason : int {};

}  // namespace vr

#endif  // CHROME_BROWSER_VR_ELEMENTS_TRANSIENT_ELEMENT_H_