Index: cc/software_renderer.cc |
diff --git a/cc/software_renderer.cc b/cc/software_renderer.cc |
index 565218a6b0e8fa3447620cf33baf796b4ffdd605..5c31d7b12e9c6c024aa48c7b46d582d9149bce56 100644 |
--- a/cc/software_renderer.cc |
+++ b/cc/software_renderer.cc |
@@ -15,6 +15,7 @@ |
#include "third_party/skia/include/core/SkShader.h" |
#include "third_party/skia/include/effects/SkLayerRasterizer.h" |
#include "ui/gfx/rect_conversions.h" |
+#include "ui/gfx/skia_util.h" |
#include <public/WebCompositorSoftwareOutputDevice.h> |
#include <public/WebImage.h> |
#include <public/WebSize.h> |
@@ -28,28 +29,18 @@ namespace cc { |
namespace { |
-SkRect toSkRect(const gfx::RectF& rect) |
-{ |
- return SkRect::MakeXYWH(rect.x(), rect.y(), rect.width(), rect.height()); |
-} |
- |
-SkIRect toSkIRect(const gfx::Rect& rect) |
-{ |
- return SkIRect::MakeXYWH(rect.x(), rect.y(), rect.width(), rect.height()); |
-} |
- |
void toSkMatrix(SkMatrix* flattened, const WebTransformationMatrix& m) |
{ |
// Convert from 4x4 to 3x3 by dropping the third row and column. |
- flattened->set(0, m.m11()); |
- flattened->set(1, m.m21()); |
- flattened->set(2, m.m41()); |
- flattened->set(3, m.m12()); |
- flattened->set(4, m.m22()); |
- flattened->set(5, m.m42()); |
- flattened->set(6, m.m14()); |
- flattened->set(7, m.m24()); |
- flattened->set(8, m.m44()); |
+ flattened->set(0, SkDoubleToScalar(m.m11())); |
+ flattened->set(1, SkDoubleToScalar(m.m21())); |
+ flattened->set(2, SkDoubleToScalar(m.m41())); |
+ flattened->set(3, SkDoubleToScalar(m.m12())); |
+ flattened->set(4, SkDoubleToScalar(m.m22())); |
+ flattened->set(5, SkDoubleToScalar(m.m42())); |
+ flattened->set(6, SkDoubleToScalar(m.m14())); |
+ flattened->set(7, SkDoubleToScalar(m.m24())); |
+ flattened->set(8, SkDoubleToScalar(m.m44())); |
} |
bool isScaleAndTranslate(const SkMatrix& matrix) |
@@ -138,7 +129,7 @@ bool SoftwareRenderer::bindFramebufferToTexture(DrawingFrame& frame, const Scope |
void SoftwareRenderer::setScissorTestRect(const gfx::Rect& scissorRect) |
{ |
- m_skCurrentCanvas->clipRect(toSkRect(scissorRect), SkRegion::kReplace_Op); |
+ m_skCurrentCanvas->clipRect(gfx::RectToSkRect(scissorRect), SkRegion::kReplace_Op); |
} |
void SoftwareRenderer::clearFramebuffer(DrawingFrame& frame) |
@@ -219,7 +210,7 @@ void SoftwareRenderer::drawDebugBorderQuad(const DrawingFrame& frame, const Debu |
{ |
// We need to apply the matrix manually to have pixel-sized stroke width. |
SkPoint vertices[4]; |
- toSkRect(quadVertexRect()).toQuad(vertices); |
+ gfx::RectFToSkRect(quadVertexRect()).toQuad(vertices); |
SkPoint transformedVertices[4]; |
m_skCurrentCanvas->getTotalMatrix().mapPoints(transformedVertices, vertices, 4); |
m_skCurrentCanvas->resetMatrix(); |
@@ -235,7 +226,7 @@ void SoftwareRenderer::drawSolidColorQuad(const DrawingFrame& frame, const Solid |
{ |
m_skCurrentPaint.setColor(quad->color()); |
m_skCurrentPaint.setAlpha(quad->opacity() * SkColorGetA(quad->color())); |
- m_skCurrentCanvas->drawRect(toSkRect(quadVertexRect()), m_skCurrentPaint); |
+ m_skCurrentCanvas->drawRect(gfx::RectFToSkRect(quadVertexRect()), m_skCurrentPaint); |
} |
void SoftwareRenderer::drawTextureQuad(const DrawingFrame& frame, const TextureDrawQuad* quad) |
@@ -249,11 +240,11 @@ void SoftwareRenderer::drawTextureQuad(const DrawingFrame& frame, const TextureD |
ResourceProvider::ScopedReadLockSoftware lock(m_resourceProvider, quad->resourceId()); |
const SkBitmap* bitmap = lock.skBitmap(); |
gfx::RectF uvRect = gfx::ScaleRect(quad->uvRect(), bitmap->width(), bitmap->height()); |
- SkRect skUvRect = toSkRect(uvRect); |
+ SkRect skUvRect = gfx::RectFToSkRect(uvRect); |
if (quad->flipped()) |
m_skCurrentCanvas->scale(1, -1); |
m_skCurrentCanvas->drawBitmapRectToRect(*bitmap, &skUvRect, |
- toSkRect(quadVertexRect()), |
+ gfx::RectFToSkRect(quadVertexRect()), |
&m_skCurrentPaint); |
} |
@@ -267,7 +258,7 @@ void SoftwareRenderer::drawTileQuad(const DrawingFrame& frame, const TileDrawQua |
quad->quadRect().width(), quad->quadRect().height()); |
m_skCurrentPaint.setFilterBitmap(true); |
m_skCurrentCanvas->drawBitmapRectToRect(*lock.skBitmap(), &uvRect, |
- toSkRect(quadVertexRect()), |
+ gfx::RectFToSkRect(quadVertexRect()), |
&m_skCurrentPaint); |
} |
@@ -280,7 +271,7 @@ void SoftwareRenderer::drawRenderPassQuad(const DrawingFrame& frame, const Rende |
DCHECK(isSoftwareResource(contentTexture->id())); |
ResourceProvider::ScopedReadLockSoftware lock(m_resourceProvider, contentTexture->id()); |
- SkRect destRect = toSkRect(quadVertexRect()); |
+ SkRect destRect = gfx::RectFToSkRect(quadVertexRect()); |
const SkBitmap* content = lock.skBitmap(); |
@@ -333,7 +324,7 @@ void SoftwareRenderer::drawUnsupportedQuad(const DrawingFrame& frame, const Draw |
{ |
m_skCurrentPaint.setColor(SK_ColorMAGENTA); |
m_skCurrentPaint.setAlpha(quad->opacity() * 255); |
- m_skCurrentCanvas->drawRect(toSkRect(quadVertexRect()), m_skCurrentPaint); |
+ m_skCurrentCanvas->drawRect(gfx::RectFToSkRect(quadVertexRect()), m_skCurrentPaint); |
} |
bool SoftwareRenderer::swapBuffers() |