| 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_
|
|
|