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

Side by Side Diff: ash/common/wm/overview/window_grid.cc

Issue 2110643002: ash: Change auto to not deduce raw pointers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ash/common/wm/overview/window_grid.h" 5 #include "ash/common/wm/overview/window_grid.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <functional> 8 #include <functional>
9 #include <set> 9 #include <set>
10 #include <utility> 10 #include <utility>
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 } // namespace 404 } // namespace
405 405
406 WindowGrid::WindowGrid(WmWindow* root_window, 406 WindowGrid::WindowGrid(WmWindow* root_window,
407 const std::vector<WmWindow*>& windows, 407 const std::vector<WmWindow*>& windows,
408 WindowSelector* window_selector) 408 WindowSelector* window_selector)
409 : root_window_(root_window), 409 : root_window_(root_window),
410 window_selector_(window_selector), 410 window_selector_(window_selector),
411 selected_index_(0), 411 selected_index_(0),
412 num_columns_(0) { 412 num_columns_(0) {
413 std::vector<WmWindow*> windows_in_root; 413 std::vector<WmWindow*> windows_in_root;
414 for (auto window : windows) { 414 for (auto* window : windows) {
415 if (window->GetRootWindow() == root_window) 415 if (window->GetRootWindow() == root_window)
416 windows_in_root.push_back(window); 416 windows_in_root.push_back(window);
417 } 417 }
418 418
419 if (!ash::MaterialDesignController::IsOverviewMaterial() && 419 if (!ash::MaterialDesignController::IsOverviewMaterial() &&
420 base::CommandLine::ForCurrentProcess()->HasSwitch( 420 base::CommandLine::ForCurrentProcess()->HasSwitch(
421 switches::kAshEnableStableOverviewOrder)) { 421 switches::kAshEnableStableOverviewOrder)) {
422 // Reorder windows to try to minimize movement to target overview positions. 422 // Reorder windows to try to minimize movement to target overview positions.
423 // This also creates a stable window ordering. 423 // This also creates a stable window ordering.
424 ReorderItemsGreedyLeastMovement(&windows_in_root, root_window_, 424 ReorderItemsGreedyLeastMovement(&windows_in_root, root_window_,
425 window_selector_->text_filter_bottom()); 425 window_selector_->text_filter_bottom());
426 } 426 }
427 for (auto window : windows_in_root) { 427 for (auto* window : windows_in_root) {
428 window->AddObserver(this); 428 window->AddObserver(this);
429 observed_windows_.insert(window); 429 observed_windows_.insert(window);
430 window_list_.push_back(new WindowSelectorItem(window, window_selector_)); 430 window_list_.push_back(new WindowSelectorItem(window, window_selector_));
431 } 431 }
432 } 432 }
433 433
434 WindowGrid::~WindowGrid() { 434 WindowGrid::~WindowGrid() {
435 for (WmWindow* window : observed_windows_) 435 for (WmWindow* window : observed_windows_)
436 window->RemoveObserver(this); 436 window->RemoveObserver(this);
437 } 437 }
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after
900 900
901 // Right bound of the narrowest row. 901 // Right bound of the narrowest row.
902 *min_right = bounds.right(); 902 *min_right = bounds.right();
903 // Right bound of the widest row. 903 // Right bound of the widest row.
904 *max_right = bounds.x(); 904 *max_right = bounds.x();
905 905
906 // With Material Design all elements are of same height and only the height is 906 // With Material Design all elements are of same height and only the height is
907 // necessary to determine each item's scale. 907 // necessary to determine each item's scale.
908 const gfx::Size item_size(0, height); 908 const gfx::Size item_size(0, height);
909 size_t i = 0; 909 size_t i = 0;
910 for (auto window : window_list_) { 910 for (auto* window : window_list_) {
911 const gfx::Rect target_bounds = window->GetWindow()->GetTargetBounds(); 911 const gfx::Rect target_bounds = window->GetWindow()->GetTargetBounds();
912 const int width = 912 const int width =
913 std::max(1, gfx::ToFlooredInt(target_bounds.width() * 913 std::max(1, gfx::ToFlooredInt(target_bounds.width() *
914 window->GetItemScale(item_size)) + 914 window->GetItemScale(item_size)) +
915 2 * kWindowMarginMD); 915 2 * kWindowMarginMD);
916 if (left + width > bounds.right()) { 916 if (left + width > bounds.right()) {
917 // Move to the next row if possible. 917 // Move to the next row if possible.
918 if (*min_right > left) 918 if (*min_right > left)
919 *min_right = left; 919 *min_right = left;
920 if (*max_right < left) 920 if (*max_right < left)
(...skipping 22 matching lines...) Expand all
943 *min_right = left; 943 *min_right = left;
944 if (*max_right < left) 944 if (*max_right < left)
945 *max_right = left; 945 *max_right = left;
946 } 946 }
947 *max_bottom = top + height; 947 *max_bottom = top + height;
948 } 948 }
949 return windows_fit; 949 return windows_fit;
950 } 950 }
951 951
952 } // namespace ash 952 } // namespace ash
OLDNEW
« no previous file with comments | « ash/common/wm/overview/scoped_transform_overview_window.cc ('k') | ash/common/wm/workspace/workspace_layout_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698