Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / athena / home / public / home_card.h
index 6438d4f..5f3c1b2 100644 (file)
@@ -11,11 +11,31 @@ namespace app_list {
 class SearchProvider;
 }
 
+namespace gfx {
+class Rect;
+}
+
 namespace athena {
 class AppModelBuilder;
 
 class ATHENA_EXPORT HomeCard {
  public:
+  enum State {
+    // HomeCard is not visible.
+    HIDDEN,
+
+    // HomeCard is visible in the center of the screen as a normal mode.
+    VISIBLE_CENTERED,
+
+    // HomeCard is visible smaller at the bottom of the screen as a supplemental
+    // widget.
+    VISIBLE_BOTTOM,
+
+    // HomeCard is minimized (i.e. a small UI element is displayed on screen
+    // that the user can interact with to bring up the BOTTOM or CENTERED view).
+    VISIBLE_MINIMIZED,
+  };
+
   // Creates/deletes/gets the singleton object of the HomeCard
   // implementation. Takes the ownership of |model_builder|.
   static HomeCard* Create(AppModelBuilder* model_builder);
@@ -24,10 +44,19 @@ class ATHENA_EXPORT HomeCard {
 
   virtual ~HomeCard() {}
 
+  // Updates/gets the current state of the home card.
+  virtual void SetState(State state) = 0;
+  virtual State GetState() = 0;
+
   // Registers a search_provider to the HomeCard. Receiver will take
   // the ownership of the specified provider.
   virtual void RegisterSearchProvider(
       app_list::SearchProvider* search_provider) = 0;
+
+  // Called when the virtual keyboard changed has changed to |bounds|. An empty
+  // |bounds| indicates that the virtual keyboard is not visible anymore.
+  virtual void UpdateVirtualKeyboardBounds(
+      const gfx::Rect& bounds) = 0;
 };
 
 }  // namespace athena