| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ash/frame/caption_buttons/frame_caption_button_container_view.h" | 5 #include "ash/frame/caption_buttons/frame_caption_button_container_view.h" |
| 6 | 6 |
| 7 #include <cmath> | 7 #include <cmath> |
| 8 #include <map> | 8 #include <map> |
| 9 | 9 |
| 10 #include "ash/ash_switches.h" | 10 #include "ash/ash_switches.h" |
| 11 #include "ash/frame/caption_buttons/frame_caption_button.h" | 11 #include "ash/frame/caption_buttons/frame_caption_button.h" |
| 12 #include "ash/frame/caption_buttons/frame_size_button.h" | 12 #include "ash/frame/caption_buttons/frame_size_button.h" |
| 13 #include "ash/metrics/user_metrics_recorder.h" | 13 #include "ash/metrics/user_metrics_recorder.h" |
| 14 #include "ash/shell.h" | 14 #include "ash/shell.h" |
| 15 #include "ash/touch/touch_uma.h" | 15 #include "ash/touch/touch_uma.h" |
| 16 #include "ash/wm/maximize_mode/maximize_mode_controller.h" | 16 #include "ash/wm/maximize_mode/maximize_mode_controller.h" |
| 17 #include "ui/base/hit_test.h" | 17 #include "ui/base/hit_test.h" |
| 18 #include "ui/base/l10n/l10n_util.h" | 18 #include "ui/base/l10n/l10n_util.h" |
| 19 #include "ui/compositor/scoped_animation_duration_scale_mode.h" | 19 #include "ui/compositor/scoped_animation_duration_scale_mode.h" |
| 20 #include "ui/gfx/animation/slide_animation.h" | 20 #include "ui/gfx/animation/slide_animation.h" |
| 21 #include "ui/gfx/animation/tween.h" | 21 #include "ui/gfx/animation/tween.h" |
| 22 #include "ui/gfx/canvas.h" | 22 #include "ui/gfx/canvas.h" |
| 23 #include "ui/gfx/geometry/insets.h" | 23 #include "ui/gfx/geometry/insets.h" |
| 24 #include "ui/gfx/geometry/point.h" | 24 #include "ui/gfx/geometry/point.h" |
| 25 #include "ui/gfx/vector_icons_public.h" |
| 25 #include "ui/strings/grit/ui_strings.h" // Accessibility names | 26 #include "ui/strings/grit/ui_strings.h" // Accessibility names |
| 26 #include "ui/views/widget/widget.h" | 27 #include "ui/views/widget/widget.h" |
| 27 #include "ui/views/widget/widget_delegate.h" | 28 #include "ui/views/widget/widget_delegate.h" |
| 28 | 29 |
| 29 namespace ash { | 30 namespace ash { |
| 30 | 31 |
| 31 namespace { | 32 namespace { |
| 32 | 33 |
| 33 // Duration of the animation of the position of |minimize_button_|. | 34 // Duration of the animation of the position of |minimize_button_|. |
| 34 const int kPositionAnimationDurationMs = 500; | 35 const int kPositionAnimationDurationMs = 500; |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 AddChildView(close_button_); | 143 AddChildView(close_button_); |
| 143 } | 144 } |
| 144 | 145 |
| 145 FrameCaptionButtonContainerView::~FrameCaptionButtonContainerView() { | 146 FrameCaptionButtonContainerView::~FrameCaptionButtonContainerView() { |
| 146 } | 147 } |
| 147 | 148 |
| 148 void FrameCaptionButtonContainerView::TestApi::EndAnimations() { | 149 void FrameCaptionButtonContainerView::TestApi::EndAnimations() { |
| 149 container_view_->maximize_mode_animation_->End(); | 150 container_view_->maximize_mode_animation_->End(); |
| 150 } | 151 } |
| 151 | 152 |
| 152 void FrameCaptionButtonContainerView::SetButtonImage(CaptionButtonIcon icon, | 153 void FrameCaptionButtonContainerView::SetButtonImage( |
| 153 int icon_image_id) { | 154 CaptionButtonIcon icon, |
| 155 gfx::VectorIconId icon_image_id) { |
| 154 button_icon_id_map_[icon] = icon_image_id; | 156 button_icon_id_map_[icon] = icon_image_id; |
| 155 | 157 |
| 156 FrameCaptionButton* buttons[] = { | 158 FrameCaptionButton* buttons[] = { |
| 157 minimize_button_, size_button_, close_button_ | 159 minimize_button_, size_button_, close_button_ |
| 158 }; | 160 }; |
| 159 for (size_t i = 0; i < arraysize(buttons); ++i) { | 161 for (size_t i = 0; i < arraysize(buttons); ++i) { |
| 160 if (buttons[i]->icon() == icon) | 162 if (buttons[i]->icon() == icon) |
| 161 buttons[i]->SetImage(icon, FrameCaptionButton::ANIMATE_NO, icon_image_id); | 163 buttons[i]->SetImage(icon, FrameCaptionButton::ANIMATE_NO, icon_image_id); |
| 162 } | 164 } |
| 163 } | 165 } |
| 164 | 166 |
| 165 void FrameCaptionButtonContainerView::SetPaintAsActive(bool paint_as_active) { | 167 void FrameCaptionButtonContainerView::SetPaintAsActive(bool paint_as_active) { |
| 166 minimize_button_->set_paint_as_active(paint_as_active); | 168 minimize_button_->set_paint_as_active(paint_as_active); |
| 167 size_button_->set_paint_as_active(paint_as_active); | 169 size_button_->set_paint_as_active(paint_as_active); |
| 168 close_button_->set_paint_as_active(paint_as_active); | 170 close_button_->set_paint_as_active(paint_as_active); |
| 169 } | 171 } |
| 170 | 172 |
| 173 void FrameCaptionButtonContainerView::SetUseLightImages(bool light) { |
| 174 minimize_button_->set_use_light_images(light); |
| 175 size_button_->set_use_light_images(light); |
| 176 close_button_->set_use_light_images(light); |
| 177 } |
| 178 |
| 171 void FrameCaptionButtonContainerView::ResetWindowControls() { | 179 void FrameCaptionButtonContainerView::ResetWindowControls() { |
| 172 SetButtonsToNormal(ANIMATE_NO); | 180 SetButtonsToNormal(ANIMATE_NO); |
| 173 } | 181 } |
| 174 | 182 |
| 175 int FrameCaptionButtonContainerView::NonClientHitTest( | 183 int FrameCaptionButtonContainerView::NonClientHitTest( |
| 176 const gfx::Point& point) const { | 184 const gfx::Point& point) const { |
| 177 if (close_button_->visible() && | 185 if (close_button_->visible() && |
| 178 ConvertPointToViewAndHitTest(this, close_button_, point)) { | 186 ConvertPointToViewAndHitTest(this, close_button_, point)) { |
| 179 return HTCLOSE; | 187 return HTCLOSE; |
| 180 } else if (size_button_->visible() && | 188 } else if (size_button_->visible() && |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 views::Button::ButtonState new_state = views::Button::STATE_NORMAL; | 411 views::Button::ButtonState new_state = views::Button::STATE_NORMAL; |
| 404 if (button == to_hover) | 412 if (button == to_hover) |
| 405 new_state = views::Button::STATE_HOVERED; | 413 new_state = views::Button::STATE_HOVERED; |
| 406 else if (button == to_press) | 414 else if (button == to_press) |
| 407 new_state = views::Button::STATE_PRESSED; | 415 new_state = views::Button::STATE_PRESSED; |
| 408 button->SetState(new_state); | 416 button->SetState(new_state); |
| 409 } | 417 } |
| 410 } | 418 } |
| 411 | 419 |
| 412 } // namespace ash | 420 } // namespace ash |
| OLD | NEW |