blob: 3fa11976917bbb80ee08e3132afa89b140171f2e [file]
// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ui/views/window/caption_button_layout_constants.h"
#include "ui/base/pointer/touch_ui_controller.h"
#include "ui/gfx/geometry/size.h"
#if BUILDFLAG(IS_CHROMEOS)
#include "chromeos/constants/chromeos_features.h"
#endif // BUILDFLAG(IS_CHROMEOS)
namespace views {
int GetCaptionButtonWidth() {
#if BUILDFLAG(IS_CHROMEOS)
if (chromeos::features::IsRoundedWindowsEnabled()) {
return 36;
}
#endif // BUILDFLAG(IS_CHROMEOS)
return 32;
}
gfx::Size GetCaptionButtonLayoutSize(CaptionButtonLayoutSize size) {
const int button_width = GetCaptionButtonWidth();
#if BUILDFLAG(IS_CHROMEOS)
if (chromeos::features::IsRoundedWindowsEnabled()) {
return gfx::Size(
button_width,
size == CaptionButtonLayoutSize::kBrowserCaptionMaximized ? 34 : 40);
}
#endif // BUILDFLAG(IS_CHROMEOS)
if (size == CaptionButtonLayoutSize::kNonBrowserCaption) {
return gfx::Size(button_width, 32);
}
// |kBrowserMaximizedCaptionButtonHeight| should be kept in sync with those
// for TAB_HEIGHT in // chrome/browser/ui/layout_constants.cc.
// TODO(pkasting): Ideally these values should be obtained from a common
// location like layout_constants.cc.
int height = ui::TouchUiController::Get()->touch_ui() ? 41 : 34;
if (size == CaptionButtonLayoutSize::kBrowserCaptionRestored) {
// Restored window titlebars are 8 DIP taller than maximized.
height += 8;
}
return gfx::Size(button_width, height);
}
} // namespace views