1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- // Copyright 2020 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef ASH_HUD_DISPLAY_HUD_DISPLAY_H_
- #define ASH_HUD_DISPLAY_HUD_DISPLAY_H_
- #include "ash/ash_export.h"
- #include "base/sequence_checker.h"
- #include "ui/views/view.h"
- namespace ash {
- namespace hud_display {
- enum class HUDDisplayMode;
- class GraphsContainerView;
- class HUDHeaderView;
- class HUDSettingsView;
- // HUDDisplayView class can be used to display a system monitoring overview.
- class HUDDisplayView : public views::View {
- public:
- METADATA_HEADER(HUDDisplayView);
- HUDDisplayView();
- HUDDisplayView(const HUDDisplayView&) = delete;
- HUDDisplayView& operator=(const HUDDisplayView&) = delete;
- ~HUDDisplayView() override;
- // Destroys global instance.
- static void Destroy();
- // Creates/Destroys global singleton.
- static void Toggle();
- // True when HUD is shown.
- static bool ASH_EXPORT IsShown();
- // Called from ClientView. Responsible for moving widget when clicked outside
- // of the children.
- int NonClientHitTest(const gfx::Point& point);
- // Changes UI display mode.
- void SetDisplayMode(const HUDDisplayMode display_mode);
- // Callback from SettingsButton.
- void OnSettingsToggle();
- // Returns true if HUD is in overlay mode.
- bool IsOverlay();
- // Changes HUD overlay flag.
- void ToggleOverlay();
- ASH_EXPORT static HUDDisplayView* GetForTesting();
- ASH_EXPORT HUDSettingsView* GetSettingsViewForTesting();
- ASH_EXPORT void ToggleSettingsForTesting();
- private:
- HUDHeaderView* header_view_ = nullptr; // not owned
- GraphsContainerView* graphs_container_ = nullptr; // not owned
- HUDSettingsView* settings_view_ = nullptr; // not owned
- SEQUENCE_CHECKER(ui_sequence_checker_);
- };
- } // namespace hud_display
- } // namespace ash
- #endif // ASH_HUD_DISPLAY_HUD_DISPLAY_H_
|