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

Unified Diff: cc/gl_renderer.cc

Issue 11774005: Migrate more functions from MathUtil to gfx::Transform (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Converted constructors to row-major input Created 7 years, 11 months 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
Index: cc/gl_renderer.cc
diff --git a/cc/gl_renderer.cc b/cc/gl_renderer.cc
index 54eef96e72702b364769cb97a438d2a338211053..982d08832e4565fb2b9c8441475efe0463eb1504 100644
--- a/cc/gl_renderer.cc
+++ b/cc/gl_renderer.cc
@@ -518,7 +518,8 @@ void GLRenderer::drawRenderPassQuad(DrawingFrame& frame, const RenderPassDrawQua
gfx::Transform quadRectMatrix;
quadRectTransform(&quadRectMatrix, quad->quadTransform(), quad->rect);
- gfx::Transform contentsDeviceTransform = MathUtil::to2dTransform(frame.windowMatrix * frame.projectionMatrix * quadRectMatrix);
+ gfx::Transform contentsDeviceTransform = frame.windowMatrix * frame.projectionMatrix * quadRectMatrix;
+ contentsDeviceTransform.FlattenTo2d();
// Can only draw surface if device matrix is invertible.
gfx::Transform contentsDeviceTransformInverse(gfx::Transform::kSkipInitialization);
@@ -664,7 +665,7 @@ void GLRenderer::drawRenderPassQuad(DrawingFrame& frame, const RenderPassDrawQua
GLC(context(), context()->uniform3fv(shaderEdgeLocation, 8, edge));
}
- // Map device space quad to surface space. contentsDeviceTransform has no 3d component since it was generated with to2dTransform() so we don't need to project.
+ // Map device space quad to surface space. contentsDeviceTransform has no 3d component since it was flattened, so we don't need to project.
gfx::QuadF surfaceQuad = MathUtil::mapQuad(contentsDeviceTransformInverse, deviceLayerEdges.ToQuadF(), clipped);
DCHECK(!clipped);
@@ -769,7 +770,8 @@ void GLRenderer::drawTileQuad(const DrawingFrame& frame, const TileDrawQuad* qua
gfx::QuadF localQuad;
- gfx::Transform deviceTransform = MathUtil::to2dTransform(frame.windowMatrix * frame.projectionMatrix * quad->quadTransform());
+ gfx::Transform deviceTransform = frame.windowMatrix * frame.projectionMatrix * quad->quadTransform();
+ deviceTransform.FlattenTo2d();
if (!deviceTransform.IsInvertible())
return;
@@ -860,7 +862,7 @@ void GLRenderer::drawTileQuad(const DrawingFrame& frame, const TileDrawQuad* qua
// Create device space quad.
LayerQuad deviceQuad(leftEdge, topEdge, rightEdge, bottomEdge);
- // Map device space quad to local space. deviceTransform has no 3d component since it was generated with to2dTransform() so we don't need to project.
+ // Map device space quad to local space. deviceTransform has no 3d component since it was flattened, so we don't need to project.
// We should have already checked that the transform was uninvertible above.
gfx::Transform inverseDeviceTransform(gfx::Transform::kSkipInitialization);
bool didInvert = deviceTransform.GetInverse(&inverseDeviceTransform);

Powered by Google App Engine
This is Rietveld 408576698