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

Side by Side Diff: athena/screen/public/screen_manager.h

Issue 465803002: Make the minimized home card not overlap activities on Athena (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed sadrul@'s comments + rebased Created 6 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « athena/main/athena_main.cc ('k') | athena/screen/public/screen_manager_delegate.h » ('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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 ATHENA_SCREEN_PUBLIC_SCREEN_MANAGER_H_ 5 #ifndef ATHENA_SCREEN_PUBLIC_SCREEN_MANAGER_H_
6 #define ATHENA_SCREEN_PUBLIC_SCREEN_MANAGER_H_ 6 #define ATHENA_SCREEN_PUBLIC_SCREEN_MANAGER_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "athena/athena_export.h" 10 #include "athena/athena_export.h"
11 #include "ui/gfx/display.h" 11 #include "ui/gfx/display.h"
12 12
13 namespace aura { 13 namespace aura {
14 class Window; 14 class Window;
15 } 15 }
16 16
17 namespace gfx { 17 namespace gfx {
18 class ImageSkia; 18 class ImageSkia;
19 class Insets;
19 } 20 }
20 21
21 namespace ui { 22 namespace ui {
22 class LayerAnimator; 23 class LayerAnimator;
23 } 24 }
24 25
25 namespace wm { 26 namespace wm {
26 class FocusRules; 27 class FocusRules;
27 } 28 }
28 29
29 namespace athena { 30 namespace athena {
31 class ScreenManagerDelegate;
30 32
31 // Mananges basic UI components on the screen such as background, and provide 33 // Mananges basic UI components on the screen such as background, and provide
32 // API for other UI components, such as window manager, home card, to 34 // API for other UI components, such as window manager, home card, to
33 // create and manage their windows on the screen. 35 // create and manage their windows on the screen.
34 class ATHENA_EXPORT ScreenManager { 36 class ATHENA_EXPORT ScreenManager {
35 public: 37 public:
36 struct ContainerParams { 38 struct ContainerParams {
37 ContainerParams(const std::string& name, int z_order_priority); 39 ContainerParams(const std::string& name, int z_order_priority);
38 std::string name; 40 std::string name;
39 41
40 // True if the container can activate its child window. 42 // True if the container can activate its child window.
41 bool can_activate_children; 43 bool can_activate_children;
42 44
43 // True if the container will grab all of input events. 45 // True if the container will grab all of input events.
44 bool grab_inputs; 46 bool grab_inputs;
45 47
46 // Defines the z_order priority of the container. 48 // Defines the z_order priority of the container.
47 int z_order_priority; 49 int z_order_priority;
48 }; 50 };
49 51
50 // Creates, returns and deletes the singleton object of the ScreenManager 52 // Creates, returns and deletes the singleton object of the ScreenManager
51 // implementation. 53 // implementation.
52 static ScreenManager* Create(aura::Window* root); 54 static ScreenManager* Create(ScreenManagerDelegate* delegate,
55 aura::Window* root);
53 static ScreenManager* Get(); 56 static ScreenManager* Get();
54 static void Shutdown(); 57 static void Shutdown();
55 58
56 virtual ~ScreenManager() {} 59 virtual ~ScreenManager() {}
57 60
61 // Sets the screen's work area insets.
62 virtual void SetWorkAreaInsets(const gfx::Insets& insets) = 0;
63
58 // Creates the container window that is used when creating a normal 64 // Creates the container window that is used when creating a normal
59 // widget without specific parent. 65 // widget without specific parent.
60 virtual aura::Window* CreateDefaultContainer( 66 virtual aura::Window* CreateDefaultContainer(
61 const ContainerParams& params) = 0; 67 const ContainerParams& params) = 0;
62 68
63 // Creates the container window on the screen. 69 // Creates the container window on the screen.
64 virtual aura::Window* CreateContainer(const ContainerParams& params) = 0; 70 virtual aura::Window* CreateContainer(const ContainerParams& params) = 0;
65 71
66 // Return the context object to be used for widget creation. 72 // Return the context object to be used for widget creation.
67 virtual aura::Window* GetContext() = 0; 73 virtual aura::Window* GetContext() = 0;
(...skipping 11 matching lines...) Expand all
79 virtual ui::LayerAnimator* GetScreenAnimator() = 0; 85 virtual ui::LayerAnimator* GetScreenAnimator() = 0;
80 86
81 // Create a focus rules. 87 // Create a focus rules.
82 // TODO(oshima): Make this virtual function. 88 // TODO(oshima): Make this virtual function.
83 static wm::FocusRules* CreateFocusRules(); 89 static wm::FocusRules* CreateFocusRules();
84 }; 90 };
85 91
86 } // namespace athena 92 } // namespace athena
87 93
88 #endif // ATHENA_SCREEN_PUBLIC_SCREEN_MANAGER_H_ 94 #endif // ATHENA_SCREEN_PUBLIC_SCREEN_MANAGER_H_
OLDNEW
« no previous file with comments | « athena/main/athena_main.cc ('k') | athena/screen/public/screen_manager_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698