| 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_QUAD_F_H_ | 5 #ifndef UI_GFX_QUAD_F_H_ |
| 6 #define UI_GFX_QUAD_F_H_ | 6 #define UI_GFX_QUAD_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_f.h" | 11 #include "ui/gfx/point_f.h" |
| 12 #include "ui/gfx/rect_f.h" | 12 #include "ui/gfx/rect_f.h" |
| 13 | 13 |
| 14 namespace gfx { | 14 namespace gfx { |
| 15 | 15 |
| 16 // A Quad is defined by four corners, allowing it to have edges that are not | 16 // A Quad is defined by four corners, allowing it to have edges that are not |
| 17 // axis-aligned, unlike a Rect. | 17 // axis-aligned, unlike a Rect. |
| 18 class UI_EXPORT QuadF { | 18 class UI_EXPORT QuadF { |
| 19 public: | 19 public: |
| 20 QuadF(); | 20 QuadF() {} |
| 21 QuadF(const PointF& p1, const PointF& p2, const PointF& p3, const PointF& p4); | 21 QuadF(const PointF& p1, const PointF& p2, const PointF& p3, const PointF& p4) |
| 22 explicit QuadF(const RectF& rect); | 22 : p1_(p1), |
| 23 ~QuadF(); | 23 p2_(p2), |
| 24 p3_(p3), |
| 25 p4_(p4) {} |
| 26 |
| 27 explicit QuadF(const RectF& rect) |
| 28 : p1_(rect.x(), rect.y()), |
| 29 p2_(rect.right(), rect.y()), |
| 30 p3_(rect.right(), rect.bottom()), |
| 31 p4_(rect.x(), rect.bottom()) {} |
| 24 | 32 |
| 25 void operator=(const QuadF& quad); | 33 void operator=(const QuadF& quad); |
| 26 void operator=(const RectF& rect); | 34 void operator=(const RectF& rect); |
| 27 | 35 |
| 28 void set_p1(const PointF& p) { p1_ = p; } | 36 void set_p1(const PointF& p) { p1_ = p; } |
| 29 void set_p2(const PointF& p) { p2_ = p; } | 37 void set_p2(const PointF& p) { p2_ = p; } |
| 30 void set_p3(const PointF& p) { p3_ = p; } | 38 void set_p3(const PointF& p) { p3_ = p; } |
| 31 void set_p4(const PointF& p) { p4_ = p; } | 39 void set_p4(const PointF& p) { p4_ = p; } |
| 32 | 40 |
| 33 const PointF& p1() const { return p1_; } | 41 const PointF& p1() const { return p1_; } |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 | 93 |
| 86 // Add a vector to a quad, offseting each point in the quad by the vector. | 94 // Add a vector to a quad, offseting each point in the quad by the vector. |
| 87 UI_EXPORT QuadF operator+(const QuadF& lhs, const Vector2dF& rhs); | 95 UI_EXPORT QuadF operator+(const QuadF& lhs, const Vector2dF& rhs); |
| 88 // Subtract a vector from a quad, offseting each point in the quad by the | 96 // Subtract a vector from a quad, offseting each point in the quad by the |
| 89 // inverse of the vector. | 97 // inverse of the vector. |
| 90 UI_EXPORT QuadF operator-(const QuadF& lhs, const Vector2dF& rhs); | 98 UI_EXPORT QuadF operator-(const QuadF& lhs, const Vector2dF& rhs); |
| 91 | 99 |
| 92 } // namespace gfx | 100 } // namespace gfx |
| 93 | 101 |
| 94 #endif // UI_GFX_QUAD_F_H_ | 102 #endif // UI_GFX_QUAD_F_H_ |
| OLD | NEW |