Index: athena/screen/public/screen_manager.h |
diff --git a/athena/screen/public/screen_manager.h b/athena/screen/public/screen_manager.h |
index c2914fe88f9f6443a99643a7ee4d139d0757a03c..622f0479242de2859ee2f3d52f2a9979aa9c7d78 100644 |
--- a/athena/screen/public/screen_manager.h |
+++ b/athena/screen/public/screen_manager.h |
@@ -17,6 +17,10 @@ namespace gfx { |
class ImageSkia; |
} |
+namespace wm { |
+class FocusRules; |
+} |
+ |
namespace athena { |
// Mananges basic UI components on the screen such as background, and provide |
@@ -24,6 +28,14 @@ namespace athena { |
// create and manage their windows on the screen. |
class ATHENA_EXPORT ScreenManager { |
public: |
+ struct ContainerParams { |
+ ContainerParams(const std::string& name); |
+ std::string name; |
+ |
+ // True if the container can activate its child window. |
+ bool can_activate_children; |
+ }; |
+ |
// Creates, returns and deletes the singleton object of the ScreenManager |
// implementation. |
static ScreenManager* Create(aura::Window* root); |
@@ -34,16 +46,21 @@ class ATHENA_EXPORT ScreenManager { |
// Creates the container window that is used when creating a normal |
// widget without specific parent. |
- virtual aura::Window* CreateDefaultContainer(const std::string& name) = 0; |
+ virtual aura::Window* CreateDefaultContainer( |
+ const ContainerParams& params) = 0; |
// Creates the container window on the screen. |
- virtual aura::Window* CreateContainer(const std::string& name) = 0; |
+ virtual aura::Window* CreateContainer(const ContainerParams& params) = 0; |
// Return the context object to be used for widget creation. |
virtual aura::Window* GetContext() = 0; |
// Sets the background image. |
virtual void SetBackgroundImage(const gfx::ImageSkia& image) = 0; |
+ |
+ // Create a focus rules. |
+ // TODO(oshima): Make this virtual function. |
+ static wm::FocusRules* CreateFocusRules(); |
}; |
} // namespace athena |