Index: ui/app_list/views/app_list_view.h |
diff --git a/ui/app_list/views/app_list_view.h b/ui/app_list/views/app_list_view.h |
index 61c16598ec6a3b4e6a4eb836999f6ca40b034188..5eb79c188d5808002453da207a17c86e431b5c7f 100644 |
--- a/ui/app_list/views/app_list_view.h |
+++ b/ui/app_list/views/app_list_view.h |
@@ -17,6 +17,10 @@ namespace base { |
class FilePath; |
} |
+namespace gfx { |
+class Screen; |
+} |
+ |
namespace app_list { |
class ApplicationDragAndDropHost; |
class AppListMainView; |
@@ -57,6 +61,15 @@ class APP_LIST_EXPORT AppListView : public views::BubbleDelegateView, |
views::BubbleBorder::Arrow arrow, |
bool border_accepts_events); |
+ // Initializes the widget and use the center of the primary display for |
+ // positioning. |
+ void InitAsBubbleCenteredOnPrimaryDisplay( |
+ gfx::NativeView parent, |
+ PaginationModel* pagination_model, |
+ gfx::Screen* screen_to_keep_centered_on, |
+ views::BubbleBorder::Arrow arrow, |
+ bool border_accepts_events); |
+ |
void SetBubbleArrow(views::BubbleBorder::Arrow arrow); |
void SetAnchorPoint(const gfx::Point& anchor_point); |
@@ -110,6 +123,10 @@ class APP_LIST_EXPORT AppListView : public views::BubbleDelegateView, |
bool border_accepts_events, |
const gfx::Vector2d& anchor_offset); |
+ // Gets the point at the center of the current screen. |
+ // |screen_to_keep_centered_on_| must not be NULL. |
+ gfx::Point GetCenterPoint(); |
+ |
// Overridden from views::BubbleDelegateView: |
virtual void OnBeforeBubbleWidgetInit( |
views::Widget::InitParams* params, |
@@ -148,6 +165,10 @@ class APP_LIST_EXPORT AppListView : public views::BubbleDelegateView, |
ObserverList<AppListViewObserver> observers_; |
scoped_ptr<HideViewAnimationObserver> animation_observer_; |
+ // If non-NULL, the app list will remain centered on this screen's primary |
+ // display. |
+ gfx::Screen* screen_to_keep_centered_on_; |
+ |
DISALLOW_COPY_AND_ASSIGN(AppListView); |
}; |