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

Unified Diff: ash/root_window_controller.h

Issue 17063013: Separate projection mode from rest of touch HUD (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Small corrections Created 7 years, 6 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/root_window_controller.h
diff --git a/ash/root_window_controller.h b/ash/root_window_controller.h
index 2c02b20def300050422a4ef4eedddc61a7ddadff..1ac3d40369edf804e048ea7d53ec657214b34086 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 TouchHudDebugging;
+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.
+ TouchHudDebugging* touch_hud_debugging() const {
+ return touch_hud_debugging_;
+ }
+ 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_debugging(TouchHudDebugging* hud) {
+ touch_hud_debugging_ = hud;
+ }
+ void set_touch_hud_projection(TouchHudProjection* hud) {
+ 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();
+
// 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.
+ TouchHudDebugging* touch_hud_debugging_;
+ TouchHudProjection* touch_hud_projection_;
// We need to own event handlers for various containers.
scoped_ptr<ToplevelWindowEventHandler> default_container_handler_;
« no previous file with comments | « ash/ash.gyp ('k') | ash/root_window_controller.cc » ('j') | ash/touch/touch_hud_debugging.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698