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

Side by Side Diff: ash/wm/system_modal_container_layout_manager.cc

Issue 357063002: Snap widgets to pixel boundary on ash (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: adjust tests Created 6 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 | Annotate | Revision Log
« no previous file with comments | « ash/wm/system_modal_container_layout_manager.h ('k') | ash/wm/window_properties.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/wm/system_modal_container_layout_manager.h" 5 #include "ash/wm/system_modal_container_layout_manager.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 8
9 #include "ash/session/session_state_delegate.h" 9 #include "ash/session/session_state_delegate.h"
10 #include "ash/shell.h" 10 #include "ash/shell.h"
(...skipping 28 matching lines...) Expand all
39 39
40 // The center point of the window can diverge this much from the center point 40 // The center point of the window can diverge this much from the center point
41 // of the container to be kept centered upon resizing operations. 41 // of the container to be kept centered upon resizing operations.
42 const int kCenterPixelDelta = 32; 42 const int kCenterPixelDelta = 32;
43 43
44 //////////////////////////////////////////////////////////////////////////////// 44 ////////////////////////////////////////////////////////////////////////////////
45 // SystemModalContainerLayoutManager, public: 45 // SystemModalContainerLayoutManager, public:
46 46
47 SystemModalContainerLayoutManager::SystemModalContainerLayoutManager( 47 SystemModalContainerLayoutManager::SystemModalContainerLayoutManager(
48 aura::Window* container) 48 aura::Window* container)
49 : container_(container), 49 : SnapToPixelLayoutManager(container),
50 container_(container),
50 modal_background_(NULL) { 51 modal_background_(NULL) {
51 } 52 }
52 53
53 SystemModalContainerLayoutManager::~SystemModalContainerLayoutManager() { 54 SystemModalContainerLayoutManager::~SystemModalContainerLayoutManager() {
54 } 55 }
55 56
56 //////////////////////////////////////////////////////////////////////////////// 57 ////////////////////////////////////////////////////////////////////////////////
57 // SystemModalContainerLayoutManager, aura::LayoutManager implementation: 58 // SystemModalContainerLayoutManager, aura::LayoutManager implementation:
58 59
59 void SystemModalContainerLayoutManager::OnWindowResized() { 60 void SystemModalContainerLayoutManager::OnWindowResized() {
(...skipping 19 matching lines...) Expand all
79 AddModalWindow(child); 80 AddModalWindow(child);
80 } 81 }
81 82
82 void SystemModalContainerLayoutManager::OnWillRemoveWindowFromLayout( 83 void SystemModalContainerLayoutManager::OnWillRemoveWindowFromLayout(
83 aura::Window* child) { 84 aura::Window* child) {
84 child->RemoveObserver(this); 85 child->RemoveObserver(this);
85 if (child->GetProperty(aura::client::kModalKey) != ui::MODAL_TYPE_NONE) 86 if (child->GetProperty(aura::client::kModalKey) != ui::MODAL_TYPE_NONE)
86 RemoveModalWindow(child); 87 RemoveModalWindow(child);
87 } 88 }
88 89
89 void SystemModalContainerLayoutManager::OnWindowRemovedFromLayout(
90 aura::Window* child) {
91 }
92
93 void SystemModalContainerLayoutManager::OnChildWindowVisibilityChanged(
94 aura::Window* child,
95 bool visible) {
96 }
97
98 void SystemModalContainerLayoutManager::SetChildBounds( 90 void SystemModalContainerLayoutManager::SetChildBounds(
99 aura::Window* child, 91 aura::Window* child,
100 const gfx::Rect& requested_bounds) { 92 const gfx::Rect& requested_bounds) {
101 SetChildBoundsDirect(child, requested_bounds); 93 SnapToPixelLayoutManager::SetChildBounds(child, requested_bounds);
102 child->SetProperty(kCenteredKey, DialogIsCentered(requested_bounds)); 94 child->SetProperty(kCenteredKey, DialogIsCentered(requested_bounds));
103 } 95 }
104 96
105 //////////////////////////////////////////////////////////////////////////////// 97 ////////////////////////////////////////////////////////////////////////////////
106 // SystemModalContainerLayoutManager, aura::WindowObserver implementation: 98 // SystemModalContainerLayoutManager, aura::WindowObserver implementation:
107 99
108 void SystemModalContainerLayoutManager::OnWindowPropertyChanged( 100 void SystemModalContainerLayoutManager::OnWindowPropertyChanged(
109 aura::Window* window, 101 aura::Window* window,
110 const void* key, 102 const void* key,
111 intptr_t old) { 103 intptr_t old) {
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 bool SystemModalContainerLayoutManager::DialogIsCentered( 287 bool SystemModalContainerLayoutManager::DialogIsCentered(
296 const gfx::Rect& window_bounds) { 288 const gfx::Rect& window_bounds) {
297 gfx::Point window_center = window_bounds.CenterPoint(); 289 gfx::Point window_center = window_bounds.CenterPoint();
298 gfx::Point container_center = GetUsableDialogArea().CenterPoint(); 290 gfx::Point container_center = GetUsableDialogArea().CenterPoint();
299 return 291 return
300 std::abs(window_center.x() - container_center.x()) < kCenterPixelDelta && 292 std::abs(window_center.x() - container_center.x()) < kCenterPixelDelta &&
301 std::abs(window_center.y() - container_center.y()) < kCenterPixelDelta; 293 std::abs(window_center.y() - container_center.y()) < kCenterPixelDelta;
302 } 294 }
303 295
304 } // namespace ash 296 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/system_modal_container_layout_manager.h ('k') | ash/wm/window_properties.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698