// Copyright 2020 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_USER_EDUCATION_VIEWS_NEW_BADGE_LABEL_H_ #define COMPONENTS_USER_EDUCATION_VIEWS_NEW_BADGE_LABEL_H_ #include <memory> #include "components/user_education/common/new_badge_controller.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/metadata/metadata_header_macros.h" #include "ui/base/models/simple_menu_model.h" #include "ui/strings/grit/ui_strings.h" #include "ui/views/badge_painter.h" #include "ui/views/controls/label.h" #include "ui/views/style/typography.h" namespace views { class Border; } namespace user_education { // Extends views::Label to optionally display a "New" badge next to the text, // drawing attention to a new feature in Chrome. // // When |display_new_badge| is set to false, behaves exactly as a normal Label, // with the caveat that the following are explicitly disallowed: // * Calling SetDisplayNewBadge() when the label is visible to the user. // * Calling SetBorder() from external code, as the border is used to create // space to render the badge. class NewBadgeLabel : public views::Label { … }; } // namespace user_education #endif // COMPONENTS_USER_EDUCATION_VIEWS_NEW_BADGE_LABEL_H_