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

Side by Side Diff: ui/gfx/point_f.h

Issue 11369144: ui: Make gfx::Point::Scale() mutate the class, similar to gfx::Rect. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixes for aura Created 8 years, 1 month 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
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 #ifndef UI_GFX_POINT_F_H_ 5 #ifndef UI_GFX_POINT_F_H_
6 #define UI_GFX_POINT_F_H_ 6 #define UI_GFX_POINT_F_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "ui/base/ui_export.h" 10 #include "ui/base/ui_export.h"
11 #include "ui/gfx/point_base.h" 11 #include "ui/gfx/point_base.h"
12 #include "ui/gfx/vector2d_f.h" 12 #include "ui/gfx/vector2d_f.h"
13 13
14 namespace gfx { 14 namespace gfx {
15 15
16 // A floating version of gfx::Point. 16 // A floating version of gfx::Point.
17 class UI_EXPORT PointF : public PointBase<PointF, float, Vector2dF> { 17 class UI_EXPORT PointF : public PointBase<PointF, float, Vector2dF> {
18 public: 18 public:
19 PointF(); 19 PointF();
20 PointF(float x, float y); 20 PointF(float x, float y);
21 ~PointF(); 21 ~PointF();
22 22
23 PointF Scale(float scale) const WARN_UNUSED_RESULT { 23 void Scale(float scale) {
24 return Scale(scale, scale); 24 Scale(scale, scale);
25 } 25 }
26 26
27 PointF Scale(float x_scale, float y_scale) const WARN_UNUSED_RESULT { 27 void Scale(float x_scale, float y_scale) {
28 return PointF(x() * x_scale, y() * y_scale); 28 SetPoint(x() * x_scale, y() * y_scale);
29 } 29 }
30 30
31 // Returns a string representation of point. 31 // Returns a string representation of point.
32 std::string ToString() const; 32 std::string ToString() const;
33 }; 33 };
34 34
35 inline bool operator==(const PointF& lhs, const PointF& rhs) { 35 inline bool operator==(const PointF& lhs, const PointF& rhs) {
36 return lhs.x() == rhs.x() && lhs.y() == rhs.y(); 36 return lhs.x() == rhs.x() && lhs.y() == rhs.y();
37 } 37 }
38 38
(...skipping 10 matching lines...) Expand all
49 } 49 }
50 50
51 inline Vector2dF operator-(const PointF& lhs, const PointF& rhs) { 51 inline Vector2dF operator-(const PointF& lhs, const PointF& rhs) {
52 return lhs.OffsetFrom(rhs); 52 return lhs.OffsetFrom(rhs);
53 } 53 }
54 54
55 inline PointF PointAtOffsetFromOrigin(const Vector2dF& offset_from_origin) { 55 inline PointF PointAtOffsetFromOrigin(const Vector2dF& offset_from_origin) {
56 return PointF(offset_from_origin.x(), offset_from_origin.y()); 56 return PointF(offset_from_origin.x(), offset_from_origin.y());
57 } 57 }
58 58
59 UI_EXPORT PointF ScalePoint(const PointF& p, float x_scale, float y_scale);
60
61 inline PointF ScalePoint(const PointF& p, float scale) {
62 return ScalePoint(p, scale, scale);
63 }
64
59 #if !defined(COMPILER_MSVC) 65 #if !defined(COMPILER_MSVC)
60 extern template class PointBase<PointF, float, Vector2dF>; 66 extern template class PointBase<PointF, float, Vector2dF>;
61 #endif 67 #endif
62 68
63 } // namespace gfx 69 } // namespace gfx
64 70
65 #endif // UI_GFX_POINT_F_H_ 71 #endif // UI_GFX_POINT_F_H_
OLDNEW
« cc/layer_impl.cc ('K') | « ui/gfx/point.h ('k') | ui/gfx/point_f.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698