blob: b36f720d84f65c8fff541885eca3a3b3c80c6871 [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef ASH_GLANCEABLES_GLANCEABLES_VIEW_H_
#define ASH_GLANCEABLES_GLANCEABLES_VIEW_H_
#include "ash/ash_export.h"
#include "ui/views/view.h"
namespace views {
class BoxLayout;
class Label;
} // namespace views
namespace ash {
class GlanceablesRestoreView;
class GlanceablesUpNextView;
class GlanceablesWeatherView;
class GlanceablesWelcomeLabel;
// Container view for the "welcome back" glanceables screen shown on login.
class ASH_EXPORT GlanceablesView : public views::View {
public:
// `show_session_restore` controls whether the session restore views are
// created.
explicit GlanceablesView(bool show_session_restore);
GlanceablesView(const GlanceablesView&) = delete;
GlanceablesView& operator=(const GlanceablesView&) = delete;
~GlanceablesView() override;
// views::View:
void OnBoundsChanged(const gfx::Rect& previous_bounds) override;
void OnThemeChanged() override;
private:
friend class GlanceablesTest;
views::BoxLayout* layout_ = nullptr;
GlanceablesWelcomeLabel* welcome_label_ = nullptr;
GlanceablesWeatherView* weather_view_ = nullptr;
views::Label* up_next_label_ = nullptr;
GlanceablesUpNextView* up_next_view_ = nullptr;
views::Label* restore_session_label_ = nullptr;
GlanceablesRestoreView* restore_view_ = nullptr;
};
} // namespace ash
#endif // ASH_GLANCEABLES_GLANCEABLES_VIEW_H_