Commit b5eadd12 authored by minch's avatar minch Committed by Chromium LUCI CQ

bento: Correct corner radius of new desk button

Bug: 1168255
Change-Id: Ie849ada4a926d8953c1ac0b6cf4aef6083bb21e4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2638105Reviewed-by: default avatarAhmed Fakhry <afakhry@chromium.org>
Commit-Queue: Min Chen <minch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#844912}
parent 7348fce6
......@@ -23,6 +23,10 @@ namespace {
constexpr int kNewDeskButtonAndNameSpacing = 8;
constexpr int kBorderCornerRadius = 6;
constexpr int kCornerRadius = 4;
// The new desk button in expand desks bar in Bento has the same size as the
// desk preview, which is proportional to the size of the display on which it
// resides.
......@@ -37,7 +41,8 @@ gfx::Rect GetExpandedStateNewDeskButtonBounds(aura::Window* root_window) {
// The button belongs to ExpandedStateNewDeskButton.
class ASH_EXPORT InnerNewDeskButton : public DeskButtonBase {
public:
InnerNewDeskButton() : DeskButtonBase(base::string16()) {
InnerNewDeskButton()
: DeskButtonBase(base::string16(), kBorderCornerRadius, kCornerRadius) {
paint_contents_only_ = true;
}
InnerNewDeskButton(const InnerNewDeskButton&) = delete;
......
......@@ -32,10 +32,13 @@ constexpr int kZeroStateNewDeskButtonWidth = 36;
// -----------------------------------------------------------------------------
// DeskButtonBase:
DeskButtonBase::DeskButtonBase(const base::string16& text)
DeskButtonBase::DeskButtonBase(const base::string16& text,
int border_corder_radius,
int corner_radius)
: LabelButton(base::BindRepeating(&DeskButtonBase::OnButtonPressed,
base::Unretained(this)),
text) {
text),
corner_radius_(corner_radius) {
SetPaintToLayer();
layer()->SetFillsBoundsOpaquely(false);
SetHorizontalAlignment(gfx::ALIGN_CENTER);
......@@ -45,11 +48,11 @@ DeskButtonBase::DeskButtonBase(const base::string16& text)
SetFocusPainter(nullptr);
SetFocusBehavior(views::View::FocusBehavior::ACCESSIBLE_ONLY);
auto border = std::make_unique<WmHighlightItemBorder>(kCornerRadius);
auto border = std::make_unique<WmHighlightItemBorder>(border_corder_radius);
border_ptr_ = border.get();
SetBorder(std::move(border));
views::InstallRoundRectHighlightPathGenerator(this, GetInsets(),
kCornerRadius);
border_corder_radius);
UpdateBorderState();
}
......@@ -66,7 +69,7 @@ void DeskButtonBase::OnPaintBackground(gfx::Canvas* canvas) {
flags.setColor(background_color_);
canvas->DrawRoundRect(gfx::RectF(paint_contents_only_ ? GetContentsBounds()
: GetLocalBounds()),
kCornerRadius, flags);
corner_radius_, flags);
}
}
......@@ -132,7 +135,9 @@ void DeskButtonBase::UpdateBorderState() {
// TODO(minch): Show the first desk's current name instead of the default name.
ZeroStateDefaultDeskButton::ZeroStateDefaultDeskButton(DesksBarView* bar_view)
: DeskButtonBase(
l10n_util::GetStringUTF16(IDS_ASH_DESKS_DESK_1_MINI_VIEW_TITLE)),
l10n_util::GetStringUTF16(IDS_ASH_DESKS_DESK_1_MINI_VIEW_TITLE),
kCornerRadius,
kCornerRadius),
bar_view_(bar_view) {}
const char* ZeroStateDefaultDeskButton::GetClassName() const {
......@@ -161,7 +166,7 @@ void ZeroStateDefaultDeskButton::OnButtonPressed() {
// ZeroStateNewDeskButton:
ZeroStateNewDeskButton::ZeroStateNewDeskButton()
: DeskButtonBase(base::string16()) {
: DeskButtonBase(base::string16(), kCornerRadius, kCornerRadius) {
highlight_on_hover_ = false;
}
......
......@@ -20,7 +20,9 @@ class ASH_EXPORT DeskButtonBase
: public views::LabelButton,
public OverviewHighlightController::OverviewHighlightableView {
public:
explicit DeskButtonBase(const base::string16& text);
DeskButtonBase(const base::string16& text,
int border_corder_radius,
int corner_radius);
~DeskButtonBase() override = default;
// LabelButton:
......@@ -63,6 +65,8 @@ class ASH_EXPORT DeskButtonBase
// Owned by this View via `View::border_`. This is just a convenient pointer
// to it.
WmHighlightItemBorder* border_ptr_;
const int corner_radius_;
};
// A button in zero state bar showing "Desk 1". Zero state is the state of the
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment