Index: ash/wm/overview/overview_window_button.cc |
diff --git a/ash/wm/overview/overview_window_button.cc b/ash/wm/overview/overview_window_button.cc |
deleted file mode 100644 |
index 2fa3248e76ad775e7cb847008e22405f0ce83e14..0000000000000000000000000000000000000000 |
--- a/ash/wm/overview/overview_window_button.cc |
+++ /dev/null |
@@ -1,155 +0,0 @@ |
-// 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/screen_util.h" |
-#include "ash/shell.h" |
-#include "ash/shell_window_ids.h" |
-#include "ash/wm/overview/overview_animation_type.h" |
-#include "ash/wm/overview/overview_window_button.h" |
-#include "ash/wm/overview/overview_window_targeter.h" |
-#include "ash/wm/overview/scoped_overview_animation_settings.h" |
-#include "ash/wm/window_state.h" |
-#include "ui/aura/scoped_window_targeter.h" |
-#include "ui/aura/window.h" |
-#include "ui/base/resource/resource_bundle.h" |
-#include "ui/views/border.h" |
-#include "ui/views/controls/button/label_button.h" |
-#include "ui/views/widget/widget.h" |
- |
-namespace ash { |
- |
-namespace { |
- |
-// Foreground label color. |
-static const SkColor kLabelColor = SK_ColorWHITE; |
- |
-// Label shadow color. |
-static const SkColor kLabelShadow = 0xB0000000; |
- |
-// Solid shadow length from the label |
-static const int kVerticalShadowOffset = 1; |
- |
-// Amount of blur applied to the label shadow |
-static const int kShadowBlur = 10; |
- |
-} // namespace |
- |
-// LabelButton shown under each of the windows. |
-class OverviewWindowButton::OverviewButtonView : public views::LabelButton { |
- public: |
- OverviewButtonView(views::ButtonListener* listener, |
- const base::string16& text) |
- : views::LabelButton(listener, text), |
- selector_item_bounds_(gfx::Rect()) {} |
- |
- ~OverviewButtonView() override {} |
- |
- // Updates the |selector_item_bounds_|, converting them to our coordinates. |
- void SetSelectorItemBounds(const gfx::Rect& selector_item_bounds) { |
- selector_item_bounds_ = ScreenUtil::ConvertRectFromScreen( |
- GetWidget()->GetNativeWindow()->GetRootWindow(), selector_item_bounds); |
- gfx::Point origin = selector_item_bounds_.origin(); |
- gfx::Rect target_bounds = GetWidget()->GetNativeWindow()->GetTargetBounds(); |
- origin.Offset(-target_bounds.x(), -target_bounds.y()); |
- selector_item_bounds_.set_origin(origin); |
- } |
- |
- // views::View: |
- void OnMouseReleased(const ui::MouseEvent& event) override { |
- if (!selector_item_bounds_.Contains(event.location())) |
- return; |
- |
- NotifyClick(event); |
- } |
- |
- private: |
- // Bounds to check if a mouse release occurred outside the window item. |
- gfx::Rect selector_item_bounds_; |
- |
- DISALLOW_COPY_AND_ASSIGN(OverviewButtonView); |
-}; |
- |
-OverviewWindowButton::OverviewWindowButton(aura::Window* target) |
- : target_(target), window_label_(new views::Widget) { |
- views::Widget::InitParams params; |
- params.type = views::Widget::InitParams::TYPE_POPUP; |
- params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; |
- params.opacity = views::Widget::InitParams::TRANSLUCENT_WINDOW; |
- params.parent = Shell::GetContainer(target_->GetRootWindow(), |
- kShellWindowId_OverlayContainer); |
- params.visible_on_all_workspaces = true; |
- window_label_->set_focus_on_creation(false); |
- window_label_->Init(params); |
- window_label_button_view_ = new OverviewButtonView(this, target_->title()); |
- window_label_button_view_->SetTextColor(views::LabelButton::STATE_NORMAL, |
- kLabelColor); |
- window_label_button_view_->SetTextColor(views::LabelButton::STATE_HOVERED, |
- kLabelColor); |
- window_label_button_view_->SetTextColor(views::LabelButton::STATE_PRESSED, |
- kLabelColor); |
- window_label_button_view_->set_animate_on_state_change(false); |
- window_label_button_view_->SetHorizontalAlignment(gfx::ALIGN_CENTER); |
- window_label_button_view_->SetBorder(views::Border::NullBorder()); |
- window_label_button_view_->SetTextShadows(gfx::ShadowValues( |
- 1, gfx::ShadowValue(gfx::Point(0, kVerticalShadowOffset), kShadowBlur, |
- kLabelShadow))); |
- ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); |
- window_label_button_view_->SetFontList( |
- bundle.GetFontList(ui::ResourceBundle::BoldFont)); |
- window_label_->SetContentsView(window_label_button_view_); |
- |
- overview_window_targeter_ = |
- new OverviewWindowTargeter(window_label_->GetNativeWindow()); |
- scoped_window_targeter_.reset(new aura::ScopedWindowTargeter( |
- target, scoped_ptr<OverviewWindowTargeter>(overview_window_targeter_))); |
-} |
- |
-OverviewWindowButton::~OverviewWindowButton() { |
-} |
- |
-void OverviewWindowButton::SetBounds( |
- const gfx::Rect& bounds, |
- const OverviewAnimationType& animation_type) { |
- if (!window_label_->IsVisible()) { |
- window_label_->Show(); |
- ScopedOverviewAnimationSettings::SetupFadeInAfterLayout( |
- window_label_->GetNativeWindow()); |
- } |
- gfx::Rect converted_bounds = |
- ScreenUtil::ConvertRectFromScreen(target_->GetRootWindow(), bounds); |
- gfx::Rect label_bounds(converted_bounds.x(), converted_bounds.bottom(), |
- converted_bounds.width(), 0); |
- label_bounds.set_height( |
- window_label_->GetContentsView()->GetPreferredSize().height()); |
- label_bounds.set_y( |
- label_bounds.y() - |
- window_label_->GetContentsView()->GetPreferredSize().height()); |
- |
- ScopedOverviewAnimationSettings animation_settings( |
- animation_type, window_label_->GetNativeWindow()); |
- |
- window_label_->GetNativeWindow()->SetBounds(label_bounds); |
- window_label_button_view_->SetSelectorItemBounds(bounds); |
- overview_window_targeter_->set_bounds( |
- ScreenUtil::ConvertRectFromScreen(target_->GetRootWindow(), bounds)); |
-} |
- |
-void OverviewWindowButton::SendFocusAlert() const { |
- window_label_button_view_->NotifyAccessibilityEvent(ui::AX_EVENT_FOCUS, true); |
-} |
- |
-void OverviewWindowButton::SetLabelText(const base::string16& title) { |
- window_label_button_view_->SetText(title); |
-} |
- |
-void OverviewWindowButton::SetOpacity(float opacity) { |
- window_label_->GetNativeWindow()->layer()->SetOpacity(opacity); |
-} |
- |
-void OverviewWindowButton::ButtonPressed(views::Button* sender, |
- const ui::Event& event) { |
- wm::GetWindowState(target_)->Activate(); |
-} |
- |
-} // namespace ash |