Index: chrome/browser/ui/app_list/app_list_positioner.h |
diff --git a/chrome/browser/ui/app_list/app_list_positioner.h b/chrome/browser/ui/app_list/app_list_positioner.h |
deleted file mode 100644 |
index 52a0a08e2694eee62d9b0b205e98a5b0231908b5..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/app_list/app_list_positioner.h |
+++ /dev/null |
@@ -1,116 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROME_BROWSER_UI_APP_LIST_APP_LIST_POSITIONER_H_ |
-#define CHROME_BROWSER_UI_APP_LIST_APP_LIST_POSITIONER_H_ |
- |
-#include "ui/display/display.h" |
-#include "ui/gfx/geometry/size.h" |
- |
-namespace gfx { |
-class Point; |
-class Rect; |
-} |
- |
-// Helps anchor the App List, onto the shelf (taskbar, dock or similar) or to |
-// the corner of a display. This class does not impose any particular policy for |
-// when and how to anchor the window. The platform-specific code that uses this |
-// class is free to decide, for example, when the window should be anchored to |
-// the cursor versus the corner of the shelf. This class just performs the |
-// calculations necessary to position the App List correctly. |
-class AppListPositioner { |
- public: |
- // Represents one of the four edges of the screen. |
- enum ScreenEdge { |
- SCREEN_EDGE_UNKNOWN, |
- SCREEN_EDGE_LEFT, |
- SCREEN_EDGE_RIGHT, |
- SCREEN_EDGE_TOP, |
- SCREEN_EDGE_BOTTOM |
- }; |
- |
- // Represents one of the four corners of the screen. |
- enum ScreenCorner { |
- SCREEN_CORNER_TOP_LEFT, |
- SCREEN_CORNER_TOP_RIGHT, |
- SCREEN_CORNER_BOTTOM_LEFT, |
- SCREEN_CORNER_BOTTOM_RIGHT |
- }; |
- |
- // The |display| pointer is borrowed, and must outlive this object's lifetime. |
- // |window_size| is the size of the App List. |
- // |min_distance_from_edge| is the minimum distance, in pixels, to position |
- // the app list from the shelf or edge of screen. |
- AppListPositioner(const display::Display& display, |
- const gfx::Size& window_size, |
- int min_distance_from_edge); |
- |
- // Subtracts a rectangle from the display's work area. This can be used to |
- // ensure that the app list does not overlap the shelf, even in situations |
- // where the shelf is considered part of the work area. |
- void WorkAreaSubtract(const gfx::Rect& rect); |
- |
- // Shrinks the display's work area by the given amount on each side. |
- void WorkAreaInset(int left, int top, int right, int bottom); |
- |
- // Finds the position for a window to anchor it to a corner of the screen. |
- // |corner| specifies which corner to anchor the window to. Returns the |
- // intended coordinates for the center of the window. This should only be used |
- // when there is no shelf on the display, because if there is, the returned |
- // anchor point will potentially position the window under it. |
- gfx::Point GetAnchorPointForScreenCorner(ScreenCorner corner) const; |
- |
- // Finds the position for a window to anchor it to the center of the screen. |
- // Returns the intended coordinates for the center of the window. |
- gfx::Point GetAnchorPointForScreenCenter() const; |
- |
- // Finds the position for a window to anchor it to the corner of the shelf. |
- // The window will be aligned to the left of the work area for horizontal |
- // shelves, or to the top for vertical shelves. |shelf_edge| specifies the |
- // location of the shelf. |shelf_edge| must not be SCREEN_EDGE_UNKNOWN. |
- // Returns the intended coordinates for the center of the window. |
- gfx::Point GetAnchorPointForShelfCorner(ScreenEdge shelf_edge) const; |
- |
- // Finds the position for a window to anchor it to the center of the shelf. |
- // |shelf_edge| specifies the location of the shelf. It must not be |
- // SCREEN_EDGE_UNKNOWN. Returns the intended coordinates for the center of the |
- // window. |
- gfx::Point GetAnchorPointForShelfCenter(ScreenEdge shelf_edge) const; |
- |
- // Finds the position for a window to anchor it to the shelf at a point |
- // closest to the user's mouse cursor. |shelf_edge| specifies the location of |
- // the shelf; |cursor| specifies the location of the user's mouse cursor. |
- // |shelf_edge| must not be SCREEN_EDGE_UNKNOWN. Returns the intended |
- // coordinates for the center of the window. |
- gfx::Point GetAnchorPointForShelfCursor(ScreenEdge shelf_edge, |
- const gfx::Point& cursor) const; |
- |
- // Determines which edge of the screen the shelf is attached to. Returns |
- // SCREEN_EDGE_UNKNOWN if the shelf is unavailable, hidden, or not on the |
- // current screen. |
- ScreenEdge GetShelfEdge(const gfx::Rect& shelf_rect) const; |
- |
- // Gets the lateral distance of the mouse cursor from the edge of the shelf. |
- // For horizontal shelves, this is the vertical distance; for vertical |
- // shelves, this is the horizontal distance. If the cursor is inside the |
- // shelf, returns 0. |
- int GetCursorDistanceFromShelf(ScreenEdge shelf_edge, |
- const gfx::Point& cursor) const; |
- |
- private: |
- // Ensures that an anchor point will result in a window that is fully within |
- // the work area. Returns the updated anchor point. |
- gfx::Point ClampAnchorPoint(gfx::Point anchor) const; |
- |
- display::Display display_; |
- |
- // Size of the App List. |
- gfx::Size window_size_; |
- |
- // The minimum distance, in pixels, to position the app list from the shelf |
- // or edge of screen. |
- int min_distance_from_edge_; |
-}; |
- |
-#endif // CHROME_BROWSER_UI_APP_LIST_APP_LIST_POSITIONER_H_ |