Index: ash/wm/shadow_controller.h |
=================================================================== |
--- ash/wm/shadow_controller.h (revision 167688) |
+++ ash/wm/shadow_controller.h (working copy) |
@@ -1,104 +0,0 @@ |
-// Copyright (c) 2012 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_WM_SHADOW_CONTROLLER_H_ |
-#define ASH_WM_SHADOW_CONTROLLER_H_ |
- |
-#include <map> |
- |
-#include "ash/ash_export.h" |
-#include "base/basictypes.h" |
-#include "base/compiler_specific.h" |
-#include "base/memory/linked_ptr.h" |
-#include "base/scoped_observer.h" |
-#include "ui/aura/client/activation_change_observer.h" |
-#include "ui/aura/env_observer.h" |
-#include "ui/aura/window_observer.h" |
- |
-namespace aura { |
-class Window; |
-} |
-namespace gfx { |
-class Rect; |
-} |
- |
-namespace ash { |
-namespace internal { |
- |
-class Shadow; |
- |
-// ShadowController observes changes to windows and creates and updates drop |
-// shadows as needed. |
-class ASH_EXPORT ShadowController : |
- public aura::EnvObserver, |
- public aura::WindowObserver, |
- public aura::client::ActivationChangeObserver { |
- public: |
- class TestApi { |
- public: |
- explicit TestApi(ShadowController* controller) : controller_(controller) {} |
- ~TestApi() {} |
- |
- Shadow* GetShadowForWindow(aura::Window* window) { |
- return controller_->GetShadowForWindow(window); |
- } |
- |
- private: |
- ShadowController* controller_; // not owned |
- |
- DISALLOW_COPY_AND_ASSIGN(TestApi); |
- }; |
- |
- explicit ShadowController(); |
- virtual ~ShadowController(); |
- |
- // aura::EnvObserver override: |
- virtual void OnWindowInitialized(aura::Window* window) OVERRIDE; |
- |
- // aura::WindowObserver overrides: |
- virtual void OnWindowPropertyChanged( |
- aura::Window* window, const void* key, intptr_t old) OVERRIDE; |
- virtual void OnWindowBoundsChanged( |
- aura::Window* window, |
- const gfx::Rect& old_bounds, |
- const gfx::Rect& new_bounds) OVERRIDE; |
- virtual void OnWindowDestroyed(aura::Window* window) OVERRIDE; |
- |
- // aura::client::ActivationChangeObserver overrides: |
- virtual void OnWindowActivated(aura::Window* active, |
- aura::Window* old_active) OVERRIDE; |
- |
- private: |
- typedef std::map<aura::Window*, linked_ptr<Shadow> > WindowShadowMap; |
- |
- // Checks if |window| is visible and contains a property requesting a shadow. |
- bool ShouldShowShadowForWindow(aura::Window* window) const; |
- |
- // Returns |window|'s shadow from |window_shadows_|, or NULL if no shadow |
- // exists. |
- Shadow* GetShadowForWindow(aura::Window* window); |
- |
- // Updates the shadow styles for windows when activation changes. |
- void HandleWindowActivationChange(aura::Window* gaining_active, |
- aura::Window* losing_active); |
- |
- // Shows or hides |window|'s shadow as needed (creating the shadow if |
- // necessary). |
- void HandlePossibleShadowVisibilityChange(aura::Window* window); |
- |
- // Creates a new shadow for |window| and stores it in |window_shadows_|. The |
- // shadow's bounds are initialized and it is added to the window's layer. |
- void CreateShadowForWindow(aura::Window* window); |
- |
- WindowShadowMap window_shadows_; |
- |
- ScopedObserver<aura::Window, aura::WindowObserver> observer_manager_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ShadowController); |
-}; |
- |
-} // namespace internal |
-} // namespace ash |
- |
-#endif // ASH_WM_SHADOW_CONTROLLER_H_ |