Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Unified Diff: mash/wm/frame/caption_buttons/frame_caption_button_container_view.cc

Issue 1459653002: Gets mustash frames looking like that of ash (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update test Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mash/wm/frame/caption_buttons/frame_caption_button_container_view.cc
diff --git a/ash/frame/caption_buttons/frame_caption_button_container_view.cc b/mash/wm/frame/caption_buttons/frame_caption_button_container_view.cc
similarity index 68%
copy from ash/frame/caption_buttons/frame_caption_button_container_view.cc
copy to mash/wm/frame/caption_buttons/frame_caption_button_container_view.cc
index 78c5a38ba40fad3fde1f51241a0d95e4ccb558bb..3bd443b000d90a264bf412341b25f1e3d89309e2 100644
--- a/ash/frame/caption_buttons/frame_caption_button_container_view.cc
+++ b/mash/wm/frame/caption_buttons/frame_caption_button_container_view.cc
@@ -1,22 +1,15 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
+// Copyright 2015 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.
-#include "ash/frame/caption_buttons/frame_caption_button_container_view.h"
+#include "mash/wm/frame/caption_buttons/frame_caption_button_container_view.h"
#include <cmath>
#include <map>
-#include "ash/ash_switches.h"
-#include "ash/frame/caption_buttons/frame_caption_button.h"
-#include "ash/frame/caption_buttons/frame_size_button.h"
-#include "ash/metrics/user_metrics_recorder.h"
-#include "ash/shell.h"
-#include "ash/touch/touch_uma.h"
-#include "ash/wm/maximize_mode/maximize_mode_controller.h"
+#include "mash/wm/frame/caption_buttons/frame_caption_button.h"
#include "ui/base/hit_test.h"
#include "ui/base/l10n/l10n_util.h"
-#include "ui/compositor/scoped_animation_duration_scale_mode.h"
#include "ui/gfx/animation/slide_animation.h"
#include "ui/gfx/animation/tween.h"
#include "ui/gfx/canvas.h"
@@ -26,7 +19,8 @@
#include "ui/views/widget/widget.h"
#include "ui/views/widget/widget_delegate.h"
-namespace ash {
+namespace mash {
+namespace wm {
namespace {
@@ -62,29 +56,29 @@ const int kShowAnimationDurationMs = kPositionAnimationDurationMs;
// Value of |maximize_mode_animation_| showing to begin animating alpha of
// |size_button_|.
float SizeButtonShowStartValue() {
- return static_cast<float>(kShowAnimationAlphaDelayMs)
- / kShowAnimationDurationMs;
+ return static_cast<float>(kShowAnimationAlphaDelayMs) /
+ kShowAnimationDurationMs;
}
// Amount of |maximize_mode_animation_| showing to animate the alpha of
// |size_button_|.
float SizeButtonShowDuration() {
- return static_cast<float>(kAlphaAnimationDurationMs)
- / kShowAnimationDurationMs;
+ return static_cast<float>(kAlphaAnimationDurationMs) /
+ kShowAnimationDurationMs;
}
// Amount of |maximize_mode_animation_| hiding to animate the alpha of
// |size_button_|.
float SizeButtonHideDuration() {
- return static_cast<float>(kAlphaAnimationDurationMs)
- / kHideAnimationDurationMs;
+ return static_cast<float>(kAlphaAnimationDurationMs) /
+ kHideAnimationDurationMs;
}
// Value of |maximize_mode_animation_| hiding to begin animating the position of
// |minimize_button_|.
float HidePositionStartValue() {
- return 1.0f - static_cast<float>(kHidePositionDelayMs)
- / kHideAnimationDurationMs;
+ return 1.0f -
+ static_cast<float>(kHidePositionDelayMs) / kHideAnimationDurationMs;
}
// Converts |point| from |src| to |dst| and hittests against |dst|.
@@ -115,7 +109,7 @@ FrameCaptionButtonContainerView::FrameCaptionButtonContainerView(
minimize_button_(NULL),
size_button_(NULL),
close_button_(NULL) {
- bool size_button_visibility = ShouldSizeButtonBeVisible();
+ const bool size_button_visibility = ShouldSizeButtonBeVisible();
maximize_mode_animation_.reset(new gfx::SlideAnimation(this));
maximize_mode_animation_->SetTweenType(gfx::Tween::LINEAR);
@@ -130,7 +124,8 @@ FrameCaptionButtonContainerView::FrameCaptionButtonContainerView(
minimize_button_->SetVisible(frame_->widget_delegate()->CanMinimize());
AddChildView(minimize_button_);
- size_button_ = new FrameSizeButton(this, frame, this);
+ size_button_ =
+ new FrameCaptionButton(this, CAPTION_BUTTON_ICON_MAXIMIZE_RESTORE);
size_button_->SetAccessibleName(
l10n_util::GetStringUTF16(IDS_APP_ACCNAME_MAXIMIZE));
size_button_->SetVisible(size_button_visibility);
@@ -142,29 +137,20 @@ FrameCaptionButtonContainerView::FrameCaptionButtonContainerView(
AddChildView(close_button_);
}
-FrameCaptionButtonContainerView::~FrameCaptionButtonContainerView() {
-}
-
-void FrameCaptionButtonContainerView::TestApi::EndAnimations() {
- container_view_->maximize_mode_animation_->End();
-}
+FrameCaptionButtonContainerView::~FrameCaptionButtonContainerView() {}
void FrameCaptionButtonContainerView::SetButtonImages(
CaptionButtonIcon icon,
int icon_image_id,
int hovered_background_image_id,
int pressed_background_image_id) {
- button_icon_id_map_[icon] = ButtonIconIds(icon_image_id,
- hovered_background_image_id,
- pressed_background_image_id);
- FrameCaptionButton* buttons[] = {
- minimize_button_, size_button_, close_button_
- };
+ button_icon_id_map_[icon] = ButtonIconIds(
+ icon_image_id, hovered_background_image_id, pressed_background_image_id);
+ FrameCaptionButton* buttons[] = {minimize_button_, size_button_,
+ close_button_};
for (size_t i = 0; i < arraysize(buttons); ++i) {
if (buttons[i]->icon() == icon) {
- buttons[i]->SetImages(icon,
- FrameCaptionButton::ANIMATE_NO,
- icon_image_id,
+ buttons[i]->SetImages(icon, FrameCaptionButton::ANIMATE_NO, icon_image_id,
hovered_background_image_id,
pressed_background_image_id);
}
@@ -256,11 +242,11 @@ void FrameCaptionButtonContainerView::AnimationProgressed(
int size_alpha = 0;
int minimize_x = 0;
if (maximize_mode_animation_->IsShowing()) {
- double scaled_value = CapAnimationValue(
- (current_value - SizeButtonShowStartValue())
- / SizeButtonShowDuration());
+ double scaled_value =
+ CapAnimationValue((current_value - SizeButtonShowStartValue()) /
+ SizeButtonShowDuration());
double tweened_value_alpha =
- gfx::Tween::CalculateValue(gfx::Tween::EASE_OUT,scaled_value);
+ gfx::Tween::CalculateValue(gfx::Tween::EASE_OUT, scaled_value);
size_alpha = gfx::Tween::LinearIntValueBetween(tweened_value_alpha, 0, 255);
double tweened_value_slide =
@@ -268,15 +254,14 @@ void FrameCaptionButtonContainerView::AnimationProgressed(
minimize_x = gfx::Tween::LinearIntValueBetween(tweened_value_slide,
size_button_->x(), 0);
} else {
- double scaled_value_alpha = CapAnimationValue(
- (1.0f - current_value) / SizeButtonHideDuration());
+ double scaled_value_alpha =
+ CapAnimationValue((1.0f - current_value) / SizeButtonHideDuration());
double tweened_value_alpha =
gfx::Tween::CalculateValue(gfx::Tween::EASE_IN, scaled_value_alpha);
size_alpha = gfx::Tween::LinearIntValueBetween(tweened_value_alpha, 255, 0);
double scaled_value_position = CapAnimationValue(
- (HidePositionStartValue() - current_value)
- / HidePositionStartValue());
+ (HidePositionStartValue() - current_value) / HidePositionStartValue());
double tweened_value_position =
gfx::Tween::CalculateValue(gfx::Tween::EASE_OUT, scaled_value_position);
minimize_x = gfx::Tween::LinearIntValueBetween(tweened_value_position, 0,
@@ -297,66 +282,25 @@ void FrameCaptionButtonContainerView::SetButtonIcon(FrameCaptionButton* button,
return;
}
- FrameCaptionButton::Animate fcb_animate = (animate == ANIMATE_YES) ?
- FrameCaptionButton::ANIMATE_YES : FrameCaptionButton::ANIMATE_NO;
+ FrameCaptionButton::Animate fcb_animate =
+ (animate == ANIMATE_YES) ? FrameCaptionButton::ANIMATE_YES
+ : FrameCaptionButton::ANIMATE_NO;
std::map<CaptionButtonIcon, ButtonIconIds>::const_iterator it =
button_icon_id_map_.find(icon);
if (it != button_icon_id_map_.end()) {
- button->SetImages(icon,
- fcb_animate,
- it->second.icon_image_id,
+ button->SetImages(icon, fcb_animate, it->second.icon_image_id,
it->second.hovered_background_image_id,
it->second.pressed_background_image_id);
}
}
bool FrameCaptionButtonContainerView::ShouldSizeButtonBeVisible() const {
- return !Shell::GetInstance()->maximize_mode_controller()->
- IsMaximizeModeWindowManagerEnabled() &&
- frame_->widget_delegate()->CanMaximize();
-}
-
-void FrameCaptionButtonContainerView::ButtonPressed(views::Button* sender,
- const ui::Event& event) {
- // Abort any animations of the button icons.
- SetButtonsToNormal(ANIMATE_NO);
-
- ash::UserMetricsAction action =
- ash::UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_MINIMIZE;
- if (sender == minimize_button_) {
- frame_->Minimize();
- } else if (sender == size_button_) {
- if (frame_->IsFullscreen()) { // Can be clicked in immersive fullscreen.
- frame_->Restore();
- action = ash::UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_EXIT_FULLSCREEN;
- } else if (frame_->IsMaximized()) {
- frame_->Restore();
- action = ash::UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_RESTORE;
- } else {
- frame_->Maximize();
- action = ash::UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_MAXIMIZE;
- }
-
- if (event.IsGestureEvent()) {
- TouchUMA::GetInstance()->RecordGestureAction(
- TouchUMA::GESTURE_FRAMEMAXIMIZE_TAP);
- }
- } else if (sender == close_button_) {
- frame_->Close();
- action = ash::UMA_WINDOW_CLOSE_BUTTON_CLICK;
- } else {
- return;
- }
- ash::Shell::GetInstance()->metrics()->RecordUserMetricsAction(action);
-}
-
-bool FrameCaptionButtonContainerView::IsMinimizeButtonVisible() const {
- return minimize_button_->visible();
+ return frame_->widget_delegate()->CanMaximize();
}
void FrameCaptionButtonContainerView::SetButtonsToNormal(Animate animate) {
SetButtonIcons(CAPTION_BUTTON_ICON_MINIMIZE, CAPTION_BUTTON_ICON_CLOSE,
- animate);
+ animate);
minimize_button_->SetState(views::Button::STATE_NORMAL);
size_button_->SetState(views::Button::STATE_NORMAL);
close_button_->SetState(views::Button::STATE_NORMAL);
@@ -370,59 +314,30 @@ void FrameCaptionButtonContainerView::SetButtonIcons(
SetButtonIcon(close_button_, close_button_icon, animate);
}
-const FrameCaptionButton* FrameCaptionButtonContainerView::GetButtonClosestTo(
- const gfx::Point& position_in_screen) const {
- // Since the buttons all have the same size, the closest button is the button
- // with the center point closest to |position_in_screen|.
- // TODO(pkotwicz): Make the caption buttons not overlap.
- gfx::Point position(position_in_screen);
- views::View::ConvertPointFromScreen(this, &position);
-
- FrameCaptionButton* buttons[] = {
- minimize_button_, size_button_, close_button_
- };
- int min_squared_distance = INT_MAX;
- FrameCaptionButton* closest_button = NULL;
- for (size_t i = 0; i < arraysize(buttons); ++i) {
- FrameCaptionButton* button = buttons[i];
- if (!button->visible())
- continue;
+void FrameCaptionButtonContainerView::ButtonPressed(views::Button* sender,
+ const ui::Event& event) {
+ // Abort any animations of the button icons.
+ SetButtonsToNormal(ANIMATE_NO);
- gfx::Point center_point = button->GetLocalBounds().CenterPoint();
- views::View::ConvertPointToTarget(button, this, &center_point);
- int squared_distance = static_cast<int>(
- pow(static_cast<double>(position.x() - center_point.x()), 2) +
- pow(static_cast<double>(position.y() - center_point.y()), 2));
- if (squared_distance < min_squared_distance) {
- min_squared_distance = squared_distance;
- closest_button = button;
+ if (sender == minimize_button_) {
+ frame_->Minimize();
+ } else if (sender == size_button_) {
+ if (frame_->IsFullscreen()) { // Can be clicked in immersive fullscreen.
+ frame_->Restore();
+ } else if (frame_->IsMaximized()) {
+ frame_->Restore();
+ } else {
+ frame_->Maximize();
}
- }
- return closest_button;
-}
-
-void FrameCaptionButtonContainerView::SetHoveredAndPressedButtons(
- const FrameCaptionButton* to_hover,
- const FrameCaptionButton* to_press) {
- FrameCaptionButton* buttons[] = {
- minimize_button_, size_button_, close_button_
- };
- for (size_t i = 0; i < arraysize(buttons); ++i) {
- FrameCaptionButton* button = buttons[i];
- views::Button::ButtonState new_state = views::Button::STATE_NORMAL;
- if (button == to_hover)
- new_state = views::Button::STATE_HOVERED;
- else if (button == to_press)
- new_state = views::Button::STATE_PRESSED;
- button->SetState(new_state);
+ } else if (sender == close_button_) {
+ frame_->Close();
}
}
FrameCaptionButtonContainerView::ButtonIconIds::ButtonIconIds()
: icon_image_id(-1),
hovered_background_image_id(-1),
- pressed_background_image_id(-1) {
-}
+ pressed_background_image_id(-1) {}
FrameCaptionButtonContainerView::ButtonIconIds::ButtonIconIds(
int icon_id,
@@ -430,10 +345,9 @@ FrameCaptionButtonContainerView::ButtonIconIds::ButtonIconIds(
int pressed_background_id)
: icon_image_id(icon_id),
hovered_background_image_id(hovered_background_id),
- pressed_background_image_id(pressed_background_id) {
-}
+ pressed_background_image_id(pressed_background_id) {}
-FrameCaptionButtonContainerView::ButtonIconIds::~ButtonIconIds() {
-}
+FrameCaptionButtonContainerView::ButtonIconIds::~ButtonIconIds() {}
-} // namespace ash
+} // namespace wm
+} // namespace mash
« no previous file with comments | « mash/wm/frame/caption_buttons/frame_caption_button_container_view.h ('k') | mash/wm/frame/default_header_painter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698