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

Side by Side Diff: ui/gfx/rect.cc

Issue 6474016: Make gfx::Rect::CenterPoint() return the correct center point.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 9 years, 10 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 | « no previous file | no next file » | 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "ui/gfx/rect.h" 5 #include "ui/gfx/rect.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <windows.h> 8 #include <windows.h>
9 #elif defined(OS_MACOSX) 9 #elif defined(OS_MACOSX)
10 #include <CoreGraphics/CGGeometry.h> 10 #include <CoreGraphics/CGGeometry.h>
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 int new_x = x(); 224 int new_x = x();
225 int new_y = y(); 225 int new_y = y();
226 int new_width = width(); 226 int new_width = width();
227 int new_height = height(); 227 int new_height = height();
228 AdjustAlongAxis(rect.x(), rect.width(), &new_x, &new_width); 228 AdjustAlongAxis(rect.x(), rect.width(), &new_x, &new_width);
229 AdjustAlongAxis(rect.y(), rect.height(), &new_y, &new_height); 229 AdjustAlongAxis(rect.y(), rect.height(), &new_y, &new_height);
230 return Rect(new_x, new_y, new_width, new_height); 230 return Rect(new_x, new_y, new_width, new_height);
231 } 231 }
232 232
233 Point Rect::CenterPoint() const { 233 Point Rect::CenterPoint() const {
234 return Point(x() + (width() + 1) / 2, y() + (height() + 1) / 2); 234 return Point(x() + (width() - 1) / 2, y() + (height() - 1) / 2);
235 } 235 }
236 236
237 Rect Rect::Center(const gfx::Size& size) const { 237 Rect Rect::Center(const gfx::Size& size) const {
238 int new_width = std::min(width(), size.width()); 238 int new_width = std::min(width(), size.width());
239 int new_height = std::min(height(), size.height()); 239 int new_height = std::min(height(), size.height());
240 int new_x = x() + (width() - new_width) / 2; 240 int new_x = x() + (width() - new_width) / 2;
241 int new_y = y() + (height() - new_height) / 2; 241 int new_y = y() + (height() - new_height) / 2;
242 return Rect(new_x, new_y, new_width, new_height); 242 return Rect(new_x, new_y, new_width, new_height);
243 } 243 }
244 244
245 bool Rect::SharesEdgeWith(const gfx::Rect& rect) const { 245 bool Rect::SharesEdgeWith(const gfx::Rect& rect) const {
246 return (y() == rect.y() && height() == rect.height() && 246 return (y() == rect.y() && height() == rect.height() &&
247 (x() == rect.right() || right() == rect.x())) || 247 (x() == rect.right() || right() == rect.x())) ||
248 (x() == rect.x() && width() == rect.width() && 248 (x() == rect.x() && width() == rect.width() &&
249 (y() == rect.bottom() || bottom() == rect.y())); 249 (y() == rect.bottom() || bottom() == rect.y()));
250 } 250 }
251 251
252 std::ostream& operator<<(std::ostream& out, const gfx::Rect& r) { 252 std::ostream& operator<<(std::ostream& out, const gfx::Rect& r) {
253 return out << r.origin() << " " << r.size(); 253 return out << r.origin() << " " << r.size();
254 } 254 }
255 255
256 } // namespace gfx 256 } // namespace gfx
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698