| Index: ash/common/wm/overview/scoped_transform_overview_window.h
|
| diff --git a/ash/common/wm/overview/scoped_transform_overview_window.h b/ash/common/wm/overview/scoped_transform_overview_window.h
|
| deleted file mode 100644
|
| index c197e64c81a6f5069c0cce107ccbf02eb9719de9..0000000000000000000000000000000000000000
|
| --- a/ash/common/wm/overview/scoped_transform_overview_window.h
|
| +++ /dev/null
|
| @@ -1,198 +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_SCOPED_TRANSFORM_OVERVIEW_WINDOW_H_
|
| -#define ASH_COMMON_WM_OVERVIEW_SCOPED_TRANSFORM_OVERVIEW_WINDOW_H_
|
| -
|
| -#include <memory>
|
| -#include <vector>
|
| -
|
| -#include "ash/ash_export.h"
|
| -#include "ash/common/wm/overview/overview_animation_type.h"
|
| -#include "base/macros.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "third_party/skia/include/core/SkColor.h"
|
| -#include "ui/events/event_handler.h"
|
| -#include "ui/gfx/geometry/size.h"
|
| -#include "ui/gfx/transform.h"
|
| -
|
| -class SkRegion;
|
| -
|
| -namespace gfx {
|
| -class Rect;
|
| -}
|
| -
|
| -namespace views {
|
| -class Widget;
|
| -}
|
| -
|
| -namespace ash {
|
| -
|
| -class ScopedOverviewAnimationSettings;
|
| -class WmWindow;
|
| -
|
| -// Manages a window, and it's transient children, in the overview mode. This
|
| -// class allows transforming the windows with a helper to determine the best
|
| -// fit in certain bounds. The window's state is restored on destruction of this
|
| -// object.
|
| -class ASH_EXPORT ScopedTransformOverviewWindow : public ui::EventHandler {
|
| - public:
|
| - class OverviewContentMask;
|
| - using ScopedAnimationSettings =
|
| - std::vector<std::unique_ptr<ScopedOverviewAnimationSettings>>;
|
| -
|
| - // 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|.
|
| - static float GetItemScale(const gfx::Size& source,
|
| - const gfx::Size& target,
|
| - int top_view_inset,
|
| - int title_height);
|
| -
|
| - // Returns |rect| having been shrunk to fit within |bounds| (preserving the
|
| - // aspect ratio). Takes into account a window header that is |top_view_inset|
|
| - // tall in the original window getting replaced by a window caption that is
|
| - // |title_height| tall in transformed window.
|
| - static gfx::Rect ShrinkRectToFitPreservingAspectRatio(const gfx::Rect& rect,
|
| - const gfx::Rect& bounds,
|
| - int top_view_inset,
|
| - int title_height);
|
| -
|
| - // Returns the transform turning |src_rect| into |dst_rect|.
|
| - static gfx::Transform GetTransformForRect(const gfx::Rect& src_rect,
|
| - const gfx::Rect& dst_rect);
|
| -
|
| - explicit ScopedTransformOverviewWindow(WmWindow* window);
|
| - ~ScopedTransformOverviewWindow() override;
|
| -
|
| - // Starts an animation sequence which will use animation settings specified by
|
| - // |animation_type|. The |animation_settings| container is populated with
|
| - // scoped entities and the container should be destroyed at the end of the
|
| - // animation sequence.
|
| - //
|
| - // Example:
|
| - // ScopedTransformOverviewWindow overview_window(window);
|
| - // ScopedTransformOverviewWindow::ScopedAnimationSettings scoped_settings;
|
| - // overview_window.BeginScopedAnimation(
|
| - // OverviewAnimationType::OVERVIEW_ANIMATION_SELECTOR_ITEM_SCROLL_CANCEL,
|
| - // &animation_settings);
|
| - // // Calls to SetTransform & SetOpacity will use the same animation settings
|
| - // // until scoped_settings is destroyed.
|
| - // overview_window.SetTransform(root_window, new_transform);
|
| - // overview_window.SetOpacity(1);
|
| - void BeginScopedAnimation(OverviewAnimationType animation_type,
|
| - ScopedAnimationSettings* animation_settings);
|
| -
|
| - // Returns true if this window selector window contains the |target|.
|
| - bool Contains(const WmWindow* target) const;
|
| -
|
| - // Returns the original target bounds of all transformed windows.
|
| - gfx::Rect GetTargetBoundsInScreen() const;
|
| -
|
| - // Calculates the bounds of a |window_| after being transformed to the
|
| - // selector's space. Those bounds are a union of all regular (normal and
|
| - // panel) windows in the |window_|'s transient hierarchy. The returned Rect is
|
| - // in virtual screen coordinates. The returned bounds are adjusted to allow
|
| - // the original |window_|'s header to be hidden.
|
| - gfx::Rect GetTransformedBounds() const;
|
| -
|
| - // Returns TOP_VIEW_COLOR property of |window_| unless there are transient
|
| - // ancestors in which case returns SK_ColorTRANSPARENT.
|
| - SkColor GetTopColor() const;
|
| -
|
| - // Returns TOP_VIEW_INSET property of |window_| unless there are transient
|
| - // ancestors in which case returns 0.
|
| - int GetTopInset() const;
|
| -
|
| - // Restores and animates the managed window to it's non overview mode state.
|
| - void RestoreWindow();
|
| -
|
| - // Informs the ScopedTransformOverviewWindow that the window being watched was
|
| - // destroyed. This resets the internal window pointer.
|
| - void OnWindowDestroyed();
|
| -
|
| - // Prepares for overview mode by doing any necessary actions before entering.
|
| - void PrepareForOverview();
|
| -
|
| - // Applies the |transform| to the overview window and all of its transient
|
| - // children.
|
| - void SetTransform(WmWindow* root_window, const gfx::Transform& transform);
|
| -
|
| - // Set's the opacity of the managed windows.
|
| - void SetOpacity(float opacity);
|
| -
|
| - // Hides the window header whose size is given in |TOP_VIEW_INSET|
|
| - // window property.
|
| - void HideHeader();
|
| -
|
| - // Shows the window header that is hidden by HideHeader().
|
| - void ShowHeader();
|
| -
|
| - // Creates/Deletes a mirror window for minimized windows.
|
| - void UpdateMirrorWindowForMinimizedState();
|
| -
|
| - WmWindow* window() const { return window_; }
|
| -
|
| - // Closes the transient root of the window managed by |this|.
|
| - void Close();
|
| -
|
| - // Returns the window used to show the content in overview mdoe.
|
| - // For minmiezd window, this will be a window that hosts mirrored layers.
|
| - WmWindow* GetOverviewWindow() const;
|
| -
|
| - // Ensures that a window is visible by setting its opacity to 1.
|
| - void EnsureVisible();
|
| -
|
| - // Returns the window created for minimized window, or nullptr
|
| - // if it does not exit.
|
| - WmWindow* GetOverviewWindowForMinimizedState() const;
|
| -
|
| - // ui::EventHandler:
|
| - void OnGestureEvent(ui::GestureEvent* event) override;
|
| - void OnMouseEvent(ui::MouseEvent* event) override;
|
| -
|
| - private:
|
| - friend class WindowSelectorTest;
|
| -
|
| - // Closes the window managed by |this|.
|
| - void CloseWidget();
|
| -
|
| - void CreateMirrorWindowForMinimizedState();
|
| -
|
| - // Makes Close() execute synchronously when used in tests.
|
| - static void SetImmediateCloseForTests();
|
| -
|
| - // A weak pointer to the real window in the overview.
|
| - WmWindow* window_;
|
| -
|
| - // Original window shape, if it was set on a window.
|
| - std::unique_ptr<SkRegion> original_window_shape_;
|
| -
|
| - // True after the |original_window_shape_| has been set or after it has
|
| - // been determined that window shape was not originally set on the |window_|.
|
| - bool determined_original_window_shape_;
|
| -
|
| - // Tracks if this window was ignored by the shelf.
|
| - bool ignored_by_shelf_;
|
| -
|
| - // True if the window has been transformed for overview mode.
|
| - bool overview_started_;
|
| -
|
| - // The original transform of the window before entering overview mode.
|
| - gfx::Transform original_transform_;
|
| -
|
| - // The original opacity of the window before entering overview mode.
|
| - float original_opacity_;
|
| -
|
| - // A window that holds the content for minimized window.
|
| - std::unique_ptr<views::Widget> minimized_widget_;
|
| -
|
| - base::WeakPtrFactory<ScopedTransformOverviewWindow> weak_ptr_factory_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ScopedTransformOverviewWindow);
|
| -};
|
| -
|
| -} // namespace ash
|
| -
|
| -#endif // ASH_COMMON_WM_OVERVIEW_SCOPED_TRANSFORM_OVERVIEW_WINDOW_H_
|
|
|