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

Unified Diff: chrome/browser/ui/app_list/app_list_positioner.cc

Issue 2582743002: Remove obsolete app_list Linux code. (Closed)
Patch Set: tapted comments. Created 4 years 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/app_list/app_list_positioner.cc
diff --git a/chrome/browser/ui/app_list/app_list_positioner.cc b/chrome/browser/ui/app_list/app_list_positioner.cc
deleted file mode 100644
index 6ba2488bc3660f6ebd81fb6aa3c2c09c3c8f66a5..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/app_list/app_list_positioner.cc
+++ /dev/null
@@ -1,204 +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.
-
-#include "chrome/browser/ui/app_list/app_list_positioner.h"
-
-#include <algorithm>
-
-#include "base/logging.h"
-#include "ui/gfx/geometry/point.h"
-#include "ui/gfx/geometry/rect.h"
-
-AppListPositioner::AppListPositioner(const display::Display& display,
- const gfx::Size& window_size,
- int min_distance_from_edge)
- : display_(display),
- window_size_(window_size),
- min_distance_from_edge_(min_distance_from_edge) {}
-
-void AppListPositioner::WorkAreaSubtract(const gfx::Rect& rect) {
- gfx::Rect work_area = display_.work_area();
- work_area.Subtract(rect);
- display_.set_work_area(work_area);
-}
-
-void AppListPositioner::WorkAreaInset(int left,
- int top,
- int right,
- int bottom) {
- gfx::Rect work_area = display_.work_area();
- work_area.Inset(left, top, right, bottom);
- display_.set_work_area(work_area);
-}
-
-gfx::Point AppListPositioner::GetAnchorPointForScreenCenter() const {
- return display_.bounds().CenterPoint();
-}
-
-gfx::Point AppListPositioner::GetAnchorPointForScreenCorner(
- ScreenCorner corner) const {
- const gfx::Rect& screen_rect = display_.bounds();
- gfx::Point anchor;
- switch (corner) {
- case SCREEN_CORNER_TOP_LEFT:
- anchor = screen_rect.origin();
- break;
- case SCREEN_CORNER_TOP_RIGHT:
- anchor = screen_rect.top_right();
- break;
- case SCREEN_CORNER_BOTTOM_LEFT:
- anchor = screen_rect.bottom_left();
- break;
- case SCREEN_CORNER_BOTTOM_RIGHT:
- anchor = screen_rect.bottom_right();
- break;
- default:
- NOTREACHED();
- anchor = gfx::Point();
- }
- return ClampAnchorPoint(anchor);
-}
-
-gfx::Point AppListPositioner::GetAnchorPointForShelfCorner(
- ScreenEdge shelf_edge) const {
- const gfx::Rect& screen_rect = display_.bounds();
- const gfx::Rect& work_area = display_.work_area();
- gfx::Point anchor;
- switch (shelf_edge) {
- case SCREEN_EDGE_LEFT:
- anchor = gfx::Point(work_area.x(), screen_rect.y());
- break;
- case SCREEN_EDGE_RIGHT:
- anchor = gfx::Point(work_area.right(), screen_rect.y());
- break;
- case SCREEN_EDGE_TOP:
- anchor = gfx::Point(screen_rect.x(), work_area.y());
- break;
- case SCREEN_EDGE_BOTTOM:
- anchor = gfx::Point(screen_rect.x(), work_area.bottom());
- break;
- default:
- NOTREACHED();
- anchor = gfx::Point();
- }
- return ClampAnchorPoint(anchor);
-}
-
-gfx::Point AppListPositioner::GetAnchorPointForShelfCenter(
- ScreenEdge shelf_edge) const {
- const gfx::Rect& work_area = display_.work_area();
- gfx::Point anchor;
- switch (shelf_edge) {
- case SCREEN_EDGE_LEFT:
- anchor =
- gfx::Point(work_area.x(), work_area.y() + work_area.height() / 2);
- break;
- case SCREEN_EDGE_RIGHT:
- anchor =
- gfx::Point(work_area.right(), work_area.y() + work_area.height() / 2);
- break;
- case SCREEN_EDGE_TOP:
- anchor = gfx::Point(work_area.x() + work_area.width() / 2, work_area.y());
- break;
- case SCREEN_EDGE_BOTTOM:
- anchor =
- gfx::Point(work_area.x() + work_area.width() / 2, work_area.bottom());
- break;
- default:
- NOTREACHED();
- anchor = gfx::Point();
- }
- return ClampAnchorPoint(anchor);
-}
-
-gfx::Point AppListPositioner::GetAnchorPointForShelfCursor(
- ScreenEdge shelf_edge,
- const gfx::Point& cursor) const {
- const gfx::Rect& work_area = display_.work_area();
- gfx::Point anchor;
- switch (shelf_edge) {
- case SCREEN_EDGE_LEFT:
- anchor = gfx::Point(work_area.x(), cursor.y());
- break;
- case SCREEN_EDGE_RIGHT:
- anchor = gfx::Point(work_area.right(), cursor.y());
- break;
- case SCREEN_EDGE_TOP:
- anchor = gfx::Point(cursor.x(), work_area.y());
- break;
- case SCREEN_EDGE_BOTTOM:
- anchor = gfx::Point(cursor.x(), work_area.bottom());
- break;
- default:
- NOTREACHED();
- anchor = gfx::Point();
- }
- return ClampAnchorPoint(anchor);
-}
-
-AppListPositioner::ScreenEdge AppListPositioner::GetShelfEdge(
- const gfx::Rect& shelf_rect) const {
- const gfx::Rect& screen_rect = display_.bounds();
- const gfx::Rect& work_area = display_.work_area();
-
- // If we can't find the shelf, return SCREEN_EDGE_UNKNOWN. If the display
- // size is the same as the work area, and does not contain the shelf, either
- // the shelf is hidden or on another monitor.
- if (work_area == screen_rect && !work_area.Contains(shelf_rect))
- return SCREEN_EDGE_UNKNOWN;
-
- // Note: On Windows 8 the work area won't include split windows on the left or
- // right, and neither will |shelf_rect|.
- if (shelf_rect.x() == work_area.x() &&
- shelf_rect.width() == work_area.width()) {
- // Shelf is horizontal.
- if (shelf_rect.bottom() == screen_rect.bottom())
- return SCREEN_EDGE_BOTTOM;
- else if (shelf_rect.y() == screen_rect.y())
- return SCREEN_EDGE_TOP;
- } else if (shelf_rect.y() == work_area.y() &&
- shelf_rect.height() == work_area.height()) {
- // Shelf is vertical.
- if (shelf_rect.x() == screen_rect.x())
- return SCREEN_EDGE_LEFT;
- else if (shelf_rect.right() == screen_rect.right())
- return SCREEN_EDGE_RIGHT;
- }
-
- return SCREEN_EDGE_UNKNOWN;
-}
-
-int AppListPositioner::GetCursorDistanceFromShelf(
- ScreenEdge shelf_edge,
- const gfx::Point& cursor) const {
- const gfx::Rect& work_area = display_.work_area();
- switch (shelf_edge) {
- case SCREEN_EDGE_UNKNOWN:
- return 0;
- case SCREEN_EDGE_LEFT:
- return std::max(0, cursor.x() - work_area.x());
- case SCREEN_EDGE_RIGHT:
- return std::max(0, work_area.right() - cursor.x());
- case SCREEN_EDGE_TOP:
- return std::max(0, cursor.y() - work_area.y());
- case SCREEN_EDGE_BOTTOM:
- return std::max(0, work_area.bottom() - cursor.y());
- default:
- NOTREACHED();
- return 0;
- }
-}
-
-gfx::Point AppListPositioner::ClampAnchorPoint(gfx::Point anchor) const {
- gfx::Rect bounds_rect(display_.work_area());
-
- // Anchor the center of the window in a region that prevents the window
- // showing outside of the work area.
- bounds_rect.Inset(window_size_.width() / 2 + min_distance_from_edge_,
- window_size_.height() / 2 + min_distance_from_edge_);
-
- anchor.SetToMax(bounds_rect.origin());
- anchor.SetToMin(bounds_rect.bottom_right());
- return anchor;
-}

Powered by Google App Engine
This is Rietveld 408576698