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

Unified Diff: ash/common/wm/overview/scoped_transform_overview_window.h

Issue 2239233002: [ash-md] Fades overview header in and out (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: [ash-md] Fades overview header in and out (rebase) Created 4 years, 4 months 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: 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
index 11b50ef1c146b9bc6358793687b1e6085d90749c..2efe6ccc3bdcd1be05c10d480f459aba06daa348 100644
--- a/ash/common/wm/overview/scoped_transform_overview_window.h
+++ b/ash/common/wm/overview/scoped_transform_overview_window.h
@@ -32,6 +32,7 @@ class WmWindow;
// object.
class ASH_EXPORT ScopedTransformOverviewWindow {
public:
+ class OverviewContentMask;
using ScopedAnimationSettings =
std::vector<std::unique_ptr<ScopedOverviewAnimationSettings>>;
@@ -120,12 +121,14 @@ class ASH_EXPORT ScopedTransformOverviewWindow {
// using rounded corners of |radius|. When |use_mask| is set, hides the
// original window header and uses rounded rectangle mask which may be
// resource-intensive. When |use_shape| is set and |use_mask| is not, uses
- // SetAlphaShape to mask the header.
+ // SetAlphaShape to mask the header. If |animate| is set, the shape or mask
+ // is set only upon the animation completion.
void SetTransform(WmWindow* root_window,
const gfx::Transform& transform,
bool use_mask,
bool use_shape,
- float radius);
+ float radius,
+ bool animate);
// Set's the opacity of the managed windows.
void SetOpacity(float opacity);
@@ -136,8 +139,8 @@ class ASH_EXPORT ScopedTransformOverviewWindow {
void Close();
private:
+ class OverviewWindowAnimationObserver;
friend class WindowSelectorTest;
- class OverviewContentMask;
enum OriginalVisibility {
ORIGINALLY_VISIBLE,
@@ -163,6 +166,10 @@ class ASH_EXPORT ScopedTransformOverviewWindow {
// Original window shape, if it was set on a window.
std::unique_ptr<SkRegion> original_window_shape_;
+ // Observes transform animation and hides the window header when the animation
+ // completes.
+ std::unique_ptr<OverviewWindowAnimationObserver> animation_observer_;
+
// 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_;

Powered by Google App Engine
This is Rietveld 408576698