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

Unified Diff: cc/math_util.h

Issue 11264056: cc: Use gfx:: Geometry types for positions, bounds, and related things. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ScaleAsVector 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/layer_unittest.cc ('k') | cc/math_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/math_util.h
diff --git a/cc/math_util.h b/cc/math_util.h
index 199c85164282facaaf30ae62d42985ec81704bd3..942652f22bc69db48b02ddd564d9bb73e189db52 100644
--- a/cc/math_util.h
+++ b/cc/math_util.h
@@ -6,18 +6,22 @@
#define CCMathUtil_h
#include "base/logging.h"
-#include "FloatPoint.h"
+#include "ui/gfx/point_f.h"
#include "FloatPoint3D.h"
namespace WebKit {
class WebTransformationMatrix;
}
+namespace gfx {
+class Rect;
+class RectF;
+}
+
namespace cc {
-class IntRect;
-class FloatRect;
class FloatQuad;
+class FloatSize;
struct HomogeneousCoordinate {
HomogeneousCoordinate(double newX, double newY, double newZ, double newW)
@@ -33,15 +37,15 @@ struct HomogeneousCoordinate {
return w <= 0;
}
- FloatPoint cartesianPoint2d() const
+ gfx::PointF cartesianPoint2d() const
{
if (w == 1)
- return FloatPoint(x, y);
+ return gfx::PointF(x, y);
// For now, because this code is used privately only by MathUtil, it should never be called when w == 0, and we do not yet need to handle that case.
DCHECK(w);
double invW = 1.0 / w;
- return FloatPoint(x * invW, y * invW);
+ return gfx::PointF(x * invW, y * invW);
}
FloatPoint3D cartesianPoint3d() const
@@ -72,30 +76,30 @@ public:
//
// These functions return the axis-aligned rect that encloses the correctly clipped,
// transformed polygon.
- static IntRect mapClippedRect(const WebKit::WebTransformationMatrix&, const IntRect&);
- static FloatRect mapClippedRect(const WebKit::WebTransformationMatrix&, const FloatRect&);
- static FloatRect projectClippedRect(const WebKit::WebTransformationMatrix&, const FloatRect&);
+ static gfx::Rect mapClippedRect(const WebKit::WebTransformationMatrix&, const gfx::Rect&);
+ static gfx::RectF mapClippedRect(const WebKit::WebTransformationMatrix&, const gfx::RectF&);
+ static gfx::RectF projectClippedRect(const WebKit::WebTransformationMatrix&, const gfx::RectF&);
// Returns an array of vertices that represent the clipped polygon. After returning, indexes from
// 0 to numVerticesInClippedQuad are valid in the clippedQuad array. Note that
// numVerticesInClippedQuad may be zero, which means the entire quad was clipped, and
// none of the vertices in the array are valid.
- static void mapClippedQuad(const WebKit::WebTransformationMatrix&, const FloatQuad& srcQuad, FloatPoint clippedQuad[8], int& numVerticesInClippedQuad);
+ static void mapClippedQuad(const WebKit::WebTransformationMatrix&, const FloatQuad& srcQuad, gfx::PointF clippedQuad[8], int& numVerticesInClippedQuad);
- static FloatRect computeEnclosingRectOfVertices(FloatPoint vertices[], int numVertices);
- static FloatRect computeEnclosingClippedRect(const HomogeneousCoordinate& h1, const HomogeneousCoordinate& h2, const HomogeneousCoordinate& h3, const HomogeneousCoordinate& h4);
+ static gfx::RectF computeEnclosingRectOfVertices(gfx::PointF vertices[], int numVertices);
+ static gfx::RectF computeEnclosingClippedRect(const HomogeneousCoordinate& h1, const HomogeneousCoordinate& h2, const HomogeneousCoordinate& h3, const HomogeneousCoordinate& h4);
// NOTE: These functions do not do correct clipping against w = 0 plane, but they
// correctly detect the clipped condition via the boolean clipped.
static FloatQuad mapQuad(const WebKit::WebTransformationMatrix&, const FloatQuad&, bool& clipped);
- static FloatPoint mapPoint(const WebKit::WebTransformationMatrix&, const FloatPoint&, bool& clipped);
+ static gfx::PointF mapPoint(const WebKit::WebTransformationMatrix&, const gfx::PointF&, bool& clipped);
static FloatPoint3D mapPoint(const WebKit::WebTransformationMatrix&, const FloatPoint3D&, bool& clipped);
static FloatQuad projectQuad(const WebKit::WebTransformationMatrix&, const FloatQuad&, bool& clipped);
- static FloatPoint projectPoint(const WebKit::WebTransformationMatrix&, const FloatPoint&, bool& clipped);
+ static gfx::PointF projectPoint(const WebKit::WebTransformationMatrix&, const gfx::PointF&, bool& clipped);
static void flattenTransformTo2d(WebKit::WebTransformationMatrix&);
- static FloatPoint computeTransform2dScaleComponents(const WebKit::WebTransformationMatrix&);
+ static gfx::Vector2dF computeTransform2dScaleComponents(const WebKit::WebTransformationMatrix&);
// Returns the smallest angle between the given two vectors in degrees. Neither vector is
// assumed to be normalized.
« no previous file with comments | « cc/layer_unittest.cc ('k') | cc/math_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698