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

Unified Diff: cc/direct_renderer.cc

Issue 11308153: Migrate most of cc/ from WebKit::WebTransformationMatrix to gfx::Transform (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Patch for landing 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/direct_renderer.h ('k') | cc/draw_quad.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/direct_renderer.cc
diff --git a/cc/direct_renderer.cc b/cc/direct_renderer.cc
index c24ca013ef56b752ebbb7bf2949804eb232f39a0..9f1311467990b3a97b84b6e6373ca1fe6dd96c3e 100644
--- a/cc/direct_renderer.cc
+++ b/cc/direct_renderer.cc
@@ -9,42 +9,40 @@
#include "base/debug/trace_event.h"
#include "cc/math_util.h"
#include "ui/gfx/rect_conversions.h"
-#include <public/WebTransformationMatrix.h>
+#include "ui/gfx/transform.h"
-using WebKit::WebTransformationMatrix;
-
-static WebTransformationMatrix orthoProjectionMatrix(float left, float right, float bottom, float top)
+static gfx::Transform orthoProjectionMatrix(float left, float right, float bottom, float top)
{
// Use the standard formula to map the clipping frustum to the cube from
// [-1, -1, -1] to [1, 1, 1].
float deltaX = right - left;
float deltaY = top - bottom;
- WebTransformationMatrix proj;
+ gfx::Transform proj;
if (!deltaX || !deltaY)
return proj;
- proj.setM11(2.0f / deltaX);
- proj.setM41(-(right + left) / deltaX);
- proj.setM22(2.0f / deltaY);
- proj.setM42(-(top + bottom) / deltaY);
+ proj.matrix().setDouble(0, 0, 2.0f / deltaX);
+ proj.matrix().setDouble(0, 3, -(right + left) / deltaX);
+ proj.matrix().setDouble(1, 1, 2.0f / deltaY);
+ proj.matrix().setDouble(1, 3, -(top + bottom) / deltaY);
// Z component of vertices is always set to zero as we don't use the depth buffer
// while drawing.
- proj.setM33(0);
+ proj.matrix().setDouble(2, 2, 0);
return proj;
}
-static WebTransformationMatrix windowMatrix(int x, int y, int width, int height)
+static gfx::Transform windowMatrix(int x, int y, int width, int height)
{
- WebTransformationMatrix canvas;
+ gfx::Transform canvas;
// Map to window position and scale up to pixel coordinates.
- canvas.translate3d(x, y, 0);
- canvas.scale3d(width, height, 0);
+ canvas.Translate3d(x, y, 0);
+ canvas.Scale3d(width, height, 0);
// Map from ([-1, -1] to [1, 1]) -> ([0, 0] to [1, 1])
- canvas.translate3d(0.5, 0.5, 0.5);
- canvas.scale3d(0.5, 0.5, 0.5);
+ canvas.Translate3d(0.5, 0.5, 0.5);
+ canvas.Scale3d(0.5, 0.5, 0.5);
return canvas;
}
@@ -71,11 +69,11 @@ gfx::RectF DirectRenderer::quadVertexRect()
}
// static
-void DirectRenderer::quadRectTransform(WebKit::WebTransformationMatrix* quadRectTransform, const WebKit::WebTransformationMatrix& quadTransform, const gfx::RectF& quadRect)
+void DirectRenderer::quadRectTransform(gfx::Transform* quadRectTransform, const gfx::Transform& quadTransform, const gfx::RectF& quadRect)
{
*quadRectTransform = quadTransform;
- quadRectTransform->translate(0.5 * quadRect.width() + quadRect.x(), 0.5 * quadRect.height() + quadRect.y());
- quadRectTransform->scaleNonUniform(quadRect.width(), quadRect.height());
+ quadRectTransform->Translate(0.5 * quadRect.width() + quadRect.x(), 0.5 * quadRect.height() + quadRect.y());
+ quadRectTransform->Scale(quadRect.width(), quadRect.height());
}
// static
@@ -176,7 +174,7 @@ gfx::RectF DirectRenderer::computeScissorRectForRenderPass(const DrawingFrame& f
if (frame.rootDamageRect == frame.rootRenderPass->output_rect)
return renderPassScissor;
- WebTransformationMatrix inverseTransform = frame.currentRenderPass->transform_to_root_target.inverse();
+ gfx::Transform inverseTransform = MathUtil::inverse(frame.currentRenderPass->transform_to_root_target);
gfx::RectF damageRectInRenderPassSpace = MathUtil::projectClippedRect(inverseTransform, frame.rootDamageRect);
renderPassScissor.Intersect(damageRectInRenderPassSpace);
« no previous file with comments | « cc/direct_renderer.h ('k') | cc/draw_quad.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698