OLD | NEW |
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 Loading... |
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_ |
OLD | NEW |