| Index: ui/gfx/transform.cc
|
| diff --git a/ui/gfx/transform.cc b/ui/gfx/transform.cc
|
| index d34c9076f1d5d19a9403725fe059d444f55b1205..fe69a87658560a218c4067f4c89a8db919e0c684 100644
|
| --- a/ui/gfx/transform.cc
|
| +++ b/ui/gfx/transform.cc
|
| @@ -6,6 +6,8 @@
|
|
|
| #include "ui/gfx/point3_f.h"
|
| #include "ui/gfx/rect.h"
|
| +#include "ui/gfx/rect_f.h"
|
| +#include "ui/gfx/rect_conversions.h"
|
| #include "ui/gfx/safe_integer_conversions.h"
|
| #include "ui/gfx/skia_util.h"
|
|
|
| @@ -151,24 +153,36 @@ bool Transform::TransformPointReverse(Point3F& point) const {
|
| return true;
|
| }
|
|
|
| -void Transform::TransformRect(Rect* rect) const {
|
| - SkRect src = RectToSkRect(*rect);
|
| +void Transform::TransformRect(RectF* rect) const {
|
| + SkRect src = RectFToSkRect(*rect);
|
| const SkMatrix& matrix = matrix_;
|
| matrix.mapRect(&src);
|
| - *rect = SkRectToRect(src);
|
| + *rect = SkRectToRectF(src);
|
| +}
|
| +
|
| +void Transform::TransformRect(Rect* rect) const {
|
| + RectF rect_f = *rect;
|
| + TransformRect(&rect_f);
|
| + *rect = gfx::ToEnclosingRect(rect_f);
|
| }
|
|
|
| -bool Transform::TransformRectReverse(Rect* rect) const {
|
| +bool Transform::TransformRectReverse(RectF* rect) const {
|
| SkMatrix44 inverse;
|
| if (!matrix_.invert(&inverse))
|
| return false;
|
| const SkMatrix& matrix = inverse;
|
| - SkRect src = RectToSkRect(*rect);
|
| + SkRect src = RectFToSkRect(*rect);
|
| matrix.mapRect(&src);
|
| - *rect = SkRectToRect(src);
|
| + *rect = SkRectToRectF(src);
|
| return true;
|
| }
|
|
|
| +void Transform::TransformRectReverse(Rect* rect) const {
|
| + RectF rect_f = *rect;
|
| + TransformRectReverse(&rect_f);
|
| + *rect = gfx::ToEnclosingRect(rect_f);
|
| +}
|
| +
|
| void Transform::TransformPointInternal(const SkMatrix44& xform,
|
| Point3F& point) const {
|
| SkScalar p[4] = {
|
|
|