Chromium Code Reviews| Index: ash/root_window_controller.h |
| diff --git a/ash/root_window_controller.h b/ash/root_window_controller.h |
| index 2c02b20def300050422a4ef4eedddc61a7ddadff..04ad8734a61f5cfc547123c44f1d73e80eca9a4c 100644 |
| --- a/ash/root_window_controller.h |
| +++ b/ash/root_window_controller.h |
| @@ -5,6 +5,8 @@ |
| #ifndef ASH_ROOT_WINDOW_CONTROLLER_H_ |
| #define ASH_ROOT_WINDOW_CONTROLLER_H_ |
| +#include <map> |
| + |
| #include "ash/ash_export.h" |
| #include "ash/shelf/shelf_types.h" |
| #include "ash/system/user/login_status.h" |
| @@ -52,7 +54,8 @@ class ShelfLayoutManager; |
| class StatusAreaWidget; |
| class SystemBackgroundController; |
| class SystemModalContainerLayoutManager; |
| -class TouchObserverHUD; |
| +class TouchHudDebug; |
| +class TouchHudProjection; |
| class WorkspaceController; |
| // This class maintains the per root window state for ash. This class |
| @@ -91,13 +94,29 @@ class ASH_EXPORT RootWindowController { |
| // NULL if no such shelf exists. |
| ShelfWidget* shelf() { return shelf_.get(); } |
| - TouchObserverHUD* touch_observer_hud() { return touch_observer_hud_; } |
| + // Get touch HUDs associated with this root window controller. |
| + TouchHudDebug* touch_hud_debug() const { |
| + return touch_hud_debug_; |
| + } |
| + TouchHudProjection* touch_hud_projection() const { |
| + return touch_hud_projection_; |
| + } |
| - // Sets the touch HUD. The RootWindowController will not own this HUD; its |
| - // lifetime is managed by itself. |
| - void set_touch_observer_hud(TouchObserverHUD* hud) { |
| - touch_observer_hud_ = hud; |
| + // Set touch HUDs for this root window controller. The root window controller |
| + // will not own the HUDs; their lifetimes are managed by themselves. |
| + void set_touch_hud_debug(TouchHudDebug* hud) { |
| + touch_hud_debug_ = hud; |
| + } |
| + void set_touch_hud_projection(TouchHudProjection* hud) { |
|
sky
2013/06/26 21:07:44
Who owns hud and what happens to existing hud? Sam
mohsen
2013/06/27 00:44:31
The hud manages its own lifetime. When the widget
sky
2013/06/28 16:09:00
Document ownership here.
|
| + touch_hud_projection_ = hud; |
| } |
| + |
| + // Enables projection touch HUD. |
| + void EnableTouchHudProjection(); |
| + |
| + // Disables projection touch HUD. |
| + void DisableTouchHudProjection(); |
| + |
| // Access the shelf layout manager associated with this root |
| // window controller, NULL if no such shelf exists. |
| ShelfLayoutManager* GetShelfLayoutManager(); |
| @@ -172,6 +191,9 @@ class ASH_EXPORT RootWindowController { |
| // Force the shelf to query for it's current visibility state. |
| void UpdateShelfVisibility(); |
| + // Initialize touch HUDs if necessary. |
| + void InitTouchHuds(); |
|
sky
2013/06/26 21:07:44
Shouldn't this be private?
mohsen
2013/06/27 00:44:31
This function is called from Shell::InitRootWindow
|
| + |
| // Returns the window, if any, which is in fullscreen mode in the active |
| // workspace. Exposed here so clients of Ash don't need to know the details |
| // of workspace management. |
| @@ -207,9 +229,10 @@ class ASH_EXPORT RootWindowController { |
| scoped_ptr<ScreenDimmer> screen_dimmer_; |
| scoped_ptr<WorkspaceController> workspace_controller_; |
| - // Heads-up display for touch events. The RootWindowController does not own |
| - // this HUD; its lifetime is managed by itself. |
| - TouchObserverHUD* touch_observer_hud_; |
| + // Heads-up displays for touch events. These HUDs are not owned by the root |
| + // window controller and manage their own lifetimes. |
| + TouchHudDebug* touch_hud_debug_; |
| + TouchHudProjection* touch_hud_projection_; |
| // We need to own event handlers for various containers. |
| scoped_ptr<ToplevelWindowEventHandler> default_container_handler_; |