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

Side by Side Diff: ash/root_window_controller.h

Issue 225143007: First crack at implementing the touch explaration mode. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Minor changes Created 6 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 ASH_ROOT_WINDOW_CONTROLLER_H_ 5 #ifndef ASH_ROOT_WINDOW_CONTROLLER_H_
6 #define ASH_ROOT_WINDOW_CONTROLLER_H_ 6 #define ASH_ROOT_WINDOW_CONTROLLER_H_
7 7
8 #include <map> 8 #include <map>
9 9
10 #include "ash/accessibility_delegate.h"
10 #include "ash/ash_export.h" 11 #include "ash/ash_export.h"
11 #include "ash/shelf/shelf_types.h" 12 #include "ash/shelf/shelf_types.h"
12 #include "ash/shell_observer.h" 13 #include "ash/shell_observer.h"
14 #include "ash/system/tray_accessibility.h"
13 #include "ash/system/user/login_status.h" 15 #include "ash/system/user/login_status.h"
16 #include "ash/touch/touch_exploration_controller.h"
14 #include "base/basictypes.h" 17 #include "base/basictypes.h"
15 #include "base/memory/scoped_ptr.h" 18 #include "base/memory/scoped_ptr.h"
16 #include "ui/aura/window.h" 19 #include "ui/aura/window.h"
17 #include "ui/aura/window_tree_host.h" 20 #include "ui/aura/window_tree_host.h"
18 #include "ui/base/ui_base_types.h" 21 #include "ui/base/ui_base_types.h"
19 22
20 class SkBitmap; 23 class SkBitmap;
21 24
22 namespace aura { 25 namespace aura {
23 class EventFilter; 26 class EventFilter;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 class BootSplashScreen; 75 class BootSplashScreen;
73 #endif 76 #endif
74 77
75 // This class maintains the per root window state for ash. This class 78 // This class maintains the per root window state for ash. This class
76 // owns the root window and other dependent objects that should be 79 // owns the root window and other dependent objects that should be
77 // deleted upon the deletion of the root window. This object is 80 // deleted upon the deletion of the root window. This object is
78 // indirectly owned and deleted by |DisplayController|. 81 // indirectly owned and deleted by |DisplayController|.
79 // The RootWindowController for particular root window is stored in 82 // The RootWindowController for particular root window is stored in
80 // its property (RootWindowSettings) and can be obtained using 83 // its property (RootWindowSettings) and can be obtained using
81 // |GetRootWindowController(aura::WindowEventDispatcher*)| function. 84 // |GetRootWindowController(aura::WindowEventDispatcher*)| function.
82 class ASH_EXPORT RootWindowController : public ShellObserver { 85 class ASH_EXPORT RootWindowController : public ShellObserver,
86 public AccessibilityObserver {
83 public: 87 public:
84 88
85 // Creates and Initialize the RootWindowController for primary display. 89 // Creates and Initialize the RootWindowController for primary display.
86 static void CreateForPrimaryDisplay(aura::WindowTreeHost* host); 90 static void CreateForPrimaryDisplay(aura::WindowTreeHost* host);
87 91
88 // Creates and Initialize the RootWindowController for secondary displays. 92 // Creates and Initialize the RootWindowController for secondary displays.
89 static void CreateForSecondaryDisplay(aura::WindowTreeHost* host); 93 static void CreateForSecondaryDisplay(aura::WindowTreeHost* host);
90 94
91 // Creates and Initialize the RootWindowController for virtual 95 // Creates and Initialize the RootWindowController for virtual
92 // keyboard displays. 96 // keyboard displays.
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 // Enables projection touch HUD. 267 // Enables projection touch HUD.
264 void EnableTouchHudProjection(); 268 void EnableTouchHudProjection();
265 269
266 // Disables projection touch HUD. 270 // Disables projection touch HUD.
267 void DisableTouchHudProjection(); 271 void DisableTouchHudProjection();
268 272
269 // Overridden from ShellObserver. 273 // Overridden from ShellObserver.
270 virtual void OnLoginStateChanged(user::LoginStatus status) OVERRIDE; 274 virtual void OnLoginStateChanged(user::LoginStatus status) OVERRIDE;
271 virtual void OnTouchHudProjectionToggled(bool enabled) OVERRIDE; 275 virtual void OnTouchHudProjectionToggled(bool enabled) OVERRIDE;
272 276
277 void UpdateTouchExplorationState();
278
279 // Overridden from AccessibilityObserver.
280 virtual void OnAccessibilityModeChanged(
281 AccessibilityNotificationVisibility notify) OVERRIDE;
282
273 scoped_ptr<aura::WindowTreeHost> host_; 283 scoped_ptr<aura::WindowTreeHost> host_;
274 RootWindowLayoutManager* root_window_layout_; 284 RootWindowLayoutManager* root_window_layout_;
275 285
276 scoped_ptr<StackingController> stacking_controller_; 286 scoped_ptr<StackingController> stacking_controller_;
277 287
278 // The shelf for managing the shelf and the status widget. 288 // The shelf for managing the shelf and the status widget.
279 scoped_ptr<ShelfWidget> shelf_; 289 scoped_ptr<ShelfWidget> shelf_;
280 290
281 // An invisible/empty window used as a event target for 291 // An invisible/empty window used as a event target for
282 // |MouseCursorEventFilter| before a user logs in. 292 // |MouseCursorEventFilter| before a user logs in.
(...skipping 22 matching lines...) Expand all
305 TouchHudDebug* touch_hud_debug_; 315 TouchHudDebug* touch_hud_debug_;
306 TouchHudProjection* touch_hud_projection_; 316 TouchHudProjection* touch_hud_projection_;
307 317
308 // Handles double clicks on the panel window header. 318 // Handles double clicks on the panel window header.
309 scoped_ptr<ui::EventHandler> panel_container_handler_; 319 scoped_ptr<ui::EventHandler> panel_container_handler_;
310 320
311 scoped_ptr<DesktopBackgroundWidgetController> wallpaper_controller_; 321 scoped_ptr<DesktopBackgroundWidgetController> wallpaper_controller_;
312 scoped_ptr<AnimatingDesktopController> animating_wallpaper_controller_; 322 scoped_ptr<AnimatingDesktopController> animating_wallpaper_controller_;
313 scoped_ptr< ::wm::ScopedCaptureClient> capture_client_; 323 scoped_ptr< ::wm::ScopedCaptureClient> capture_client_;
314 324
325 scoped_ptr<TouchExplorationController> touch_exploration_controller_;
326
315 DISALLOW_COPY_AND_ASSIGN(RootWindowController); 327 DISALLOW_COPY_AND_ASSIGN(RootWindowController);
316 }; 328 };
317 329
318 330
319 // Gets the RootWindowController for |root_window|. 331 // Gets the RootWindowController for |root_window|.
320 ASH_EXPORT RootWindowController* GetRootWindowController( 332 ASH_EXPORT RootWindowController* GetRootWindowController(
321 const aura::Window* root_window); 333 const aura::Window* root_window);
322 334
323 } // namespace internal 335 } // namespace internal
324 } // ash 336 } // ash
325 337
326 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_ 338 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698