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

Side by Side Diff: ui/aura_shell/shadow_controller.h

Issue 8785005: aura: Make shadows be children of window layers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | ui/aura_shell/shadow_controller.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_AURA_SHELL_SHADOW_CONTROLLER_H_ 5 #ifndef UI_AURA_SHELL_SHADOW_CONTROLLER_H_
6 #define UI_AURA_SHELL_SHADOW_CONTROLLER_H_ 6 #define UI_AURA_SHELL_SHADOW_CONTROLLER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <map> 9 #include <map>
10 10
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 DISALLOW_COPY_AND_ASSIGN(TestApi); 47 DISALLOW_COPY_AND_ASSIGN(TestApi);
48 }; 48 };
49 49
50 explicit ShadowController(); 50 explicit ShadowController();
51 virtual ~ShadowController(); 51 virtual ~ShadowController();
52 52
53 // aura::DesktopObserver override: 53 // aura::DesktopObserver override:
54 virtual void OnWindowInitialized(aura::Window* window) OVERRIDE; 54 virtual void OnWindowInitialized(aura::Window* window) OVERRIDE;
55 55
56 // aura::WindowObserver overrides: 56 // aura::WindowObserver overrides:
57 virtual void OnWindowParentChanged(
58 aura::Window* window, aura::Window* parent) OVERRIDE;
59 virtual void OnWindowPropertyChanged( 57 virtual void OnWindowPropertyChanged(
60 aura::Window* window, const char* name, void* old) OVERRIDE; 58 aura::Window* window, const char* name, void* old) OVERRIDE;
61 virtual void OnWindowVisibilityChanged(
62 aura::Window* window, bool visible) OVERRIDE;
63 virtual void OnWindowBoundsChanged( 59 virtual void OnWindowBoundsChanged(
64 aura::Window* window, const gfx::Rect& bounds) OVERRIDE; 60 aura::Window* window, const gfx::Rect& bounds) OVERRIDE;
65 virtual void OnWindowStackingChanged(aura::Window* window) OVERRIDE;
66 virtual void OnWindowDestroyed(aura::Window* window) OVERRIDE; 61 virtual void OnWindowDestroyed(aura::Window* window) OVERRIDE;
67 62
68 private: 63 private:
69 typedef std::map<aura::Window*, linked_ptr<Shadow> > WindowShadowMap; 64 typedef std::map<aura::Window*, linked_ptr<Shadow> > WindowShadowMap;
70 65
71 // Checks if |window| is visible and contains a property requesting a shadow. 66 // Checks if |window| is visible and contains a property requesting a shadow.
72 bool ShouldShowShadowForWindow(aura::Window* window) const; 67 bool ShouldShowShadowForWindow(aura::Window* window) const;
73 68
74 // Returns |window|'s shadow from |window_shadows_|, or NULL if no shadow 69 // Returns |window|'s shadow from |window_shadows_|, or NULL if no shadow
75 // exists. 70 // exists.
76 Shadow* GetShadowForWindow(aura::Window* window); 71 Shadow* GetShadowForWindow(aura::Window* window);
77 72
78 // Shows or hides |window|'s shadow as needed (creating the shadow if 73 // Shows or hides |window|'s shadow as needed (creating the shadow if
79 // necessary). 74 // necessary).
80 void HandlePossibleShadowVisibilityChange(aura::Window* window); 75 void HandlePossibleShadowVisibilityChange(aura::Window* window);
81 76
82 // Creates a new shadow for |window| and stores it in |window_shadows_|. The 77 // Creates a new shadow for |window| and stores it in |window_shadows_|. The
83 // shadow's visibility, bounds, and stacking are initialized appropriately. 78 // shadow's bounds are initialized and it is added to the window's layer.
84 void CreateShadowForWindow(aura::Window* window); 79 void CreateShadowForWindow(aura::Window* window);
85 80
86 // Stacks |shadow|'s layer directly beneath |window|'s layer.
87 void StackShadowBelowWindow(Shadow* shadow, aura::Window* window);
88
89 WindowShadowMap window_shadows_; 81 WindowShadowMap window_shadows_;
90 82
91 DISALLOW_COPY_AND_ASSIGN(ShadowController); 83 DISALLOW_COPY_AND_ASSIGN(ShadowController);
92 }; 84 };
93 85
94 } // namepsace aura_shell 86 } // namepsace aura_shell
95 } // namepsace internal 87 } // namepsace internal
96 88
97 #endif // UI_AURA_SHELL_SHADOW_CONTROLLER_H_ 89 #endif // UI_AURA_SHELL_SHADOW_CONTROLLER_H_
OLDNEW
« no previous file with comments | « no previous file | ui/aura_shell/shadow_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698