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

Unified Diff: ui/gfx/compositor/compositor_gl.cc

Issue 7044062: Use SkMatrix44 for the underlying implementation of ui::Transform (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: removed unused header in gl compositor Created 9 years, 6 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: ui/gfx/compositor/compositor_gl.cc
diff --git a/ui/gfx/compositor/compositor_gl.cc b/ui/gfx/compositor/compositor_gl.cc
index e591e2accf084ca4dc043c7eed8b0f6b53165469..137d9e203578ed783fcb76f5aa829c8187fd3f19 100644
--- a/ui/gfx/compositor/compositor_gl.cc
+++ b/ui/gfx/compositor/compositor_gl.cc
@@ -161,31 +161,14 @@ void TextureGL::Draw(const ui::Transform& transform) {
glUniform1i(compositor_->u_tex_loc(), 0);
glBindTexture(GL_TEXTURE_2D, texture_id_);
+ const SkMatrix44& matrix = t.matrix();
rjkroege 2011/06/10 17:52:14 Given Ganesh, there should be a single call into S
+
GLfloat m[16];
- const SkMatrix& matrix = t.matrix();
-
- // Convert 3x3 view transform matrix (row major) into 4x4 GL matrix (column
- // major). Assume 2-D rotations/translations restricted to XY plane.
-
- m[ 0] = matrix[0];
- m[ 1] = matrix[3];
- m[ 2] = 0;
- m[ 3] = matrix[6];
-
- m[ 4] = matrix[1];
- m[ 5] = matrix[4];
- m[ 6] = 0;
- m[ 7] = matrix[7];
-
- m[ 8] = 0;
- m[ 9] = 0;
- m[10] = 1;
- m[11] = 0;
-
- m[12] = matrix[2];
- m[13] = matrix[5];
- m[14] = 0;
- m[15] = matrix[8];
+ for (int i = 0; i < 4; ++i) {
+ for (int j = 0; j < 4; ++j) {
+ m[i + j * 4] = matrix.get(i, j);
+ }
+ }
const GLfloat vertices[] = { -1., -1., +0., +0., +1.,
+1., -1., +0., +1., +1.,

Powered by Google App Engine
This is Rietveld 408576698