Chromium Code Reviews| 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_TRANSFORM_H_ | 5 #ifndef UI_GFX_TRANSFORM_H_ |
| 6 #define UI_GFX_TRANSFORM_H_ | 6 #define UI_GFX_TRANSFORM_H_ |
| 7 | 7 |
| 8 #include "third_party/skia/include/utils/SkMatrix44.h" | 8 #include "third_party/skia/include/utils/SkMatrix44.h" |
| 9 #include "ui/base/ui_export.h" | 9 #include "ui/base/ui_export.h" |
| 10 | 10 |
| 11 namespace gfx { | 11 namespace gfx { |
| 12 | 12 |
| 13 class Rect; | 13 class Rect; |
| 14 class RectF; | |
| 14 class Point; | 15 class Point; |
| 15 class Point3F; | 16 class Point3F; |
| 16 | 17 |
| 17 // 4x4 transformation matrix. Transform is cheap and explicitly allows | 18 // 4x4 transformation matrix. Transform is cheap and explicitly allows |
| 18 // copy/assign. | 19 // copy/assign. |
| 19 class UI_EXPORT Transform { | 20 class UI_EXPORT Transform { |
| 20 public: | 21 public: |
| 21 Transform(); | 22 Transform(); |
| 22 ~Transform(); | 23 ~Transform(); |
| 23 | 24 |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 95 // transformation can be inverted. | 96 // transformation can be inverted. |
| 96 bool TransformPointReverse(Point3F& point) const; | 97 bool TransformPointReverse(Point3F& point) const; |
| 97 | 98 |
| 98 // Applies the reverse transformation on the point. Returns true if the | 99 // Applies the reverse transformation on the point. Returns true if the |
| 99 // transformation can be inverted. Rounds the result to the nearest point. | 100 // transformation can be inverted. Rounds the result to the nearest point. |
| 100 bool TransformPointReverse(Point& point) const; | 101 bool TransformPointReverse(Point& point) const; |
| 101 | 102 |
| 102 // Applies transformation on the rectangle. Returns true if the transformed | 103 // Applies transformation on the rectangle. Returns true if the transformed |
| 103 // rectangle was axis aligned. If it returns false, rect will be the | 104 // rectangle was axis aligned. If it returns false, rect will be the |
| 104 // smallest axis aligned bounding box containing the transformed rect. | 105 // smallest axis aligned bounding box containing the transformed rect. |
| 106 void TransformRect(RectF* rect) const; | |
|
danakj
2012/11/01 00:37:00
Why the transform changes in this CL? I think they
| |
| 107 | |
| 108 // Same as above, but expands to enclosing int rect. | |
|
danakj
2012/11/01 00:37:00
Not sure if implicit enclosing is great either. I
| |
| 105 void TransformRect(Rect* rect) const; | 109 void TransformRect(Rect* rect) const; |
| 106 | 110 |
| 107 // Applies the reverse transformation on the rectangle. Returns true if | 111 // Applies the reverse transformation on the rectangle. Returns true if |
| 108 // the transformed rectangle was axis aligned. If it returns false, | 112 // the transformed rectangle was axis aligned. If it returns false, |
| 109 // rect will be the smallest axis aligned bounding box containing the | 113 // rect will be the smallest axis aligned bounding box containing the |
| 110 // transformed rect. | 114 // transformed rect. |
| 111 bool TransformRectReverse(Rect* rect) const; | 115 bool TransformRectReverse(RectF* rect) const; |
| 116 | |
| 117 // Same as above, but expands to enclosing int rect. | |
| 118 void TransformRectReverse(Rect* rect) const; | |
| 112 | 119 |
| 113 // Returns the underlying matrix. | 120 // Returns the underlying matrix. |
| 114 const SkMatrix44& matrix() const { return matrix_; } | 121 const SkMatrix44& matrix() const { return matrix_; } |
| 115 SkMatrix44& matrix() { return matrix_; } | 122 SkMatrix44& matrix() { return matrix_; } |
| 116 | 123 |
| 117 private: | 124 private: |
| 118 void TransformPointInternal(const SkMatrix44& xform, | 125 void TransformPointInternal(const SkMatrix44& xform, |
| 119 Point& point) const; | 126 Point& point) const; |
| 120 | 127 |
| 121 void TransformPointInternal(const SkMatrix44& xform, | 128 void TransformPointInternal(const SkMatrix44& xform, |
| 122 Point3F& point) const; | 129 Point3F& point) const; |
| 123 | 130 |
| 124 SkMatrix44 matrix_; | 131 SkMatrix44 matrix_; |
| 125 | 132 |
| 126 // copy/assign are allowed. | 133 // copy/assign are allowed. |
| 127 }; | 134 }; |
| 128 | 135 |
| 129 } // namespace gfx | 136 } // namespace gfx |
| 130 | 137 |
| 131 #endif // UI_GFX_TRANSFORM_H_ | 138 #endif // UI_GFX_TRANSFORM_H_ |
| OLD | NEW |