Index: ash/common/wm/overview/window_selector_item.h |
diff --git a/ash/common/wm/overview/window_selector_item.h b/ash/common/wm/overview/window_selector_item.h |
deleted file mode 100644 |
index 097cc8b4971a22f2724f07bae45bb846b2e8a60d..0000000000000000000000000000000000000000 |
--- a/ash/common/wm/overview/window_selector_item.h |
+++ /dev/null |
@@ -1,224 +0,0 @@ |
-// Copyright 2013 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. |
- |
-#ifndef ASH_COMMON_WM_OVERVIEW_WINDOW_SELECTOR_ITEM_H_ |
-#define ASH_COMMON_WM_OVERVIEW_WINDOW_SELECTOR_ITEM_H_ |
- |
-#include <memory> |
- |
-#include "ash/ash_export.h" |
-#include "ash/common/wm/overview/scoped_transform_overview_window.h" |
-#include "base/macros.h" |
-#include "ui/aura/window_observer.h" |
-#include "ui/gfx/geometry/insets.h" |
-#include "ui/gfx/geometry/rect.h" |
-#include "ui/views/controls/button/button.h" |
-#include "ui/views/controls/button/image_button.h" |
-#include "ui/views/controls/label.h" |
-#include "ui/views/widget/widget.h" |
- |
-namespace gfx { |
-class SlideAnimation; |
-} |
- |
-namespace views { |
-class ImageButton; |
-} |
- |
-namespace ash { |
- |
-class WindowSelector; |
-class WmWindow; |
- |
-// This class represents an item in overview mode. |
-class ASH_EXPORT WindowSelectorItem : public views::ButtonListener, |
- public aura::WindowObserver { |
- public: |
- // An image button with a close window icon. |
- class OverviewCloseButton : public views::ImageButton { |
- public: |
- explicit OverviewCloseButton(views::ButtonListener* listener); |
- ~OverviewCloseButton() override; |
- |
- // Resets the listener so that the listener can go out of scope. |
- void ResetListener() { listener_ = nullptr; } |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(OverviewCloseButton); |
- }; |
- |
- WindowSelectorItem(WmWindow* window, WindowSelector* window_selector); |
- ~WindowSelectorItem() override; |
- |
- WmWindow* GetWindow(); |
- |
- // Returns the root window on which this item is shown. |
- WmWindow* root_window() { return root_window_; } |
- |
- // Returns true if |target| is contained in this WindowSelectorItem. |
- bool Contains(const WmWindow* target) const; |
- |
- // Restores and animates the managed window to its non overview mode state. |
- void RestoreWindow(); |
- |
- // Ensures that a possibly minimized window becomes visible after restore. |
- void EnsureVisible(); |
- |
- // Restores stacking of window captions above the windows, then fades out. |
- void Shutdown(); |
- |
- // Dispatched before beginning window overview. This will do any necessary |
- // one time actions such as restoring minimized windows. |
- void PrepareForOverview(); |
- |
- // Calculates and returns an optimal scale ratio. With MD this is only |
- // taking into account |size.height()| as the width can vary. Without MD this |
- // returns the scale that allows the item to fully fit within |size|. |
- float GetItemScale(const gfx::Size& size); |
- |
- // Returns the union of the original target bounds of all transformed windows |
- // managed by |this| item, i.e. all regular (normal or panel transient |
- // descendants of the window returned by GetWindow()). |
- gfx::Rect GetTargetBoundsInScreen() const; |
- |
- // Sets the bounds of this window selector item to |target_bounds| in the |
- // |root_window_| root window. The bounds change will be animated as specified |
- // by |animation_type|. |
- void SetBounds(const gfx::Rect& target_bounds, |
- OverviewAnimationType animation_type); |
- |
- // Activates or deactivates selection depending on |selected|. |
- // In selected state the item's caption is shown transparent and blends with |
- // the selection widget. |
- void SetSelected(bool selected); |
- |
- // Sends an accessibility event indicating that this window became selected |
- // so that it's highlighted and announced if accessibility features are |
- // enabled. |
- void SendAccessibleSelectionEvent(); |
- |
- // Closes |transform_window_|. |
- void CloseWindow(); |
- |
- // Hides the original window header. |
- void HideHeader(); |
- |
- // Called when the window is minimized or unminimized. |
- void OnMinimizedStateChanged(); |
- |
- // Sets if the item is dimmed in the overview. Changing the value will also |
- // change the visibility of the transform windows. |
- void SetDimmed(bool dimmed); |
- bool dimmed() const { return dimmed_; } |
- |
- const gfx::Rect& target_bounds() const { return target_bounds_; } |
- |
- // views::ButtonListener: |
- void ButtonPressed(views::Button* sender, const ui::Event& event) override; |
- |
- // aura::WindowObserver: |
- void OnWindowDestroying(aura::Window* window) override; |
- void OnWindowTitleChanged(aura::Window* window) override; |
- |
- private: |
- class CaptionContainerView; |
- class RoundedContainerView; |
- friend class WindowSelectorTest; |
- |
- enum class HeaderFadeInMode { |
- ENTER, |
- UPDATE, |
- EXIT, |
- }; |
- |
- // Sets the bounds of this selector's items to |target_bounds| in |
- // |root_window_|. The bounds change will be animated as specified |
- // by |animation_type|. |
- void SetItemBounds(const gfx::Rect& target_bounds, |
- OverviewAnimationType animation_type); |
- |
- // Changes the opacity of all the windows the item owns. |
- void SetOpacity(float opacity); |
- |
- // Creates the window label. |
- void CreateWindowLabel(const base::string16& title); |
- |
- // Updates the close button's and title label's bounds. Any change in bounds |
- // will be animated from the current bounds to the new bounds as per the |
- // |animation_type|. |mode| allows distinguishing the first time update which |
- // allows setting the initial bounds properly or exiting overview to fade out |
- // gradually. |
- void UpdateHeaderLayout(HeaderFadeInMode mode, |
- OverviewAnimationType animation_type); |
- |
- // Animates opacity of the |transform_window_| and its caption to |opacity| |
- // using |animation_type|. |
- void AnimateOpacity(float opacity, OverviewAnimationType animation_type); |
- |
- // Updates the accessibility name to match the window title. |
- void UpdateAccessibilityName(); |
- |
- // Fades out a window caption when exiting overview mode. |
- void FadeOut(std::unique_ptr<views::Widget> widget); |
- |
- // Allows a test to directly set animation state. |
- gfx::SlideAnimation* GetBackgroundViewAnimation(); |
- |
- WmWindow* GetOverviewWindowForMinimizedStateForTest(); |
- |
- // True if the item is being shown in the overview, false if it's being |
- // filtered. |
- bool dimmed_; |
- |
- // The root window this item is being displayed on. |
- WmWindow* root_window_; |
- |
- // The contained Window's wrapper. |
- ScopedTransformOverviewWindow transform_window_; |
- |
- // The target bounds this selector item is fit within. |
- gfx::Rect target_bounds_; |
- |
- // True if running SetItemBounds. This prevents recursive calls resulting from |
- // the bounds update when calling ::wm::RecreateWindowLayers to copy |
- // a window layer for display on another monitor. |
- bool in_bounds_update_; |
- |
- // True when |this| item is visually selected. Item header is made transparent |
- // when the item is selected. |
- bool selected_; |
- |
- // A widget that covers the |transform_window_|. The widget has |
- // |caption_container_view_| as its contents view. The widget is backed by a |
- // NOT_DRAWN layer since most of its surface is transparent. |
- std::unique_ptr<views::Widget> item_widget_; |
- |
- // Container view that owns a Button view covering the |transform_window_|. |
- // That button serves as an event shield to receive all events such as clicks |
- // targeting the |transform_window_| or the overview header above the window. |
- // The shield button owns |background_view_| which owns |label_view_| |
- // and |close_button_|. |
- CaptionContainerView* caption_container_view_; |
- |
- // A View for the text label above the window owned by the |background_view_|. |
- views::Label* label_view_; |
- |
- // A close button for the window in this item owned by the |background_view_|. |
- OverviewCloseButton* close_button_; |
- |
- // Pointer to the WindowSelector that owns the WindowGrid containing |this|. |
- // Guaranteed to be non-null for the lifetime of |this|. |
- WindowSelector* window_selector_; |
- |
- // Pointer to a view that covers the original header and has rounded top |
- // corners. This view can have its color and opacity animated. It has a layer |
- // which is the only textured layer used by the |item_widget_|. |
- RoundedContainerView* background_view_; |
- |
- DISALLOW_COPY_AND_ASSIGN(WindowSelectorItem); |
-}; |
- |
-} // namespace ash |
- |
-#endif // ASH_COMMON_WM_OVERVIEW_WINDOW_SELECTOR_ITEM_H_ |