summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cc/checkerboard_draw_quad.cc4
-rw-r--r--cc/checkerboard_draw_quad.h4
-rw-r--r--cc/debug_border_draw_quad.cc4
-rw-r--r--cc/debug_border_draw_quad.h4
-rw-r--r--cc/delegated_renderer_layer_impl.cc8
-rw-r--r--cc/delegated_renderer_layer_impl_unittest.cc6
-rw-r--r--cc/direct_renderer.cc33
-rw-r--r--cc/direct_renderer.h16
-rw-r--r--cc/draw_quad.cc13
-rw-r--r--cc/draw_quad.h22
-rw-r--r--cc/draw_quad_unittest.cc26
-rw-r--r--cc/gl_renderer.cc67
-rw-r--r--cc/gl_renderer.h27
-rw-r--r--cc/io_surface_draw_quad.cc4
-rw-r--r--cc/io_surface_draw_quad.h10
-rw-r--r--cc/layer_tree_host_impl.cc2
-rw-r--r--cc/layer_tree_host_impl_unittest.cc34
-rw-r--r--cc/quad_culler.cc8
-rw-r--r--cc/quad_culler_unittest.cc8
-rw-r--r--cc/render_pass.cc4
-rw-r--r--cc/render_pass.h15
-rw-r--r--cc/render_pass_draw_quad.cc4
-rw-r--r--cc/render_pass_draw_quad.h9
-rw-r--r--cc/render_pass_unittest.cc12
-rw-r--r--cc/render_surface_unittest.cc5
-rw-r--r--cc/renderer.h3
-rw-r--r--cc/shared_quad_state.cc6
-rw-r--r--cc/shared_quad_state.h10
-rw-r--r--cc/software_renderer.cc20
-rw-r--r--cc/software_renderer.h6
-rw-r--r--cc/solid_color_draw_quad.cc4
-rw-r--r--cc/solid_color_draw_quad.h4
-rw-r--r--cc/stream_video_draw_quad.cc4
-rw-r--r--cc/stream_video_draw_quad.h4
-rw-r--r--cc/stubs/float_point.h3
-rw-r--r--cc/stubs/float_quad.h12
-rw-r--r--cc/stubs/float_rect.h17
-rw-r--r--cc/stubs/float_size.h3
-rw-r--r--cc/stubs/int_point.h3
-rw-r--r--cc/stubs/int_rect.h17
-rw-r--r--cc/stubs/int_size.h8
-rw-r--r--cc/test/geometry_test_utils.h16
-rw-r--r--cc/test/layer_test_common.cc2
-rw-r--r--cc/test/mock_quad_culler.cc2
-rw-r--r--cc/texture_draw_quad.cc4
-rw-r--r--cc/texture_draw_quad.h10
-rw-r--r--cc/tile_draw_quad.cc4
-rw-r--r--cc/tile_draw_quad.h16
-rw-r--r--cc/tiled_layer_impl_unittest.cc4
-rw-r--r--cc/yuv_video_draw_quad.cc4
-rw-r--r--cc/yuv_video_draw_quad.h4
51 files changed, 298 insertions, 241 deletions
diff --git a/cc/checkerboard_draw_quad.cc b/cc/checkerboard_draw_quad.cc
index cba8813..e868bab 100644
--- a/cc/checkerboard_draw_quad.cc
+++ b/cc/checkerboard_draw_quad.cc
@@ -10,12 +10,12 @@
namespace cc {
-scoped_ptr<CCCheckerboardDrawQuad> CCCheckerboardDrawQuad::create(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, SkColor color)
+scoped_ptr<CCCheckerboardDrawQuad> CCCheckerboardDrawQuad::create(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, SkColor color)
{
return make_scoped_ptr(new CCCheckerboardDrawQuad(sharedQuadState, quadRect, color));
}
-CCCheckerboardDrawQuad::CCCheckerboardDrawQuad(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, SkColor color)
+CCCheckerboardDrawQuad::CCCheckerboardDrawQuad(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, SkColor color)
: CCDrawQuad(sharedQuadState, CCDrawQuad::Checkerboard, quadRect)
, m_color(color)
{
diff --git a/cc/checkerboard_draw_quad.h b/cc/checkerboard_draw_quad.h
index c36bab0..23fcac9 100644
--- a/cc/checkerboard_draw_quad.h
+++ b/cc/checkerboard_draw_quad.h
@@ -15,13 +15,13 @@ namespace cc {
class CCCheckerboardDrawQuad : public CCDrawQuad {
public:
- static scoped_ptr<CCCheckerboardDrawQuad> create(const CCSharedQuadState*, const IntRect&, SkColor);
+ static scoped_ptr<CCCheckerboardDrawQuad> create(const CCSharedQuadState*, const gfx::Rect&, SkColor);
SkColor color() const { return m_color; };
static const CCCheckerboardDrawQuad* materialCast(const CCDrawQuad*);
private:
- CCCheckerboardDrawQuad(const CCSharedQuadState*, const IntRect&, SkColor);
+ CCCheckerboardDrawQuad(const CCSharedQuadState*, const gfx::Rect&, SkColor);
SkColor m_color;
};
diff --git a/cc/debug_border_draw_quad.cc b/cc/debug_border_draw_quad.cc
index a8b9d35..5a9c778 100644
--- a/cc/debug_border_draw_quad.cc
+++ b/cc/debug_border_draw_quad.cc
@@ -10,12 +10,12 @@
namespace cc {
-scoped_ptr<CCDebugBorderDrawQuad> CCDebugBorderDrawQuad::create(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, SkColor color, int width)
+scoped_ptr<CCDebugBorderDrawQuad> CCDebugBorderDrawQuad::create(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, SkColor color, int width)
{
return make_scoped_ptr(new CCDebugBorderDrawQuad(sharedQuadState, quadRect, color, width));
}
-CCDebugBorderDrawQuad::CCDebugBorderDrawQuad(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, SkColor color, int width)
+CCDebugBorderDrawQuad::CCDebugBorderDrawQuad(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, SkColor color, int width)
: CCDrawQuad(sharedQuadState, CCDrawQuad::DebugBorder, quadRect)
, m_color(color)
, m_width(width)
diff --git a/cc/debug_border_draw_quad.h b/cc/debug_border_draw_quad.h
index 32c228e..7c670d0 100644
--- a/cc/debug_border_draw_quad.h
+++ b/cc/debug_border_draw_quad.h
@@ -15,14 +15,14 @@ namespace cc {
class CCDebugBorderDrawQuad : public CCDrawQuad {
public:
- static scoped_ptr<CCDebugBorderDrawQuad> create(const CCSharedQuadState*, const IntRect&, SkColor, int width);
+ static scoped_ptr<CCDebugBorderDrawQuad> create(const CCSharedQuadState*, const gfx::Rect&, SkColor, int width);
SkColor color() const { return m_color; };
int width() const { return m_width; }
static const CCDebugBorderDrawQuad* materialCast(const CCDrawQuad*);
private:
- CCDebugBorderDrawQuad(const CCSharedQuadState*, const IntRect&, SkColor, int width);
+ CCDebugBorderDrawQuad(const CCSharedQuadState*, const gfx::Rect&, SkColor, int width);
SkColor m_color;
int m_width;
diff --git a/cc/delegated_renderer_layer_impl.cc b/cc/delegated_renderer_layer_impl.cc
index b6d1ab6..5bddbe7 100644
--- a/cc/delegated_renderer_layer_impl.cc
+++ b/cc/delegated_renderer_layer_impl.cc
@@ -44,7 +44,7 @@ bool CCDelegatedRendererLayerImpl::hasContributingDelegatedRenderPasses() const
void CCDelegatedRendererLayerImpl::setRenderPasses(ScopedPtrVector<CCRenderPass>& renderPassesInDrawOrder)
{
- FloatRect oldRootDamage;
+ gfx::RectF oldRootDamage;
if (!m_renderPassesInDrawOrder.isEmpty())
oldRootDamage = m_renderPassesInDrawOrder.last()->damageRect();
@@ -57,8 +57,8 @@ void CCDelegatedRendererLayerImpl::setRenderPasses(ScopedPtrVector<CCRenderPass>
renderPassesInDrawOrder.clear();
if (!m_renderPassesInDrawOrder.isEmpty()) {
- FloatRect newRootDamage = m_renderPassesInDrawOrder.last()->damageRect();
- m_renderPassesInDrawOrder.last()->setDamageRect(unionRect(oldRootDamage, newRootDamage));
+ gfx::RectF newRootDamage = m_renderPassesInDrawOrder.last()->damageRect();
+ m_renderPassesInDrawOrder.last()->setDamageRect(oldRootDamage.Union(newRootDamage));
}
}
@@ -154,7 +154,7 @@ void CCDelegatedRendererLayerImpl::appendRenderPassQuads(CCQuadSink& quadSink, C
// This layer must be drawing to a renderTarget other than itself.
DCHECK(renderTarget() != this);
- copiedSharedQuadState->clippedRectInTarget = CCMathUtil::mapClippedRect(drawTransform(), copiedSharedQuadState->clippedRectInTarget);
+ copiedSharedQuadState->clippedRectInTarget = CCMathUtil::mapClippedRect(drawTransform(), cc::IntRect(copiedSharedQuadState->clippedRectInTarget));
copiedSharedQuadState->quadTransform = copiedSharedQuadState->quadTransform * drawTransform();
copiedSharedQuadState->opacity *= drawOpacity();
}
diff --git a/cc/delegated_renderer_layer_impl_unittest.cc b/cc/delegated_renderer_layer_impl_unittest.cc
index ab873a3..4457556 100644
--- a/cc/delegated_renderer_layer_impl_unittest.cc
+++ b/cc/delegated_renderer_layer_impl_unittest.cc
@@ -88,7 +88,7 @@ static void addRenderPassQuad(CCTestRenderPass* toPass, CCTestRenderPass* contri
{
MockCCQuadCuller quadSink(toPass->quadList(), toPass->sharedQuadStateList());
CCAppendQuadsData data(toPass->id());
- IntRect outputRect = contributingPass->outputRect();
+ gfx::Rect outputRect = contributingPass->outputRect();
CCSharedQuadState* sharedState = quadSink.useSharedQuadState(CCSharedQuadState::create(WebTransformationMatrix(), outputRect, outputRect, 1, false));
scoped_ptr<CCRenderPassDrawQuad> quad = CCRenderPassDrawQuad::create(sharedState, outputRect, contributingPass->id(), false, 0, outputRect, 0, 0, 0, 0);
quadSink.append(quad.PassAs<CCDrawQuad>(), data);
@@ -302,8 +302,8 @@ TEST_F(CCDelegatedRendererLayerImplTestOwnSurface, AddsRenderPasses)
EXPECT_EQ(0, frame.renderPasses[5]->id().index);
// The DelegatedRendererLayer should have added its RenderPasses to the frame in order.
- EXPECT_RECT_EQ(IntRect(6, 6, 6, 6), frame.renderPasses[1]->outputRect());
- EXPECT_RECT_EQ(IntRect(7, 7, 7, 7), frame.renderPasses[2]->outputRect());
+ EXPECT_RECT_EQ(gfx::Rect(6, 6, 6, 6), frame.renderPasses[1]->outputRect());
+ EXPECT_RECT_EQ(gfx::Rect(7, 7, 7, 7), frame.renderPasses[2]->outputRect());
}
TEST_F(CCDelegatedRendererLayerImplTestOwnSurface, AddsQuadsToContributingRenderPasses)
diff --git a/cc/direct_renderer.cc b/cc/direct_renderer.cc
index 444c15f..14c7af0 100644
--- a/cc/direct_renderer.cc
+++ b/cc/direct_renderer.cc
@@ -7,6 +7,7 @@
#include "CCDirectRenderer.h"
#include "CCMathUtil.h"
+#include "ui/gfx/rect_conversions.h"
#include <public/WebTransformationMatrix.h>
#include <vector>
@@ -70,7 +71,7 @@ FloatRect CCDirectRenderer::quadVertexRect()
}
// static
-void CCDirectRenderer::quadRectTransform(WebKit::WebTransformationMatrix* quadRectTransform, const WebKit::WebTransformationMatrix& quadTransform, const FloatRect& quadRect)
+void CCDirectRenderer::quadRectTransform(WebKit::WebTransformationMatrix* quadRectTransform, const WebKit::WebTransformationMatrix& quadTransform, const gfx::RectF& quadRect)
{
*quadRectTransform = quadTransform;
quadRectTransform->translate(0.5 * quadRect.width() + quadRect.x(), 0.5 * quadRect.height() + quadRect.y());
@@ -78,28 +79,28 @@ void CCDirectRenderer::quadRectTransform(WebKit::WebTransformationMatrix* quadRe
}
// static
-void CCDirectRenderer::initializeMatrices(DrawingFrame& frame, const IntRect& drawRect, bool flipY)
+void CCDirectRenderer::initializeMatrices(DrawingFrame& frame, const gfx::Rect& drawRect, bool flipY)
{
if (flipY)
- frame.projectionMatrix = orthoProjectionMatrix(drawRect.x(), drawRect.maxX(), drawRect.maxY(), drawRect.y());
+ frame.projectionMatrix = orthoProjectionMatrix(drawRect.x(), drawRect.right(), drawRect.bottom(), drawRect.y());
else
- frame.projectionMatrix = orthoProjectionMatrix(drawRect.x(), drawRect.maxX(), drawRect.y(), drawRect.maxY());
+ frame.projectionMatrix = orthoProjectionMatrix(drawRect.x(), drawRect.right(), drawRect.y(), drawRect.bottom());
frame.windowMatrix = windowMatrix(0, 0, drawRect.width(), drawRect.height());
frame.flippedY = flipY;
}
// static
-IntRect CCDirectRenderer::moveScissorToWindowSpace(const DrawingFrame& frame, FloatRect scissorRect)
+gfx::Rect CCDirectRenderer::moveScissorToWindowSpace(const DrawingFrame& frame, gfx::RectF scissorRect)
{
- IntRect scissorRectInCanvasSpace = enclosingIntRect(scissorRect);
+ gfx::Rect scissorRectInCanvasSpace = gfx::ToEnclosingRect(scissorRect);
// The scissor coordinates must be supplied in viewport space so we need to offset
// by the relative position of the top left corner of the current render pass.
- IntRect framebufferOutputRect = frame.currentRenderPass->outputRect();
- scissorRectInCanvasSpace.setX(scissorRectInCanvasSpace.x() - framebufferOutputRect.x());
+ gfx::Rect framebufferOutputRect = frame.currentRenderPass->outputRect();
+ scissorRectInCanvasSpace.set_x(scissorRectInCanvasSpace.x() - framebufferOutputRect.x());
if (frame.flippedY && !frame.currentTexture)
- scissorRectInCanvasSpace.setY(framebufferOutputRect.height() - (scissorRectInCanvasSpace.maxY() - framebufferOutputRect.y()));
+ scissorRectInCanvasSpace.set_y(framebufferOutputRect.height() - (scissorRectInCanvasSpace.bottom() - framebufferOutputRect.y()));
else
- scissorRectInCanvasSpace.setY(scissorRectInCanvasSpace.y() - framebufferOutputRect.y());
+ scissorRectInCanvasSpace.set_y(scissorRectInCanvasSpace.y() - framebufferOutputRect.y());
return scissorRectInCanvasSpace;
}
@@ -159,7 +160,7 @@ void CCDirectRenderer::drawFrame(const CCRenderPassList& renderPassesInDrawOrder
frame.renderPassesById = &renderPassesById;
frame.rootRenderPass = rootRenderPass;
frame.rootDamageRect = capabilities().usingPartialSwap ? rootRenderPass->damageRect() : rootRenderPass->outputRect();
- frame.rootDamageRect.intersect(IntRect(IntPoint::zero(), viewportSize()));
+ frame.rootDamageRect = frame.rootDamageRect.Intersect(gfx::Rect(gfx::Point(), viewportSize()));
beginDrawingFrame(frame);
for (size_t i = 0; i < renderPassesInDrawOrder.size(); ++i)
@@ -175,7 +176,8 @@ void CCDirectRenderer::drawRenderPass(DrawingFrame& frame, const CCRenderPass* r
frame.scissorRectInRenderPassSpace = frame.currentRenderPass->outputRect();
if (frame.rootDamageRect != frame.rootRenderPass->outputRect()) {
WebTransformationMatrix inverseTransformToRoot = frame.currentRenderPass->transformToRootTarget().inverse();
- frame.scissorRectInRenderPassSpace.intersect(CCMathUtil::projectClippedRect(inverseTransformToRoot, frame.rootDamageRect));
+ gfx::RectF damageRectInRenderPassSpace = CCMathUtil::projectClippedRect(inverseTransformToRoot, cc::FloatRect(frame.rootDamageRect));
+ frame.scissorRectInRenderPassSpace = frame.scissorRectInRenderPassSpace.Intersect(damageRectInRenderPassSpace);
}
enableScissorTestRect(moveScissorToWindowSpace(frame, frame.scissorRectInRenderPassSpace));
@@ -183,9 +185,8 @@ void CCDirectRenderer::drawRenderPass(DrawingFrame& frame, const CCRenderPass* r
const CCQuadList& quadList = renderPass->quadList();
for (CCQuadList::constBackToFrontIterator it = quadList.backToFrontBegin(); it != quadList.backToFrontEnd(); ++it) {
- FloatRect quadScissorRect = frame.scissorRectInRenderPassSpace;
- quadScissorRect.intersect((*it)->clippedRectInTarget());
- if (!quadScissorRect.isEmpty()) {
+ gfx::RectF quadScissorRect = frame.scissorRectInRenderPassSpace.Intersect((*it)->clippedRectInTarget());
+ if (!quadScissorRect.IsEmpty()) {
enableScissorTestRect(moveScissorToWindowSpace(frame, quadScissorRect));
drawQuad(frame, *it);
}
@@ -225,7 +226,7 @@ bool CCDirectRenderer::haveCachedResourcesForRenderPassId(CCRenderPass::Id id) c
// static
IntSize CCDirectRenderer::renderPassTextureSize(const CCRenderPass* pass)
{
- return pass->outputRect().size();
+ return cc::IntSize(pass->outputRect().size());
}
// static
diff --git a/cc/direct_renderer.h b/cc/direct_renderer.h
index edf4001..2744f6a 100644
--- a/cc/direct_renderer.h
+++ b/cc/direct_renderer.h
@@ -39,12 +39,12 @@ protected:
const CCRenderPass* currentRenderPass;
const CCScopedTexture* currentTexture;
- FloatRect rootDamageRect;
+ gfx::RectF rootDamageRect;
WebKit::WebTransformationMatrix projectionMatrix;
WebKit::WebTransformationMatrix windowMatrix;
bool flippedY;
- FloatRect scissorRectInRenderPassSpace;
+ gfx::RectF scissorRectInRenderPassSpace;
};
class CachedTexture : public CCScopedTexture {
@@ -71,9 +71,9 @@ protected:
};
static FloatRect quadVertexRect();
- static void quadRectTransform(WebKit::WebTransformationMatrix* quadRectTransform, const WebKit::WebTransformationMatrix& quadTransform, const FloatRect& quadRect);
- static void initializeMatrices(DrawingFrame&, const IntRect& drawRect, bool flipY);
- static IntRect moveScissorToWindowSpace(const DrawingFrame&, FloatRect scissorRect);
+ static void quadRectTransform(WebKit::WebTransformationMatrix* quadRectTransform, const WebKit::WebTransformationMatrix& quadTransform, const gfx::RectF& quadRect);
+ static void initializeMatrices(DrawingFrame&, const gfx::Rect& drawRect, bool flipY);
+ static gfx::Rect moveScissorToWindowSpace(const DrawingFrame&, gfx::RectF scissorRect);
bool haveCachedResources(CCRenderPass::Id) const;
static IntSize renderPassTextureSize(const CCRenderPass*);
@@ -83,9 +83,9 @@ protected:
bool useRenderPass(DrawingFrame&, const CCRenderPass*);
virtual void bindFramebufferToOutputSurface(DrawingFrame&) = 0;
- virtual bool bindFramebufferToTexture(DrawingFrame&, const CCScopedTexture*, const IntRect& framebufferRect) = 0;
- virtual void setDrawViewportSize(const IntSize&) = 0;
- virtual void enableScissorTestRect(const IntRect& scissorRect) = 0;
+ virtual bool bindFramebufferToTexture(DrawingFrame&, const CCScopedTexture*, const gfx::Rect& framebufferRect) = 0;
+ virtual void setDrawViewportSize(const gfx::Size&) = 0;
+ virtual void enableScissorTestRect(const gfx::Rect& scissorRect) = 0;
virtual void disableScissorTest() = 0;
virtual void clearFramebuffer(DrawingFrame&) = 0;
virtual void drawQuad(DrawingFrame&, const CCDrawQuad*) = 0;
diff --git a/cc/draw_quad.cc b/cc/draw_quad.cc
index 65d2506..fe3bcdc 100644
--- a/cc/draw_quad.cc
+++ b/cc/draw_quad.cc
@@ -12,7 +12,6 @@
#include "CCRenderPassDrawQuad.h"
#include "CCTileDrawQuad.h"
#include "CCYUVVideoDrawQuad.h"
-#include "IntRect.h"
#include "base/logging.h"
#include "cc/solid_color_draw_quad.h"
#include "cc/stream_video_draw_quad.h"
@@ -20,7 +19,7 @@
namespace cc {
-CCDrawQuad::CCDrawQuad(const CCSharedQuadState* sharedQuadState, Material material, const IntRect& quadRect)
+CCDrawQuad::CCDrawQuad(const CCSharedQuadState* sharedQuadState, Material material, const gfx::Rect& quadRect)
: m_sharedQuadState(sharedQuadState)
, m_sharedQuadStateId(sharedQuadState->id)
, m_material(material)
@@ -33,20 +32,18 @@ CCDrawQuad::CCDrawQuad(const CCSharedQuadState* sharedQuadState, Material materi
DCHECK(m_material != Invalid);
}
-IntRect CCDrawQuad::opaqueRect() const
+gfx::Rect CCDrawQuad::opaqueRect() const
{
if (opacity() != 1)
- return IntRect();
+ return gfx::Rect();
if (m_sharedQuadState->opaque && m_quadOpaque)
return m_quadRect;
return m_opaqueRect;
}
-void CCDrawQuad::setQuadVisibleRect(const IntRect& quadVisibleRect)
+void CCDrawQuad::setQuadVisibleRect(gfx::Rect quadVisibleRect)
{
- IntRect intersection = quadVisibleRect;
- intersection.intersect(m_quadRect);
- m_quadVisibleRect = intersection;
+ m_quadVisibleRect = quadVisibleRect.Intersect(m_quadRect);
}
unsigned CCDrawQuad::size() const
diff --git a/cc/draw_quad.h b/cc/draw_quad.h
index 89fc674..7476d45 100644
--- a/cc/draw_quad.h
+++ b/cc/draw_quad.h
@@ -38,19 +38,19 @@ public:
StreamVideoContent,
};
- IntRect quadRect() const { return m_quadRect; }
+ gfx::Rect quadRect() const { return m_quadRect; }
const WebKit::WebTransformationMatrix& quadTransform() const { return m_sharedQuadState->quadTransform; }
- IntRect visibleContentRect() const { return m_sharedQuadState->visibleContentRect; }
- IntRect clippedRectInTarget() const { return m_sharedQuadState->clippedRectInTarget; }
+ gfx::Rect visibleContentRect() const { return m_sharedQuadState->visibleContentRect; }
+ gfx::Rect clippedRectInTarget() const { return m_sharedQuadState->clippedRectInTarget; }
float opacity() const { return m_sharedQuadState->opacity; }
// For the purposes of blending, what part of the contents of this quad are opaque?
- IntRect opaqueRect() const;
- bool needsBlending() const { return m_needsBlending || !opaqueRect().contains(m_quadVisibleRect); }
+ gfx::Rect opaqueRect() const;
+ bool needsBlending() const { return m_needsBlending || !opaqueRect().Contains(m_quadVisibleRect); }
// Allows changing the rect that gets drawn to make it smaller. Parameter passed
// in will be clipped to quadRect().
- void setQuadVisibleRect(const IntRect&);
- IntRect quadVisibleRect() const { return m_quadVisibleRect; }
+ void setQuadVisibleRect(gfx::Rect);
+ gfx::Rect quadVisibleRect() const { return m_quadVisibleRect; }
bool isDebugQuad() const { return m_material == DebugBorder; }
Material material() const { return m_material; }
@@ -66,7 +66,7 @@ public:
void setSharedQuadState(const CCSharedQuadState*);
protected:
- CCDrawQuad(const CCSharedQuadState*, Material, const IntRect&);
+ CCDrawQuad(const CCSharedQuadState*, Material, const gfx::Rect&);
// Stores state common to a large bundle of quads; kept separate for memory
// efficiency. There is special treatment to reconstruct these pointers
@@ -75,8 +75,8 @@ protected:
int m_sharedQuadStateId;
Material m_material;
- IntRect m_quadRect;
- IntRect m_quadVisibleRect;
+ gfx::Rect m_quadRect;
+ gfx::Rect m_quadVisibleRect;
// By default, the shared quad state determines whether or not this quad is
// opaque or needs blending. Derived classes can override with these
@@ -86,7 +86,7 @@ protected:
// Be default, this rect is empty. It is used when the shared quad state and above
// variables determine that the quad is not fully opaque but may be partially opaque.
- IntRect m_opaqueRect;
+ gfx::Rect m_opaqueRect;
};
#pragma pack(pop)
diff --git a/cc/draw_quad_unittest.cc b/cc/draw_quad_unittest.cc
index b7af099..98ed3d5 100644
--- a/cc/draw_quad_unittest.cc
+++ b/cc/draw_quad_unittest.cc
@@ -28,8 +28,8 @@ namespace {
TEST(CCDrawQuadTest, copySharedQuadState)
{
WebTransformationMatrix quadTransform(1, 0.5, 0, 1, 0.5, 0);
- IntRect visibleContentRect(10, 12, 14, 16);
- IntRect clippedRectInTarget(19, 21, 23, 25);
+ gfx::Rect visibleContentRect(10, 12, 14, 16);
+ gfx::Rect clippedRectInTarget(19, 21, 23, 25);
float opacity = 0.25;
bool opaque = true;
int id = 3;
@@ -49,8 +49,8 @@ TEST(CCDrawQuadTest, copySharedQuadState)
scoped_ptr<CCSharedQuadState> createSharedQuadState()
{
WebTransformationMatrix quadTransform(1, 0.5, 0, 1, 0.5, 0);
- IntRect visibleContentRect(10, 12, 14, 16);
- IntRect clippedRectInTarget(19, 21, 23, 25);
+ gfx::Rect visibleContentRect(10, 12, 14, 16);
+ gfx::Rect clippedRectInTarget(19, 21, 23, 25);
float opacity = 1;
bool opaque = false;
int id = 3;
@@ -83,8 +83,8 @@ void compareDrawQuad(CCDrawQuad* quad, CCDrawQuad* copy, CCSharedQuadState* copy
copySharedState->id = 5;
#define QUAD_DATA \
- IntRect quadRect(30, 40, 50, 60); \
- IntRect quadVisibleRect(40, 50, 30, 20); \
+ gfx::Rect quadRect(30, 40, 50, 60); \
+ gfx::Rect quadVisibleRect(40, 50, 30, 20);
#define SETUP_AND_COPY_QUAD(Type, quad) \
quad->setQuadVisibleRect(quadVisibleRect); \
@@ -179,7 +179,7 @@ TEST(CCDrawQuadTest, copyDebugBorderDrawQuad)
TEST(CCDrawQuadTest, copyIOSurfaceDrawQuad)
{
- IntSize size(58, 95);
+ gfx::Size size(58, 95);
unsigned textureId = 72;
CCIOSurfaceDrawQuad::Orientation orientation = CCIOSurfaceDrawQuad::Unflipped;
@@ -195,7 +195,7 @@ TEST(CCDrawQuadTest, copyRenderPassDrawQuad)
CCRenderPass::Id renderPassId(22, 64);
bool isReplica = true;
CCResourceProvider::ResourceId maskResourceId = 78;
- IntRect contentsChangedSinceLastFrame(42, 11, 74, 24);
+ gfx::Rect contentsChangedSinceLastFrame(42, 11, 74, 24);
float maskTexCoordScaleX = 33;
float maskTexCoordScaleY = 19;
float maskTexCoordOffsetX = -45;
@@ -239,23 +239,23 @@ TEST(CCDrawQuadTest, copyTextureDrawQuad)
{
unsigned resourceId = 82;
bool premultipliedAlpha = true;
- FloatRect uvRect(0.5, 224, -51, 36);
+ gfx::RectF uvRect(0.5, 224, -51, 36);
bool flipped = true;
CREATE_SHARED_STATE();
CREATE_QUAD_4(CCTextureDrawQuad, resourceId, premultipliedAlpha, uvRect, flipped);
EXPECT_EQ(resourceId, copyQuad->resourceId());
EXPECT_EQ(premultipliedAlpha, copyQuad->premultipliedAlpha());
- EXPECT_EQ(uvRect, copyQuad->uvRect());
+ EXPECT_FLOAT_RECT_EQ(uvRect, copyQuad->uvRect());
EXPECT_EQ(flipped, copyQuad->flipped());
}
TEST(CCDrawQuadTest, copyTileDrawQuad)
{
- IntRect opaqueRect(33, 44, 22, 33);
+ gfx::Rect opaqueRect(33, 44, 22, 33);
unsigned resourceId = 104;
- IntPoint textureOffset(-31, 47);
- IntSize textureSize(85, 32);
+ gfx::Point textureOffset(-31, 47);
+ gfx::Size textureSize(85, 32);
GLint textureFilter = 82;
bool swizzleContents = true;
bool leftEdgeAA = true;
diff --git a/cc/gl_renderer.cc b/cc/gl_renderer.cc
index ead4315..8bb68fb 100644
--- a/cc/gl_renderer.cc
+++ b/cc/gl_renderer.cc
@@ -31,6 +31,7 @@
#include "third_party/khronos/GLES2/gl2ext.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/skia/include/core/SkColor.h"
+#include "ui/gfx/rect_conversions.h"
#include <public/WebGraphicsContext3D.h>
#include <public/WebSharedGraphicsContext3D.h>
#include <public/WebVideoFrame.h>
@@ -209,7 +210,7 @@ void CCRendererGL::beginDrawingFrame(DrawingFrame& frame)
// FIXME: Remove this once framebuffer is automatically recreated on first use
ensureFramebuffer();
- if (viewportSize().isEmpty())
+ if (viewportSize().IsEmpty())
return;
TRACE_EVENT0("cc", "CCRendererGL::drawLayers");
@@ -291,7 +292,7 @@ void CCRendererGL::drawCheckerboardQuad(const DrawingFrame& frame, const CCCheck
const int checkerboardWidth = 16;
float frequency = 1.0 / checkerboardWidth;
- IntRect tileRect = quad->quadRect();
+ gfx::Rect tileRect = quad->quadRect();
float texOffsetX = tileRect.x() % checkerboardWidth;
float texOffsetY = tileRect.y() % checkerboardWidth;
float texScaleX = tileRect.width();
@@ -312,7 +313,7 @@ void CCRendererGL::drawDebugBorderQuad(const DrawingFrame& frame, const CCDebugB
GLC(context(), context()->useProgram(program->program()));
// Use the full quadRect for debug quads to not move the edges based on partial swaps.
- const IntRect& layerRect = quad->quadRect();
+ const gfx::Rect& layerRect = quad->quadRect();
WebTransformationMatrix renderMatrix = quad->quadTransform();
renderMatrix.translate(0.5 * layerRect.width() + layerRect.x(), 0.5 * layerRect.height() + layerRect.y());
renderMatrix.scaleNonUniform(layerRect.width(), layerRect.height());
@@ -376,17 +377,16 @@ scoped_ptr<CCScopedTexture> CCRendererGL::drawBackgroundFilters(DrawingFrame& fr
DCHECK(!frame.currentTexture);
// FIXME: Do a single readback for both the surface and replica and cache the filtered results (once filter textures are not reused).
- IntRect deviceRect = enclosingIntRect(CCMathUtil::mapClippedRect(contentsDeviceTransform, sharedGeometryQuad().boundingBox()));
+ gfx::Rect deviceRect = gfx::ToEnclosingRect(CCMathUtil::mapClippedRect(contentsDeviceTransform, sharedGeometryQuad().boundingBox()));
int top, right, bottom, left;
filters.getOutsets(top, right, bottom, left);
- deviceRect.move(-left, -top);
- deviceRect.expand(left + right, top + bottom);
+ deviceRect.Inset(-left, -top, -right, -bottom);
- deviceRect.intersect(frame.currentRenderPass->outputRect());
+ deviceRect = deviceRect.Intersect(frame.currentRenderPass->outputRect());
scoped_ptr<CCScopedTexture> deviceBackgroundTexture = CCScopedTexture::create(m_resourceProvider);
- if (!getFramebufferTexture(deviceBackgroundTexture.get(), deviceRect))
+ if (!getFramebufferTexture(deviceBackgroundTexture.get(), cc::IntRect(deviceRect)))
return scoped_ptr<CCScopedTexture>();
SkBitmap filteredDeviceBackground = applyFilters(this, filters, deviceBackgroundTexture.get());
@@ -397,7 +397,7 @@ scoped_ptr<CCScopedTexture> CCRendererGL::drawBackgroundFilters(DrawingFrame& fr
int filteredDeviceBackgroundTextureId = texture->getTextureHandle();
scoped_ptr<CCScopedTexture> backgroundTexture = CCScopedTexture::create(m_resourceProvider);
- if (!backgroundTexture->allocate(CCRenderer::ImplPool, quad->quadRect().size(), GL_RGBA, CCResourceProvider::TextureUsageFramebuffer))
+ if (!backgroundTexture->allocate(CCRenderer::ImplPool, cc::IntSize(quad->quadRect().size()), GL_RGBA, CCResourceProvider::TextureUsageFramebuffer))
return scoped_ptr<CCScopedTexture>();
const CCRenderPass* targetRenderPass = frame.currentRenderPass;
@@ -600,9 +600,9 @@ static void tileUniformLocation(T program, TileProgramUniforms& uniforms)
void CCRendererGL::drawTileQuad(const DrawingFrame& frame, const CCTileDrawQuad* quad)
{
- IntRect tileRect = quad->quadVisibleRect();
+ gfx::Rect tileRect = quad->quadVisibleRect();
- FloatRect clampRect(tileRect);
+ gfx::RectF clampRect(tileRect);
// Clamp texture coordinates to avoid sampling outside the layer
// by deflating the tile region half a texel or half a texel
// minus epsilon for one pixel layers. The resulting clamp region
@@ -612,12 +612,11 @@ void CCRendererGL::drawTileQuad(const DrawingFrame& frame, const CCTileDrawQuad*
const float epsilon = 1 / 1024.0f;
float clampX = min(0.5, clampRect.width() / 2.0 - epsilon);
float clampY = min(0.5, clampRect.height() / 2.0 - epsilon);
- clampRect.inflateX(-clampX);
- clampRect.inflateY(-clampY);
- FloatSize clampOffset = clampRect.minXMinYCorner() - FloatRect(tileRect).minXMinYCorner();
+ clampRect.Inset(clampX, clampY, clampX, clampY);
+ gfx::PointF clampOffset = clampRect.origin() - tileRect.origin();
- FloatPoint textureOffset = quad->textureOffset() + clampOffset +
- IntPoint(tileRect.location() - quad->quadRect().location());
+ gfx::PointF textureOffset = quad->textureOffset() + clampOffset +
+ (tileRect.origin() - quad->quadRect().origin());
// Map clamping rectangle to unit square.
float vertexTexTranslateX = -clampRect.x() / clampRect.width();
@@ -626,7 +625,7 @@ void CCRendererGL::drawTileQuad(const DrawingFrame& frame, const CCTileDrawQuad*
float vertexTexScaleY = tileRect.height() / clampRect.height();
// Map to normalized texture coordinates.
- const IntSize& textureSize = quad->textureSize();
+ const gfx::Size& textureSize = quad->textureSize();
float fragmentTexTranslateX = textureOffset.x() / textureSize.width();
float fragmentTexTranslateY = textureOffset.y() / textureSize.height();
float fragmentTexScaleX = clampRect.width() / textureSize.width();
@@ -688,10 +687,10 @@ void CCRendererGL::drawTileQuad(const DrawingFrame& frame, const CCTileDrawQuad*
GLC(context(), context()->uniform4f(uniforms.vertexTexTransformLocation, vertexTexTranslateX, vertexTexTranslateY, vertexTexScaleX, vertexTexScaleY));
GLC(context(), context()->uniform4f(uniforms.fragmentTexTransformLocation, fragmentTexTranslateX, fragmentTexTranslateY, fragmentTexScaleX, fragmentTexScaleY));
- FloatPoint bottomRight(tileRect.maxX(), tileRect.maxY());
- FloatPoint bottomLeft(tileRect.x(), tileRect.maxY());
+ FloatPoint bottomRight(tileRect.right(), tileRect.bottom());
+ FloatPoint bottomLeft(tileRect.x(), tileRect.bottom());
FloatPoint topLeft(tileRect.x(), tileRect.y());
- FloatPoint topRight(tileRect.maxX(), tileRect.y());
+ FloatPoint topRight(tileRect.right(), tileRect.y());
// Map points to device space.
bottomRight = CCMathUtil::mapPoint(deviceTransform, bottomRight, clipped);
@@ -713,9 +712,9 @@ void CCRendererGL::drawTileQuad(const DrawingFrame& frame, const CCTileDrawQuad*
topEdge = deviceLayerEdges.top();
if (quad->leftEdgeAA() && tileRect.x() == quad->quadRect().x())
leftEdge = deviceLayerEdges.left();
- if (quad->rightEdgeAA() && tileRect.maxX() == quad->quadRect().maxX())
+ if (quad->rightEdgeAA() && tileRect.right() == quad->quadRect().right())
rightEdge = deviceLayerEdges.right();
- if (quad->bottomEdgeAA() && tileRect.maxY() == quad->quadRect().maxY())
+ if (quad->bottomEdgeAA() && tileRect.bottom() == quad->quadRect().bottom())
bottomEdge = deviceLayerEdges.bottom();
float sign = FloatQuad(tileRect).isCounterclockwise() ? -1 : 1;
@@ -761,7 +760,7 @@ void CCRendererGL::drawTileQuad(const DrawingFrame& frame, const CCTileDrawQuad*
// un-antialiased quad should have and which vertex this is and the float
// quad passed in via uniform is the actual geometry that gets used to draw
// it. This is why this centered rect is used and not the original quadRect.
- FloatRect centeredRect(FloatPoint(-0.5 * tileRect.width(), -0.5 * tileRect.height()), tileRect.size());
+ gfx::RectF centeredRect(gfx::PointF(-0.5 * tileRect.width(), -0.5 * tileRect.height()), tileRect.size());
drawQuadGeometry(frame, quad->quadTransform(), centeredRect, uniforms.matrixLocation);
}
@@ -881,7 +880,7 @@ void CCRendererGL::drawTextureQuad(const DrawingFrame& frame, const CCTextureDra
binding.set(textureProgram());
GLC(context(), context()->useProgram(binding.programId));
GLC(context(), context()->uniform1i(binding.samplerLocation, 0));
- const FloatRect& uvRect = quad->uvRect();
+ const gfx::RectF& uvRect = quad->uvRect();
GLC(context(), context()->uniform4f(binding.texTransformLocation, uvRect.x(), uvRect.y(), uvRect.width(), uvRect.height()));
GLC(context(), context()->activeTexture(GL_TEXTURE0));
@@ -939,7 +938,7 @@ void CCRendererGL::drawIOSurfaceQuad(const DrawingFrame& frame, const CCIOSurfac
void CCRendererGL::finishDrawingFrame(DrawingFrame& frame)
{
m_currentFramebufferLock.reset();
- m_swapBufferRect.unite(enclosingIntRect(frame.rootDamageRect));
+ m_swapBufferRect = m_swapBufferRect.Union(gfx::ToEnclosingRect(frame.rootDamageRect));
GLC(m_context, m_context->disable(GL_SCISSOR_TEST));
GLC(m_context, m_context->disable(GL_BLEND));
@@ -993,7 +992,7 @@ void CCRendererGL::setShaderOpacity(float opacity, int alphaLocation)
GLC(m_context, m_context->uniform1f(alphaLocation, opacity));
}
-void CCRendererGL::drawQuadGeometry(const DrawingFrame& frame, const WebKit::WebTransformationMatrix& drawTransform, const FloatRect& quadRect, int matrixLocation)
+void CCRendererGL::drawQuadGeometry(const DrawingFrame& frame, const WebKit::WebTransformationMatrix& drawTransform, const gfx::RectF& quadRect, int matrixLocation)
{
WebTransformationMatrix quadRectMatrix;
quadRectTransform(&quadRectMatrix, drawTransform, quadRect);
@@ -1004,7 +1003,7 @@ void CCRendererGL::drawQuadGeometry(const DrawingFrame& frame, const WebKit::Web
GLC(m_context, m_context->drawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0));
}
-void CCRendererGL::copyTextureToFramebuffer(const DrawingFrame& frame, int textureId, const IntRect& rect, const WebTransformationMatrix& drawMatrix)
+void CCRendererGL::copyTextureToFramebuffer(const DrawingFrame& frame, int textureId, const gfx::Rect& rect, const WebTransformationMatrix& drawMatrix)
{
const RenderPassProgram* program = renderPassProgram();
@@ -1037,7 +1036,7 @@ bool CCRendererGL::swapBuffers()
if (m_capabilities.usingPartialSwap) {
// If supported, we can save significant bandwidth by only swapping the damaged/scissored region (clamped to the viewport)
- m_swapBufferRect.intersect(IntRect(IntPoint(), viewportSize()));
+ m_swapBufferRect = m_swapBufferRect.Intersect(gfx::Rect(gfx::Point(), viewportSize()));
int flippedYPosOfRectBottom = viewportHeight() - m_swapBufferRect.y() - m_swapBufferRect.height();
m_context->postSubBufferCHROMIUM(m_swapBufferRect.x(), flippedYPosOfRectBottom, m_swapBufferRect.width(), m_swapBufferRect.height());
} else {
@@ -1046,7 +1045,7 @@ bool CCRendererGL::swapBuffers()
m_context->prepareTexture();
}
- m_swapBufferRect = IntRect();
+ m_swapBufferRect = gfx::Rect();
return true;
}
@@ -1197,7 +1196,7 @@ bool CCRendererGL::getFramebufferTexture(CCScopedTexture* texture, const IntRect
{
DCHECK(!texture->id() || (texture->size() == deviceRect.size() && texture->format() == GL_RGB));
- if (!texture->id() && !texture->allocate(CCRenderer::ImplPool, deviceRect.size(), GL_RGB, CCResourceProvider::TextureUsageAny))
+ if (!texture->id() && !texture->allocate(CCRenderer::ImplPool, cc::IntSize(deviceRect.size()), GL_RGB, CCResourceProvider::TextureUsageAny))
return false;
CCResourceProvider::ScopedWriteLockGL lock(m_resourceProvider, texture->id());
@@ -1207,7 +1206,7 @@ bool CCRendererGL::getFramebufferTexture(CCScopedTexture* texture, const IntRect
return true;
}
-bool CCRendererGL::useScopedTexture(DrawingFrame& frame, const CCScopedTexture* texture, const IntRect& viewportRect)
+bool CCRendererGL::useScopedTexture(DrawingFrame& frame, const CCScopedTexture* texture, const gfx::Rect& viewportRect)
{
DCHECK(texture->id());
frame.currentRenderPass = 0;
@@ -1222,7 +1221,7 @@ void CCRendererGL::bindFramebufferToOutputSurface(DrawingFrame& frame)
GLC(m_context, m_context->bindFramebuffer(GL_FRAMEBUFFER, 0));
}
-bool CCRendererGL::bindFramebufferToTexture(DrawingFrame& frame, const CCScopedTexture* texture, const IntRect& framebufferRect)
+bool CCRendererGL::bindFramebufferToTexture(DrawingFrame& frame, const CCScopedTexture* texture, const gfx::Rect& framebufferRect)
{
DCHECK(texture->id());
@@ -1239,7 +1238,7 @@ bool CCRendererGL::bindFramebufferToTexture(DrawingFrame& frame, const CCScopedT
return true;
}
-void CCRendererGL::enableScissorTestRect(const IntRect& scissorRect)
+void CCRendererGL::enableScissorTestRect(const gfx::Rect& scissorRect)
{
GLC(m_context, m_context->enable(GL_SCISSOR_TEST));
GLC(m_context, m_context->scissor(scissorRect.x(), scissorRect.y(), scissorRect.width(), scissorRect.height()));
@@ -1250,7 +1249,7 @@ void CCRendererGL::disableScissorTest()
GLC(m_context, m_context->disable(GL_SCISSOR_TEST));
}
-void CCRendererGL::setDrawViewportSize(const IntSize& viewportSize)
+void CCRendererGL::setDrawViewportSize(const gfx::Size& viewportSize)
{
GLC(m_context, m_context->viewport(0, 0, viewportSize.width(), viewportSize.height()));
}
diff --git a/cc/gl_renderer.h b/cc/gl_renderer.h
index e6d1652..a255c9f 100644
--- a/cc/gl_renderer.h
+++ b/cc/gl_renderer.h
@@ -43,8 +43,6 @@ public:
virtual void viewportChanged() OVERRIDE;
- const FloatQuad& sharedGeometryQuad() const { return m_sharedGeometryQuad; }
-
// waits for rendering to finish
virtual void finish() OVERRIDE;
@@ -52,12 +50,7 @@ public:
// puts backbuffer onscreen
virtual bool swapBuffers() OVERRIDE;
- static void debugGLCall(WebKit::WebGraphicsContext3D*, const char* command, const char* file, int line);
-
- const GeometryBinding* sharedGeometry() const { return m_sharedGeometry.get(); }
-
virtual void getFramebufferPixels(void *pixels, const IntRect&) OVERRIDE;
- bool getFramebufferTexture(CCScopedTexture*, const IntRect& deviceRect);
virtual bool isContextLost() OVERRIDE;
@@ -66,15 +59,21 @@ public:
protected:
CCRendererGL(CCRendererClient*, CCResourceProvider*);
+ static void debugGLCall(WebKit::WebGraphicsContext3D*, const char* command, const char* file, int line);
+
bool isFramebufferDiscarded() const { return m_isFramebufferDiscarded; }
bool initialize();
+ const FloatQuad& sharedGeometryQuad() const { return m_sharedGeometryQuad; }
+ const GeometryBinding* sharedGeometry() const { return m_sharedGeometry.get(); }
+
+ bool getFramebufferTexture(CCScopedTexture*, const IntRect& deviceRect);
void releaseRenderPassTextures();
virtual void bindFramebufferToOutputSurface(DrawingFrame&) OVERRIDE;
- virtual bool bindFramebufferToTexture(DrawingFrame&, const CCScopedTexture*, const IntRect& framebufferRect) OVERRIDE;
- virtual void setDrawViewportSize(const IntSize&) OVERRIDE;
- virtual void enableScissorTestRect(const IntRect& scissorRect) OVERRIDE;
+ virtual bool bindFramebufferToTexture(DrawingFrame&, const CCScopedTexture*, const gfx::Rect& framebufferRect) OVERRIDE;
+ virtual void setDrawViewportSize(const gfx::Size&) OVERRIDE;
+ virtual void enableScissorTestRect(const gfx::Rect& scissorRect) OVERRIDE;
virtual void disableScissorTest() OVERRIDE;
virtual void clearFramebuffer(DrawingFrame&) OVERRIDE;
virtual void drawQuad(DrawingFrame&, const CCDrawQuad*) OVERRIDE;
@@ -98,11 +97,11 @@ private:
void setShaderOpacity(float opacity, int alphaLocation);
void setShaderFloatQuad(const FloatQuad&, int quadLocation);
- void drawQuadGeometry(const DrawingFrame&, const WebKit::WebTransformationMatrix& drawTransform, const FloatRect& quadRect, int matrixLocation);
+ void drawQuadGeometry(const DrawingFrame&, const WebKit::WebTransformationMatrix& drawTransform, const gfx::RectF& quadRect, int matrixLocation);
- void copyTextureToFramebuffer(const DrawingFrame&, int textureId, const IntRect&, const WebKit::WebTransformationMatrix& drawMatrix);
+ void copyTextureToFramebuffer(const DrawingFrame&, int textureId, const gfx::Rect&, const WebKit::WebTransformationMatrix& drawMatrix);
- bool useScopedTexture(DrawingFrame&, const CCScopedTexture*, const IntRect& viewportRect);
+ bool useScopedTexture(DrawingFrame&, const CCScopedTexture*, const gfx::Rect& viewportRect);
bool makeContextCurrent();
@@ -204,7 +203,7 @@ private:
WebKit::WebGraphicsContext3D* m_context;
- IntRect m_swapBufferRect;
+ gfx::Rect m_swapBufferRect;
bool m_isViewportChanged;
bool m_isFramebufferDiscarded;
bool m_discardFramebufferWhenNotVisible;
diff --git a/cc/io_surface_draw_quad.cc b/cc/io_surface_draw_quad.cc
index 2cd2ca6..6ce6af7 100644
--- a/cc/io_surface_draw_quad.cc
+++ b/cc/io_surface_draw_quad.cc
@@ -10,12 +10,12 @@
namespace cc {
-scoped_ptr<CCIOSurfaceDrawQuad> CCIOSurfaceDrawQuad::create(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, const IntSize& ioSurfaceSize, unsigned ioSurfaceTextureId, Orientation orientation)
+scoped_ptr<CCIOSurfaceDrawQuad> CCIOSurfaceDrawQuad::create(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, const gfx::Size& ioSurfaceSize, unsigned ioSurfaceTextureId, Orientation orientation)
{
return make_scoped_ptr(new CCIOSurfaceDrawQuad(sharedQuadState, quadRect, ioSurfaceSize, ioSurfaceTextureId, orientation));
}
-CCIOSurfaceDrawQuad::CCIOSurfaceDrawQuad(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, const IntSize& ioSurfaceSize, unsigned ioSurfaceTextureId, Orientation orientation)
+CCIOSurfaceDrawQuad::CCIOSurfaceDrawQuad(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, const gfx::Size& ioSurfaceSize, unsigned ioSurfaceTextureId, Orientation orientation)
: CCDrawQuad(sharedQuadState, CCDrawQuad::IOSurfaceContent, quadRect)
, m_ioSurfaceSize(ioSurfaceSize)
, m_ioSurfaceTextureId(ioSurfaceTextureId)
diff --git a/cc/io_surface_draw_quad.h b/cc/io_surface_draw_quad.h
index bb5b028..bce3dd5 100644
--- a/cc/io_surface_draw_quad.h
+++ b/cc/io_surface_draw_quad.h
@@ -6,8 +6,8 @@
#define CCIOSurfaceDrawQuad_h
#include "CCDrawQuad.h"
-#include "IntSize.h"
#include "base/memory/scoped_ptr.h"
+#include "ui/gfx/size.h"
namespace cc {
@@ -20,17 +20,17 @@ public:
Unflipped
};
- static scoped_ptr<CCIOSurfaceDrawQuad> create(const CCSharedQuadState*, const IntRect&, const IntSize& ioSurfaceSize, unsigned ioSurfaceTextureId, Orientation);
+ static scoped_ptr<CCIOSurfaceDrawQuad> create(const CCSharedQuadState*, const gfx::Rect&, const gfx::Size& ioSurfaceSize, unsigned ioSurfaceTextureId, Orientation);
- IntSize ioSurfaceSize() const { return m_ioSurfaceSize; }
+ gfx::Size ioSurfaceSize() const { return m_ioSurfaceSize; }
unsigned ioSurfaceTextureId() const { return m_ioSurfaceTextureId; }
Orientation orientation() const { return m_orientation; }
static const CCIOSurfaceDrawQuad* materialCast(const CCDrawQuad*);
private:
- CCIOSurfaceDrawQuad(const CCSharedQuadState*, const IntRect&, const IntSize& ioSurfaceSize, unsigned ioSurfaceTextureId, Orientation);
+ CCIOSurfaceDrawQuad(const CCSharedQuadState*, const gfx::Rect&, const gfx::Size& ioSurfaceSize, unsigned ioSurfaceTextureId, Orientation);
- IntSize m_ioSurfaceSize;
+ gfx::Size m_ioSurfaceSize;
unsigned m_ioSurfaceTextureId;
Orientation m_orientation;
};
diff --git a/cc/layer_tree_host_impl.cc b/cc/layer_tree_host_impl.cc
index 29d6bd9..a4367bf 100644
--- a/cc/layer_tree_host_impl.cc
+++ b/cc/layer_tree_host_impl.cc
@@ -551,7 +551,7 @@ static void removeRenderPassesRecursive(CCRenderPass::Id removeRenderPassId, CCL
bool CCLayerTreeHostImpl::CullRenderPassesWithCachedTextures::shouldRemoveRenderPass(const CCRenderPassDrawQuad& quad, const FrameData&) const
{
- return quad.contentsChangedSinceLastFrame().isEmpty() && m_renderer.haveCachedResourcesForRenderPassId(quad.renderPassId());
+ return quad.contentsChangedSinceLastFrame().IsEmpty() && m_renderer.haveCachedResourcesForRenderPassId(quad.renderPassId());
}
bool CCLayerTreeHostImpl::CullRenderPassesWithNoQuads::shouldRemoveRenderPass(const CCRenderPassDrawQuad& quad, const FrameData& frame) const
diff --git a/cc/layer_tree_host_impl_unittest.cc b/cc/layer_tree_host_impl_unittest.cc
index 15228a7..719ae40 100644
--- a/cc/layer_tree_host_impl_unittest.cc
+++ b/cc/layer_tree_host_impl_unittest.cc
@@ -3043,7 +3043,7 @@ TEST_P(CCLayerTreeHostImplTest, textureCachingWithClipping)
ASSERT_EQ(1U, frame.renderPasses[1]->quadList().size());
// Verify that the child layers are being clipped.
- IntRect quadVisibleRect = frame.renderPasses[0]->quadList()[0]->quadVisibleRect();
+ gfx::Rect quadVisibleRect = frame.renderPasses[0]->quadList()[0]->quadVisibleRect();
EXPECT_LT(quadVisibleRect.width(), 100);
quadVisibleRect = frame.renderPasses[0]->quadList()[1]->quadVisibleRect();
@@ -3054,7 +3054,7 @@ TEST_P(CCLayerTreeHostImplTest, textureCachingWithClipping)
EXPECT_EQ(CCDrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->material());
CCRenderPassDrawQuad* quad = static_cast<CCRenderPassDrawQuad*>(frame.renderPasses[1]->quadList()[0]);
- EXPECT_FALSE(quad->contentsChangedSinceLastFrame().isEmpty());
+ EXPECT_FALSE(quad->contentsChangedSinceLastFrame().IsEmpty());
myHostImpl->drawLayers(frame);
myHostImpl->didDrawAllLayers(frame);
@@ -3725,7 +3725,7 @@ TEST_P(CCLayerTreeHostImplTest, surfaceTextureCaching)
EXPECT_EQ(CCDrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->material());
CCRenderPassDrawQuad* quad = static_cast<CCRenderPassDrawQuad*>(frame.renderPasses[1]->quadList()[0]);
CCRenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId());
- EXPECT_FALSE(targetPass->damageRect().isEmpty());
+ EXPECT_FALSE(targetPass->damageRect().IsEmpty());
myHostImpl->drawLayers(frame);
myHostImpl->didDrawAllLayers(frame);
@@ -3743,7 +3743,7 @@ TEST_P(CCLayerTreeHostImplTest, surfaceTextureCaching)
EXPECT_EQ(CCDrawQuad::RenderPass, frame.renderPasses[0]->quadList()[0]->material());
CCRenderPassDrawQuad* quad = static_cast<CCRenderPassDrawQuad*>(frame.renderPasses[0]->quadList()[0]);
CCRenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId());
- EXPECT_TRUE(targetPass->damageRect().isEmpty());
+ EXPECT_TRUE(targetPass->damageRect().IsEmpty());
myHostImpl->drawLayers(frame);
myHostImpl->didDrawAllLayers(frame);
@@ -3762,7 +3762,7 @@ TEST_P(CCLayerTreeHostImplTest, surfaceTextureCaching)
EXPECT_EQ(CCDrawQuad::RenderPass, frame.renderPasses[0]->quadList()[0]->material());
CCRenderPassDrawQuad* quad = static_cast<CCRenderPassDrawQuad*>(frame.renderPasses[0]->quadList()[0]);
CCRenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId());
- EXPECT_TRUE(targetPass->damageRect().isEmpty());
+ EXPECT_TRUE(targetPass->damageRect().IsEmpty());
myHostImpl->drawLayers(frame);
myHostImpl->didDrawAllLayers(frame);
@@ -3783,7 +3783,7 @@ TEST_P(CCLayerTreeHostImplTest, surfaceTextureCaching)
EXPECT_EQ(CCDrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->material());
CCRenderPassDrawQuad* quad = static_cast<CCRenderPassDrawQuad*>(frame.renderPasses[1]->quadList()[0]);
CCRenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId());
- EXPECT_FALSE(targetPass->damageRect().isEmpty());
+ EXPECT_FALSE(targetPass->damageRect().IsEmpty());
myHostImpl->drawLayers(frame);
myHostImpl->didDrawAllLayers(frame);
@@ -3810,7 +3810,7 @@ TEST_P(CCLayerTreeHostImplTest, surfaceTextureCaching)
EXPECT_EQ(CCDrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->material());
CCRenderPassDrawQuad* quad = static_cast<CCRenderPassDrawQuad*>(frame.renderPasses[1]->quadList()[0]);
CCRenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId());
- EXPECT_TRUE(targetPass->damageRect().isEmpty());
+ EXPECT_TRUE(targetPass->damageRect().IsEmpty());
// Was our surface evicted?
EXPECT_FALSE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(targetPass->id()));
@@ -3831,7 +3831,7 @@ TEST_P(CCLayerTreeHostImplTest, surfaceTextureCaching)
EXPECT_EQ(CCDrawQuad::RenderPass, frame.renderPasses[0]->quadList()[0]->material());
CCRenderPassDrawQuad* quad = static_cast<CCRenderPassDrawQuad*>(frame.renderPasses[0]->quadList()[0]);
CCRenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId());
- EXPECT_TRUE(targetPass->damageRect().isEmpty());
+ EXPECT_TRUE(targetPass->damageRect().IsEmpty());
myHostImpl->drawLayers(frame);
myHostImpl->didDrawAllLayers(frame);
@@ -3852,7 +3852,7 @@ TEST_P(CCLayerTreeHostImplTest, surfaceTextureCaching)
EXPECT_EQ(CCDrawQuad::RenderPass, frame.renderPasses[0]->quadList()[0]->material());
CCRenderPassDrawQuad* quad = static_cast<CCRenderPassDrawQuad*>(frame.renderPasses[0]->quadList()[0]);
CCRenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId());
- EXPECT_TRUE(targetPass->damageRect().isEmpty());
+ EXPECT_TRUE(targetPass->damageRect().IsEmpty());
myHostImpl->drawLayers(frame);
myHostImpl->didDrawAllLayers(frame);
@@ -3886,10 +3886,10 @@ TEST_P(CCLayerTreeHostImplTest, surfaceTextureCachingNoPartialSwap)
EXPECT_EQ(CCDrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->material());
CCRenderPassDrawQuad* quad = static_cast<CCRenderPassDrawQuad*>(frame.renderPasses[1]->quadList()[0]);
CCRenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId());
- EXPECT_FALSE(targetPass->damageRect().isEmpty());
+ EXPECT_FALSE(targetPass->damageRect().IsEmpty());
- EXPECT_FALSE(frame.renderPasses[0]->damageRect().isEmpty());
- EXPECT_FALSE(frame.renderPasses[1]->damageRect().isEmpty());
+ EXPECT_FALSE(frame.renderPasses[0]->damageRect().IsEmpty());
+ EXPECT_FALSE(frame.renderPasses[1]->damageRect().IsEmpty());
EXPECT_FALSE(frame.renderPasses[0]->hasOcclusionFromOutsideTargetSurface());
EXPECT_FALSE(frame.renderPasses[1]->hasOcclusionFromOutsideTargetSurface());
@@ -3909,7 +3909,7 @@ TEST_P(CCLayerTreeHostImplTest, surfaceTextureCachingNoPartialSwap)
ASSERT_EQ(1U, frame.renderPasses.size());
EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size());
- EXPECT_TRUE(frame.renderPasses[0]->damageRect().isEmpty());
+ EXPECT_TRUE(frame.renderPasses[0]->damageRect().IsEmpty());
myHostImpl->drawLayers(frame);
myHostImpl->didDrawAllLayers(frame);
@@ -3928,7 +3928,7 @@ TEST_P(CCLayerTreeHostImplTest, surfaceTextureCachingNoPartialSwap)
EXPECT_EQ(CCDrawQuad::RenderPass, frame.renderPasses[0]->quadList()[0]->material());
CCRenderPassDrawQuad* quad = static_cast<CCRenderPassDrawQuad*>(frame.renderPasses[0]->quadList()[0]);
CCRenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId());
- EXPECT_TRUE(targetPass->damageRect().isEmpty());
+ EXPECT_TRUE(targetPass->damageRect().IsEmpty());
myHostImpl->drawLayers(frame);
myHostImpl->didDrawAllLayers(frame);
@@ -3949,7 +3949,7 @@ TEST_P(CCLayerTreeHostImplTest, surfaceTextureCachingNoPartialSwap)
EXPECT_EQ(CCDrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->material());
CCRenderPassDrawQuad* quad = static_cast<CCRenderPassDrawQuad*>(frame.renderPasses[1]->quadList()[0]);
CCRenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId());
- EXPECT_FALSE(targetPass->damageRect().isEmpty());
+ EXPECT_FALSE(targetPass->damageRect().IsEmpty());
myHostImpl->drawLayers(frame);
myHostImpl->didDrawAllLayers(frame);
@@ -3976,7 +3976,7 @@ TEST_P(CCLayerTreeHostImplTest, surfaceTextureCachingNoPartialSwap)
EXPECT_EQ(CCDrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->material());
CCRenderPassDrawQuad* quad = static_cast<CCRenderPassDrawQuad*>(frame.renderPasses[1]->quadList()[0]);
CCRenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId());
- EXPECT_TRUE(targetPass->damageRect().isEmpty());
+ EXPECT_TRUE(targetPass->damageRect().IsEmpty());
// Was our surface evicted?
EXPECT_FALSE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(targetPass->id()));
@@ -4015,7 +4015,7 @@ TEST_P(CCLayerTreeHostImplTest, surfaceTextureCachingNoPartialSwap)
EXPECT_EQ(CCDrawQuad::RenderPass, frame.renderPasses[0]->quadList()[0]->material());
CCRenderPassDrawQuad* quad = static_cast<CCRenderPassDrawQuad*>(frame.renderPasses[0]->quadList()[0]);
CCRenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId());
- EXPECT_TRUE(targetPass->damageRect().isEmpty());
+ EXPECT_TRUE(targetPass->damageRect().IsEmpty());
myHostImpl->drawLayers(frame);
myHostImpl->didDrawAllLayers(frame);
diff --git a/cc/quad_culler.cc b/cc/quad_culler.cc
index 6733b31..7e820fd 100644
--- a/cc/quad_culler.cc
+++ b/cc/quad_culler.cc
@@ -53,8 +53,8 @@ static inline bool appendQuadInternal(scoped_ptr<CCDrawQuad> drawQuad, const Int
if (keepQuad)
drawQuad->setQuadVisibleRect(culledRect);
- occlusionTracker.overdrawMetrics().didCullForDrawing(drawQuad->quadTransform(), drawQuad->quadRect(), culledRect);
- occlusionTracker.overdrawMetrics().didDraw(drawQuad->quadTransform(), culledRect, drawQuad->opaqueRect());
+ occlusionTracker.overdrawMetrics().didCullForDrawing(drawQuad->quadTransform(), cc::IntRect(drawQuad->quadRect()), culledRect);
+ occlusionTracker.overdrawMetrics().didDraw(drawQuad->quadTransform(), culledRect, cc::IntRect(drawQuad->opaqueRect()));
if (keepQuad) {
if (createDebugBorderQuads && !drawQuad->isDebugQuad() && drawQuad->quadVisibleRect() != drawQuad->quadRect()) {
@@ -79,9 +79,9 @@ bool CCQuadCuller::append(scoped_ptr<CCDrawQuad> drawQuad, CCAppendQuadsData& ap
bool hasOcclusionFromOutsideTargetSurface;
if (m_forSurface)
- culledRect = m_occlusionTracker->unoccludedContributingSurfaceContentRect(m_layer, false, drawQuad->quadRect(), &hasOcclusionFromOutsideTargetSurface);
+ culledRect = m_occlusionTracker->unoccludedContributingSurfaceContentRect(m_layer, false, cc::IntRect(drawQuad->quadRect()), &hasOcclusionFromOutsideTargetSurface);
else
- culledRect = m_occlusionTracker->unoccludedContentRect(m_layer, drawQuad->quadRect(), &hasOcclusionFromOutsideTargetSurface);
+ culledRect = m_occlusionTracker->unoccludedContentRect(m_layer, cc::IntRect(drawQuad->quadRect()), &hasOcclusionFromOutsideTargetSurface);
appendQuadsData.hadOcclusionFromOutsideTargetSurface |= hasOcclusionFromOutsideTargetSurface;
diff --git a/cc/quad_culler_unittest.cc b/cc/quad_culler_unittest.cc
index dd1b460..64b2d70 100644
--- a/cc/quad_culler_unittest.cc
+++ b/cc/quad_culler_unittest.cc
@@ -181,18 +181,18 @@ TEST(CCQuadCullerTest, verifyCullCenterTileOnly)
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
ASSERT_EQ(quadList.size(), 12u);
- IntRect quadVisibleRect1 = quadList[5]->quadVisibleRect();
+ gfx::Rect quadVisibleRect1 = quadList[5]->quadVisibleRect();
EXPECT_EQ(quadVisibleRect1.height(), 50);
- IntRect quadVisibleRect3 = quadList[7]->quadVisibleRect();
+ gfx::Rect quadVisibleRect3 = quadList[7]->quadVisibleRect();
EXPECT_EQ(quadVisibleRect3.width(), 50);
// Next index is 8, not 9, since centre quad culled.
- IntRect quadVisibleRect4 = quadList[8]->quadVisibleRect();
+ gfx::Rect quadVisibleRect4 = quadList[8]->quadVisibleRect();
EXPECT_EQ(quadVisibleRect4.width(), 50);
EXPECT_EQ(quadVisibleRect4.x(), 250);
- IntRect quadVisibleRect6 = quadList[10]->quadVisibleRect();
+ gfx::Rect quadVisibleRect6 = quadList[10]->quadVisibleRect();
EXPECT_EQ(quadVisibleRect6.height(), 50);
EXPECT_EQ(quadVisibleRect6.y(), 250);
diff --git a/cc/render_pass.cc b/cc/render_pass.cc
index 58e7dfe..d6e298f 100644
--- a/cc/render_pass.cc
+++ b/cc/render_pass.cc
@@ -17,12 +17,12 @@ using WebKit::WebTransformationMatrix;
namespace cc {
-scoped_ptr<CCRenderPass> CCRenderPass::create(Id id, IntRect outputRect, const WebKit::WebTransformationMatrix& transformToRootTarget)
+scoped_ptr<CCRenderPass> CCRenderPass::create(Id id, gfx::Rect outputRect, const WebKit::WebTransformationMatrix& transformToRootTarget)
{
return make_scoped_ptr(new CCRenderPass(id, outputRect, transformToRootTarget));
}
-CCRenderPass::CCRenderPass(Id id, IntRect outputRect, const WebKit::WebTransformationMatrix& transformToRootTarget)
+CCRenderPass::CCRenderPass(Id id, gfx::Rect outputRect, const WebKit::WebTransformationMatrix& transformToRootTarget)
: m_id(id)
, m_transformToRootTarget(transformToRootTarget)
, m_outputRect(outputRect)
diff --git a/cc/render_pass.h b/cc/render_pass.h
index 526d715..5289c2b 100644
--- a/cc/render_pass.h
+++ b/cc/render_pass.h
@@ -13,6 +13,7 @@
#include "cc/scoped_ptr_vector.h"
#include "cc/shared_quad_state.h"
#include "third_party/skia/include/core/SkColor.h"
+#include "ui/gfx/rect_f.h"
#include <public/WebFilterOperations.h>
#include <public/WebTransformationMatrix.h>
#include <vector>
@@ -61,7 +62,7 @@ public:
bool operator<(const Id& other) const { return layerId < other.layerId || (layerId == other.layerId && index < other.index); }
};
- static scoped_ptr<CCRenderPass> create(Id, IntRect outputRect, const WebKit::WebTransformationMatrix& transformToRootTarget);
+ static scoped_ptr<CCRenderPass> create(Id, gfx::Rect outputRect, const WebKit::WebTransformationMatrix& transformToRootTarget);
// A shallow copy of the render pass, which does not include its quads.
scoped_ptr<CCRenderPass> copy(Id newId) const;
@@ -79,10 +80,10 @@ public:
const WebKit::WebTransformationMatrix& transformToRootTarget() const { return m_transformToRootTarget; }
// This denotes the bounds in physical pixels of the output generated by this RenderPass.
- const IntRect& outputRect() const { return m_outputRect; }
+ const gfx::Rect& outputRect() const { return m_outputRect; }
- FloatRect damageRect() const { return m_damageRect; }
- void setDamageRect(FloatRect rect) { m_damageRect = rect; }
+ gfx::RectF damageRect() const { return m_damageRect; }
+ void setDamageRect(gfx::RectF rect) { m_damageRect = rect; }
const WebKit::WebFilterOperations& filters() const { return m_filters; }
void setFilters(const WebKit::WebFilterOperations& filters) { m_filters = filters; }
@@ -96,14 +97,14 @@ public:
bool hasOcclusionFromOutsideTargetSurface() const { return m_hasOcclusionFromOutsideTargetSurface; }
void setHasOcclusionFromOutsideTargetSurface(bool hasOcclusionFromOutsideTargetSurface) { m_hasOcclusionFromOutsideTargetSurface = hasOcclusionFromOutsideTargetSurface; }
protected:
- CCRenderPass(Id, IntRect outputRect, const WebKit::WebTransformationMatrix& transformToRootTarget);
+ CCRenderPass(Id, gfx::Rect outputRect, const WebKit::WebTransformationMatrix& transformToRootTarget);
Id m_id;
CCQuadList m_quadList;
CCSharedQuadStateList m_sharedQuadStateList;
WebKit::WebTransformationMatrix m_transformToRootTarget;
- IntRect m_outputRect;
- FloatRect m_damageRect;
+ gfx::Rect m_outputRect;
+ gfx::RectF m_damageRect;
bool m_hasTransparentBackground;
bool m_hasOcclusionFromOutsideTargetSurface;
WebKit::WebFilterOperations m_filters;
diff --git a/cc/render_pass_draw_quad.cc b/cc/render_pass_draw_quad.cc
index 8cec50f..9457b08 100644
--- a/cc/render_pass_draw_quad.cc
+++ b/cc/render_pass_draw_quad.cc
@@ -8,12 +8,12 @@
namespace cc {
-scoped_ptr<CCRenderPassDrawQuad> CCRenderPassDrawQuad::create(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, CCRenderPass::Id renderPassId, bool isReplica, const CCResourceProvider::ResourceId maskResourceId, const IntRect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY)
+scoped_ptr<CCRenderPassDrawQuad> CCRenderPassDrawQuad::create(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, CCRenderPass::Id renderPassId, bool isReplica, const CCResourceProvider::ResourceId maskResourceId, const gfx::Rect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY)
{
return make_scoped_ptr(new CCRenderPassDrawQuad(sharedQuadState, quadRect, renderPassId, isReplica, maskResourceId, contentsChangedSinceLastFrame, maskTexCoordScaleX, maskTexCoordScaleY, maskTexCoordOffsetX, maskTexCoordOffsetY));
}
-CCRenderPassDrawQuad::CCRenderPassDrawQuad(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, CCRenderPass::Id renderPassId, bool isReplica, CCResourceProvider::ResourceId maskResourceId, const IntRect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY)
+CCRenderPassDrawQuad::CCRenderPassDrawQuad(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, CCRenderPass::Id renderPassId, bool isReplica, CCResourceProvider::ResourceId maskResourceId, const gfx::Rect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY)
: CCDrawQuad(sharedQuadState, CCDrawQuad::RenderPass, quadRect)
, m_renderPassId(renderPassId)
, m_isReplica(isReplica)
diff --git a/cc/render_pass_draw_quad.h b/cc/render_pass_draw_quad.h
index 99222d9..9bc9ee9 100644
--- a/cc/render_pass_draw_quad.h
+++ b/cc/render_pass_draw_quad.h
@@ -10,18 +10,17 @@
#include "CCDrawQuad.h"
#include "CCRenderPass.h"
#include "CCResourceProvider.h"
-#include "IntRect.h"
namespace cc {
class CCRenderPassDrawQuad : public CCDrawQuad {
public:
- static scoped_ptr<CCRenderPassDrawQuad> create(const CCSharedQuadState*, const IntRect&, CCRenderPass::Id renderPassId, bool isReplica, CCResourceProvider::ResourceId maskResourceId, const IntRect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY);
+ static scoped_ptr<CCRenderPassDrawQuad> create(const CCSharedQuadState*, const gfx::Rect&, CCRenderPass::Id renderPassId, bool isReplica, CCResourceProvider::ResourceId maskResourceId, const gfx::Rect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY);
CCRenderPass::Id renderPassId() const { return m_renderPassId; }
bool isReplica() const { return m_isReplica; }
CCResourceProvider::ResourceId maskResourceId() const { return m_maskResourceId; }
- const IntRect& contentsChangedSinceLastFrame() const { return m_contentsChangedSinceLastFrame; }
+ const gfx::Rect& contentsChangedSinceLastFrame() const { return m_contentsChangedSinceLastFrame; }
static const CCRenderPassDrawQuad* materialCast(const CCDrawQuad*);
float maskTexCoordScaleX() const { return m_maskTexCoordScaleX; }
@@ -32,12 +31,12 @@ public:
scoped_ptr<CCRenderPassDrawQuad> copy(const CCSharedQuadState* copiedSharedQuadState, CCRenderPass::Id copiedRenderPassId) const;
private:
- CCRenderPassDrawQuad(const CCSharedQuadState*, const IntRect&, CCRenderPass::Id renderPassId, bool isReplica, CCResourceProvider::ResourceId maskResourceId, const IntRect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY);
+ CCRenderPassDrawQuad(const CCSharedQuadState*, const gfx::Rect&, CCRenderPass::Id renderPassId, bool isReplica, CCResourceProvider::ResourceId maskResourceId, const gfx::Rect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY);
CCRenderPass::Id m_renderPassId;
bool m_isReplica;
CCResourceProvider::ResourceId m_maskResourceId;
- IntRect m_contentsChangedSinceLastFrame;
+ gfx::Rect m_contentsChangedSinceLastFrame;
float m_maskTexCoordScaleX;
float m_maskTexCoordScaleY;
float m_maskTexCoordOffsetX;
diff --git a/cc/render_pass_unittest.cc b/cc/render_pass_unittest.cc
index 6a3a0ec..f7a3a75 100644
--- a/cc/render_pass_unittest.cc
+++ b/cc/render_pass_unittest.cc
@@ -32,8 +32,8 @@ struct CCRenderPassSize {
CCQuadList m_quadList;
CCSharedQuadStateList m_sharedQuadStateList;
WebKit::WebTransformationMatrix m_transformToRootTarget;
- IntRect m_outputRect;
- FloatRect m_damageRect;
+ gfx::Rect m_outputRect;
+ gfx::RectF m_damageRect;
bool m_hasTransparentBackground;
bool m_hasOcclusionFromOutsideTargetSurface;
WebKit::WebFilterOperations m_filters;
@@ -43,12 +43,12 @@ struct CCRenderPassSize {
TEST(CCRenderPassTest, copyShouldBeIdenticalExceptIdAndQuads)
{
CCRenderPass::Id id(3, 2);
- IntRect outputRect(45, 22, 120, 13);
+ gfx::Rect outputRect(45, 22, 120, 13);
WebTransformationMatrix transformToRoot(1, 0.5, 0.5, -0.5, -1, 0);
scoped_ptr<CCRenderPass> pass = CCRenderPass::create(id, outputRect, transformToRoot);
- IntRect damageRect(56, 123, 19, 43);
+ gfx::Rect damageRect(56, 123, 19, 43);
bool hasTransparentBackground = true;
bool hasOcclusionFromOutsideTargetSurface = true;
WebFilterOperations filters;
@@ -65,8 +65,8 @@ TEST(CCRenderPassTest, copyShouldBeIdenticalExceptIdAndQuads)
// Stick a quad in the pass, this should not get copied.
CCTestRenderPass* testPass = static_cast<CCTestRenderPass*>(pass.get());
- testPass->sharedQuadStateList().append(CCSharedQuadState::create(WebTransformationMatrix(), IntRect(), IntRect(), 1, false));
- testPass->quadList().append(CCCheckerboardDrawQuad::create(testPass->sharedQuadStateList().last(), IntRect(), SkColor()).PassAs<CCDrawQuad>());
+ testPass->sharedQuadStateList().append(CCSharedQuadState::create(WebTransformationMatrix(), gfx::Rect(), gfx::Rect(), 1, false));
+ testPass->quadList().append(CCCheckerboardDrawQuad::create(testPass->sharedQuadStateList().last(), gfx::Rect(), SkColor()).PassAs<CCDrawQuad>());
CCRenderPass::Id newId(63, 4);
diff --git a/cc/render_surface_unittest.cc b/cc/render_surface_unittest.cc
index 31ddd0d..e59a2a1 100644
--- a/cc/render_surface_unittest.cc
+++ b/cc/render_surface_unittest.cc
@@ -12,6 +12,7 @@
#include "cc/scoped_ptr_vector.h"
#include "cc/shared_quad_state.h"
#include "cc/single_thread_proxy.h"
+#include "cc/test/geometry_test_utils.h"
#include "cc/test/mock_quad_culler.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -112,7 +113,7 @@ TEST(CCRenderSurfaceTest, sanityCheckSurfaceCreatesCorrectSharedQuadState)
EXPECT_EQ(30, sharedQuadState->quadTransform.m41());
EXPECT_EQ(40, sharedQuadState->quadTransform.m42());
- EXPECT_EQ(contentRect, IntRect(sharedQuadState->visibleContentRect));
+ EXPECT_RECT_EQ(contentRect, IntRect(sharedQuadState->visibleContentRect));
EXPECT_EQ(1, sharedQuadState->opacity);
EXPECT_FALSE(sharedQuadState->opaque);
}
@@ -157,7 +158,7 @@ TEST(CCRenderSurfaceTest, sanityCheckSurfaceCreatesCorrectRenderPass)
CCRenderPass* pass = passSink.renderPasses()[0];
EXPECT_EQ(CCRenderPass::Id(2, 0), pass->id());
- EXPECT_EQ(contentRect, pass->outputRect());
+ EXPECT_RECT_EQ(contentRect, pass->outputRect());
EXPECT_EQ(origin, pass->transformToRootTarget());
}
diff --git a/cc/renderer.h b/cc/renderer.h
index 1b32436..4106eee 100644
--- a/cc/renderer.h
+++ b/cc/renderer.h
@@ -9,7 +9,6 @@
#include "CCLayerTreeHost.h"
#include "CCRenderPass.h"
#include "FloatQuad.h"
-#include "IntRect.h"
namespace cc {
@@ -42,7 +41,7 @@ public:
const CCLayerTreeSettings& settings() const { return m_client->settings(); }
- const IntSize& viewportSize() { return m_client->deviceViewportSize(); }
+ gfx::Size viewportSize() { return m_client->deviceViewportSize(); }
int viewportWidth() { return viewportSize().width(); }
int viewportHeight() { return viewportSize().height(); }
diff --git a/cc/shared_quad_state.cc b/cc/shared_quad_state.cc
index 926cd7eb..0d017c4f0 100644
--- a/cc/shared_quad_state.cc
+++ b/cc/shared_quad_state.cc
@@ -6,16 +6,14 @@
#include "cc/shared_quad_state.h"
-#include "FloatQuad.h"
-
namespace cc {
-scoped_ptr<CCSharedQuadState> CCSharedQuadState::create(const WebKit::WebTransformationMatrix& quadTransform, const IntRect& visibleContentRect, const IntRect& clippedRectInTarget, float opacity, bool opaque)
+scoped_ptr<CCSharedQuadState> CCSharedQuadState::create(const WebKit::WebTransformationMatrix& quadTransform, const gfx::Rect& visibleContentRect, const gfx::Rect& clippedRectInTarget, float opacity, bool opaque)
{
return make_scoped_ptr(new CCSharedQuadState(quadTransform, visibleContentRect, clippedRectInTarget, opacity, opaque));
}
-CCSharedQuadState::CCSharedQuadState(const WebKit::WebTransformationMatrix& quadTransform, const IntRect& visibleContentRect, const IntRect& clippedRectInTarget, float opacity, bool opaque)
+CCSharedQuadState::CCSharedQuadState(const WebKit::WebTransformationMatrix& quadTransform, const gfx::Rect& visibleContentRect, const gfx::Rect& clippedRectInTarget, float opacity, bool opaque)
: id(-1)
, quadTransform(quadTransform)
, visibleContentRect(visibleContentRect)
diff --git a/cc/shared_quad_state.h b/cc/shared_quad_state.h
index 0f5e386..00e5080 100644
--- a/cc/shared_quad_state.h
+++ b/cc/shared_quad_state.h
@@ -5,8 +5,8 @@
#ifndef CCSharedQuadState_h
#define CCSharedQuadState_h
-#include "IntRect.h"
#include "base/memory/scoped_ptr.h"
+#include "ui/gfx/rect.h"
#include <public/WebTransformationMatrix.h>
namespace cc {
@@ -17,13 +17,13 @@ struct CCSharedQuadState {
// Transforms from quad's original content space to its target content space.
WebKit::WebTransformationMatrix quadTransform;
// This rect lives in the content space for the quad's originating layer.
- IntRect visibleContentRect;
- IntRect clippedRectInTarget;
+ gfx::Rect visibleContentRect;
+ gfx::Rect clippedRectInTarget;
float opacity;
bool opaque;
- static scoped_ptr<CCSharedQuadState> create(const WebKit::WebTransformationMatrix& quadTransform, const IntRect& visibleContentRect, const IntRect& clippedRectInTarget, float opacity, bool opaque);
- CCSharedQuadState(const WebKit::WebTransformationMatrix& quadTransform, const IntRect& visibleContentRect, const IntRect& clippedRectInTarget, float opacity, bool opaque);
+ static scoped_ptr<CCSharedQuadState> create(const WebKit::WebTransformationMatrix& quadTransform, const gfx::Rect& visibleContentRect, const gfx::Rect& clippedRectInTarget, float opacity, bool opaque);
+ CCSharedQuadState(const WebKit::WebTransformationMatrix& quadTransform, const gfx::Rect& visibleContentRect, const gfx::Rect& clippedRectInTarget, float opacity, bool opaque);
scoped_ptr<CCSharedQuadState> copy() const;
};
diff --git a/cc/software_renderer.cc b/cc/software_renderer.cc
index 4b427e8..3eda904 100644
--- a/cc/software_renderer.cc
+++ b/cc/software_renderer.cc
@@ -16,6 +16,7 @@
#include "third_party/skia/include/core/SkMatrix.h"
#include "third_party/skia/include/core/SkShader.h"
#include "third_party/skia/include/effects/SkLayerRasterizer.h"
+#include "ui/gfx/rect_conversions.h"
#include <public/WebImage.h>
#include <public/WebSize.h>
#include <public/WebTransformationMatrix.h>
@@ -29,12 +30,12 @@ namespace cc {
namespace {
-SkRect toSkRect(const FloatRect& rect)
+SkRect toSkRect(const gfx::RectF& rect)
{
return SkRect::MakeXYWH(rect.x(), rect.y(), rect.width(), rect.height());
}
-SkIRect toSkIRect(const IntRect& rect)
+SkIRect toSkIRect(const gfx::Rect& rect)
{
return SkIRect::MakeXYWH(rect.x(), rect.y(), rect.width(), rect.height());
}
@@ -127,7 +128,7 @@ void CCRendererSoftware::bindFramebufferToOutputSurface(DrawingFrame& frame)
m_skCurrentCanvas = m_skRootCanvas.get();
}
-bool CCRendererSoftware::bindFramebufferToTexture(DrawingFrame& frame, const CCScopedTexture* texture, const IntRect& framebufferRect)
+bool CCRendererSoftware::bindFramebufferToTexture(DrawingFrame& frame, const CCScopedTexture* texture, const gfx::Rect& framebufferRect)
{
m_currentFramebufferLock = make_scoped_ptr(new CCResourceProvider::ScopedWriteLockSoftware(m_resourceProvider, texture->id()));
m_skCurrentCanvas = m_currentFramebufferLock->skCanvas();
@@ -137,14 +138,14 @@ bool CCRendererSoftware::bindFramebufferToTexture(DrawingFrame& frame, const CCS
return true;
}
-void CCRendererSoftware::enableScissorTestRect(const IntRect& scissorRect)
+void CCRendererSoftware::enableScissorTestRect(const gfx::Rect& scissorRect)
{
m_skCurrentCanvas->clipRect(toSkRect(scissorRect), SkRegion::kReplace_Op);
}
void CCRendererSoftware::disableScissorTest()
{
- IntRect canvasRect(IntPoint(), viewportSize());
+ gfx::Rect canvasRect(gfx::Point(), viewportSize());
m_skCurrentCanvas->clipRect(toSkRect(canvasRect), SkRegion::kReplace_Op);
}
@@ -160,7 +161,7 @@ void CCRendererSoftware::clearFramebuffer(DrawingFrame& frame)
}
}
-void CCRendererSoftware::setDrawViewportSize(const IntSize& viewportSize)
+void CCRendererSoftware::setDrawViewportSize(const gfx::Size& viewportSize)
{
}
@@ -254,9 +255,8 @@ void CCRendererSoftware::drawTextureQuad(const DrawingFrame& frame, const CCText
// FIXME: Add support for non-premultiplied alpha.
CCResourceProvider::ScopedReadLockSoftware quadResourceLock(m_resourceProvider, quad->resourceId());
- FloatRect uvRect = quad->uvRect();
- uvRect.scale(quad->quadRect().width(), quad->quadRect().height());
- SkIRect skUvRect = toSkIRect(enclosingIntRect(uvRect));
+ gfx::RectF uvRect = quad->uvRect().Scale(quad->quadRect().width(), quad->quadRect().height());
+ SkIRect skUvRect = toSkIRect(gfx::ToEnclosingRect(uvRect));
if (quad->flipped())
m_skCurrentCanvas->scale(1, -1);
m_skCurrentCanvas->drawBitmapRect(*quadResourceLock.skBitmap(), &skUvRect, toSkRect(quadVertexRect()), &m_skCurrentPaint);
@@ -267,7 +267,7 @@ void CCRendererSoftware::drawTileQuad(const DrawingFrame& frame, const CCTileDra
DCHECK(isSoftwareResource(quad->resourceId()));
CCResourceProvider::ScopedReadLockSoftware quadResourceLock(m_resourceProvider, quad->resourceId());
- SkIRect uvRect = toSkIRect(IntRect(quad->textureOffset(), quad->quadRect().size()));
+ SkIRect uvRect = toSkIRect(gfx::Rect(quad->textureOffset(), quad->quadRect().size()));
m_skCurrentCanvas->drawBitmapRect(*quadResourceLock.skBitmap(), &uvRect, toSkRect(quadVertexRect()), &m_skCurrentPaint);
}
diff --git a/cc/software_renderer.h b/cc/software_renderer.h
index 8c0334c..faa1551 100644
--- a/cc/software_renderer.h
+++ b/cc/software_renderer.h
@@ -38,9 +38,9 @@ public:
protected:
virtual void bindFramebufferToOutputSurface(DrawingFrame&) OVERRIDE;
- virtual bool bindFramebufferToTexture(DrawingFrame&, const CCScopedTexture*, const IntRect& framebufferRect) OVERRIDE;
- virtual void setDrawViewportSize(const IntSize&) OVERRIDE;
- virtual void enableScissorTestRect(const IntRect& scissorRect) OVERRIDE;
+ virtual bool bindFramebufferToTexture(DrawingFrame&, const CCScopedTexture*, const gfx::Rect& framebufferRect) OVERRIDE;
+ virtual void setDrawViewportSize(const gfx::Size&) OVERRIDE;
+ virtual void enableScissorTestRect(const gfx::Rect& scissorRect) OVERRIDE;
virtual void disableScissorTest() OVERRIDE;
virtual void clearFramebuffer(DrawingFrame&) OVERRIDE;
virtual void drawQuad(DrawingFrame&, const CCDrawQuad*) OVERRIDE;
diff --git a/cc/solid_color_draw_quad.cc b/cc/solid_color_draw_quad.cc
index cd395e5..ff7e992 100644
--- a/cc/solid_color_draw_quad.cc
+++ b/cc/solid_color_draw_quad.cc
@@ -10,12 +10,12 @@
namespace cc {
-scoped_ptr<CCSolidColorDrawQuad> CCSolidColorDrawQuad::create(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, SkColor color)
+scoped_ptr<CCSolidColorDrawQuad> CCSolidColorDrawQuad::create(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, SkColor color)
{
return make_scoped_ptr(new CCSolidColorDrawQuad(sharedQuadState, quadRect, color));
}
-CCSolidColorDrawQuad::CCSolidColorDrawQuad(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, SkColor color)
+CCSolidColorDrawQuad::CCSolidColorDrawQuad(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, SkColor color)
: CCDrawQuad(sharedQuadState, CCDrawQuad::SolidColor, quadRect)
, m_color(color)
{
diff --git a/cc/solid_color_draw_quad.h b/cc/solid_color_draw_quad.h
index cd0619e..b864e44 100644
--- a/cc/solid_color_draw_quad.h
+++ b/cc/solid_color_draw_quad.h
@@ -15,13 +15,13 @@ namespace cc {
class CCSolidColorDrawQuad : public CCDrawQuad {
public:
- static scoped_ptr<CCSolidColorDrawQuad> create(const CCSharedQuadState*, const IntRect&, SkColor);
+ static scoped_ptr<CCSolidColorDrawQuad> create(const CCSharedQuadState*, const gfx::Rect&, SkColor);
SkColor color() const { return m_color; };
static const CCSolidColorDrawQuad* materialCast(const CCDrawQuad*);
private:
- CCSolidColorDrawQuad(const CCSharedQuadState*, const IntRect&, SkColor);
+ CCSolidColorDrawQuad(const CCSharedQuadState*, const gfx::Rect&, SkColor);
SkColor m_color;
};
diff --git a/cc/stream_video_draw_quad.cc b/cc/stream_video_draw_quad.cc
index 5d29d45..46ebe07 100644
--- a/cc/stream_video_draw_quad.cc
+++ b/cc/stream_video_draw_quad.cc
@@ -10,12 +10,12 @@
namespace cc {
-scoped_ptr<CCStreamVideoDrawQuad> CCStreamVideoDrawQuad::create(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, unsigned textureId, const WebKit::WebTransformationMatrix& matrix)
+scoped_ptr<CCStreamVideoDrawQuad> CCStreamVideoDrawQuad::create(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, unsigned textureId, const WebKit::WebTransformationMatrix& matrix)
{
return make_scoped_ptr(new CCStreamVideoDrawQuad(sharedQuadState, quadRect, textureId, matrix));
}
-CCStreamVideoDrawQuad::CCStreamVideoDrawQuad(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, unsigned textureId, const WebKit::WebTransformationMatrix& matrix)
+CCStreamVideoDrawQuad::CCStreamVideoDrawQuad(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, unsigned textureId, const WebKit::WebTransformationMatrix& matrix)
: CCDrawQuad(sharedQuadState, CCDrawQuad::StreamVideoContent, quadRect)
, m_textureId(textureId)
, m_matrix(matrix)
diff --git a/cc/stream_video_draw_quad.h b/cc/stream_video_draw_quad.h
index 6a1b6c4..68d3d02 100644
--- a/cc/stream_video_draw_quad.h
+++ b/cc/stream_video_draw_quad.h
@@ -15,14 +15,14 @@ namespace cc {
class CCStreamVideoDrawQuad : public CCDrawQuad {
public:
- static scoped_ptr<CCStreamVideoDrawQuad> create(const CCSharedQuadState*, const IntRect&, unsigned textureId, const WebKit::WebTransformationMatrix&);
+ static scoped_ptr<CCStreamVideoDrawQuad> create(const CCSharedQuadState*, const gfx::Rect&, unsigned textureId, const WebKit::WebTransformationMatrix&);
unsigned textureId() const { return m_textureId; }
const WebKit::WebTransformationMatrix& matrix() const { return m_matrix; }
static const CCStreamVideoDrawQuad* materialCast(const CCDrawQuad*);
private:
- CCStreamVideoDrawQuad(const CCSharedQuadState*, const IntRect&, unsigned textureId, const WebKit::WebTransformationMatrix&);
+ CCStreamVideoDrawQuad(const CCSharedQuadState*, const gfx::Rect&, unsigned textureId, const WebKit::WebTransformationMatrix&);
unsigned m_textureId;
WebKit::WebTransformationMatrix m_matrix;
diff --git a/cc/stubs/float_point.h b/cc/stubs/float_point.h
index 4ce2681..c762384 100644
--- a/cc/stubs/float_point.h
+++ b/cc/stubs/float_point.h
@@ -12,6 +12,7 @@
#else
#include "third_party/WebKit/Source/WebCore/platform/graphics/FloatPoint.h"
#endif
+#include "ui/gfx/point_f.h"
namespace cc {
@@ -44,6 +45,8 @@ public:
{
}
+
+ operator gfx::PointF() const { return gfx::PointF(x(), y()); }
};
}
diff --git a/cc/stubs/float_quad.h b/cc/stubs/float_quad.h
index f2f45ed..9e6b1f4 100644
--- a/cc/stubs/float_quad.h
+++ b/cc/stubs/float_quad.h
@@ -5,6 +5,8 @@
#ifndef CC_STUBS_FLOATQUAD_H_
#define CC_STUBS_FLOATQUAD_H_
+#include "ui/gfx/rect.h"
+#include "ui/gfx/rect_f.h"
#include "FloatPoint.h"
#include "FloatRect.h"
#if INSIDE_WEBKIT_BUILD
@@ -49,6 +51,16 @@ public:
: WebCore::FloatQuad(quad)
{
}
+
+ FloatQuad(const gfx::Rect& rect)
+ : WebCore::FloatQuad(WebCore::IntRect(rect.x(), rect.y(), rect.width(), rect.height()))
+ {
+ }
+
+ FloatQuad(const gfx::RectF& rect)
+ : WebCore::FloatQuad(WebCore::FloatRect(rect.x(), rect.y(), rect.width(), rect.height()))
+ {
+ }
};
}
diff --git a/cc/stubs/float_rect.h b/cc/stubs/float_rect.h
index 2eb03e2..e4a3709 100644
--- a/cc/stubs/float_rect.h
+++ b/cc/stubs/float_rect.h
@@ -13,6 +13,11 @@
#else
#include "third_party/WebKit/Source/WebCore/platform/graphics/FloatRect.h"
#endif
+#include "ui/gfx/rect_f.h"
+
+#if defined(OS_MACOSX)
+#include <ApplicationServices/ApplicationServices.h>
+#endif
namespace cc {
@@ -49,6 +54,18 @@ public:
:WebCore::FloatRect(rect)
{
}
+
+ explicit FloatRect(gfx::RectF rect)
+ : WebCore::FloatRect(rect.x(), rect.y(), rect.width(), rect.height())
+ {
+ }
+
+ operator gfx::RectF() const { return gfx::RectF(x(), y(), width(), height()); }
+
+private:
+#if defined(OS_MACOSX)
+ operator CGRect() const;
+#endif
};
}
diff --git a/cc/stubs/float_size.h b/cc/stubs/float_size.h
index 9db5978..acbd5da 100644
--- a/cc/stubs/float_size.h
+++ b/cc/stubs/float_size.h
@@ -11,6 +11,7 @@
#else
#include "third_party/WebKit/Source/WebCore/platform/graphics/FloatSize.h"
#endif
+#include "ui/gfx/size_f.h"
namespace cc {
class FloatSize : public WebCore::FloatSize {
@@ -36,6 +37,8 @@ public:
: WebCore::FloatSize(size.width(), size.height())
{
}
+
+ operator gfx::SizeF() const { return gfx::SizeF(width(), height()); }
};
}
diff --git a/cc/stubs/int_point.h b/cc/stubs/int_point.h
index fa12dea..2e39da6 100644
--- a/cc/stubs/int_point.h
+++ b/cc/stubs/int_point.h
@@ -11,6 +11,7 @@
#else
#include "third_party/WebKit/Source/WebCore/platform/graphics/IntPoint.h"
#endif
+#include "ui/gfx/point.h"
namespace cc {
@@ -33,6 +34,8 @@ public:
{
}
+
+ operator gfx::Point() const { return gfx::Point(x(), y()); }
};
}
diff --git a/cc/stubs/int_rect.h b/cc/stubs/int_rect.h
index 1599967..4114d7b 100644
--- a/cc/stubs/int_rect.h
+++ b/cc/stubs/int_rect.h
@@ -12,6 +12,11 @@
#else
#include "third_party/WebKit/Source/WebCore/platform/graphics/IntRect.h"
#endif
+#include "ui/gfx/rect.h"
+
+#if defined(OS_MACOSX)
+#include <ApplicationServices/ApplicationServices.h>
+#endif
namespace cc {
@@ -34,6 +39,18 @@ public:
{
}
+
+ explicit IntRect(gfx::Rect rect)
+ : WebCore::IntRect(rect.x(), rect.y(), rect.width(), rect.height())
+ {
+ }
+
+ operator gfx::Rect() const { return gfx::Rect(x(), y(), width(), height()); }
+
+private:
+#if defined(OS_MACOSX)
+ operator CGRect() const;
+#endif
};
}
diff --git a/cc/stubs/int_size.h b/cc/stubs/int_size.h
index c53f4f1..8b75f1e 100644
--- a/cc/stubs/int_size.h
+++ b/cc/stubs/int_size.h
@@ -10,6 +10,7 @@
#else
#include "third_party/WebKit/Source/WebCore/platform/graphics/IntSize.h"
#endif
+#include "ui/gfx/size.h"
namespace cc {
@@ -27,6 +28,13 @@ public:
{
}
+
+ explicit IntSize(gfx::Size size)
+ : WebCore::IntSize(size.width(), size.height())
+ {
+ }
+
+ operator gfx::Size() const { return gfx::Size(width(), height()); }
};
}
diff --git a/cc/test/geometry_test_utils.h b/cc/test/geometry_test_utils.h
index dc0e8ec..9eaf52a 100644
--- a/cc/test/geometry_test_utils.h
+++ b/cc/test/geometry_test_utils.h
@@ -14,18 +14,18 @@ namespace WebKitTests {
// These are macros instead of functions so that we get useful line numbers where a test failed.
#define EXPECT_FLOAT_RECT_EQ(expected, actual) \
{ \
- EXPECT_FLOAT_EQ((expected).location().x(), (actual).location().x()); \
- EXPECT_FLOAT_EQ((expected).location().y(), (actual).location().y()); \
- EXPECT_FLOAT_EQ((expected).size().width(), (actual).size().width()); \
- EXPECT_FLOAT_EQ((expected).size().height(), (actual).size().height()); \
+ EXPECT_FLOAT_EQ((expected).x(), (actual).x()); \
+ EXPECT_FLOAT_EQ((expected).y(), (actual).y()); \
+ EXPECT_FLOAT_EQ((expected).width(), (actual).width()); \
+ EXPECT_FLOAT_EQ((expected).height(), (actual).height()); \
}
#define EXPECT_RECT_EQ(expected, actual) \
{ \
- EXPECT_EQ((expected).location().x(), (actual).location().x()); \
- EXPECT_EQ((expected).location().y(), (actual).location().y()); \
- EXPECT_EQ((expected).size().width(), (actual).size().width()); \
- EXPECT_EQ((expected).size().height(), (actual).size().height()); \
+ EXPECT_EQ((expected).x(), (actual).x()); \
+ EXPECT_EQ((expected).y(), (actual).y()); \
+ EXPECT_EQ((expected).width(), (actual).width()); \
+ EXPECT_EQ((expected).height(), (actual).height()); \
}
#define EXPECT_SIZE_EQ(expected, actual) \
diff --git a/cc/test/layer_test_common.cc b/cc/test/layer_test_common.cc
index fda251c..f7ef384 100644
--- a/cc/test/layer_test_common.cc
+++ b/cc/test/layer_test_common.cc
@@ -20,7 +20,7 @@ void verifyQuadsExactlyCoverRect(const cc::CCQuadList& quads,
for (size_t i = 0; i < quads.size(); ++i) {
cc::CCDrawQuad* quad = quads[i];
- cc::IntRect quadRect = quad->quadRect();
+ cc::IntRect quadRect = cc::IntRect(quad->quadRect());
EXPECT_TRUE(rect.contains(quadRect)) << quadString << i;
EXPECT_TRUE(remaining.contains(quadRect)) << quadString << i;
diff --git a/cc/test/mock_quad_culler.cc b/cc/test/mock_quad_culler.cc
index 282dddc..d1ceae7 100644
--- a/cc/test/mock_quad_culler.cc
+++ b/cc/test/mock_quad_culler.cc
@@ -26,7 +26,7 @@ MockCCQuadCuller::~MockCCQuadCuller()
bool MockCCQuadCuller::append(scoped_ptr<CCDrawQuad> drawQuad, CCAppendQuadsData&)
{
- if (!drawQuad->quadRect().isEmpty()) {
+ if (!drawQuad->quadRect().IsEmpty()) {
m_activeQuadList.append(drawQuad.Pass());
return true;
}
diff --git a/cc/texture_draw_quad.cc b/cc/texture_draw_quad.cc
index 5be8545..adde022 100644
--- a/cc/texture_draw_quad.cc
+++ b/cc/texture_draw_quad.cc
@@ -10,12 +10,12 @@
namespace cc {
-scoped_ptr<CCTextureDrawQuad> CCTextureDrawQuad::create(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, unsigned resourceId, bool premultipliedAlpha, const FloatRect& uvRect, bool flipped)
+scoped_ptr<CCTextureDrawQuad> CCTextureDrawQuad::create(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, unsigned resourceId, bool premultipliedAlpha, const gfx::RectF& uvRect, bool flipped)
{
return make_scoped_ptr(new CCTextureDrawQuad(sharedQuadState, quadRect, resourceId, premultipliedAlpha, uvRect, flipped));
}
-CCTextureDrawQuad::CCTextureDrawQuad(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, unsigned resourceId, bool premultipliedAlpha, const FloatRect& uvRect, bool flipped)
+CCTextureDrawQuad::CCTextureDrawQuad(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, unsigned resourceId, bool premultipliedAlpha, const gfx::RectF& uvRect, bool flipped)
: CCDrawQuad(sharedQuadState, CCDrawQuad::TextureContent, quadRect)
, m_resourceId(resourceId)
, m_premultipliedAlpha(premultipliedAlpha)
diff --git a/cc/texture_draw_quad.h b/cc/texture_draw_quad.h
index daa600f..0c5736e 100644
--- a/cc/texture_draw_quad.h
+++ b/cc/texture_draw_quad.h
@@ -6,8 +6,8 @@
#define CCTextureDrawQuad_h
#include "CCDrawQuad.h"
-#include "FloatRect.h"
#include "base/memory/scoped_ptr.h"
+#include "ui/gfx/rect_f.h"
namespace cc {
@@ -15,8 +15,8 @@ namespace cc {
class CCTextureDrawQuad : public CCDrawQuad {
public:
- static scoped_ptr<CCTextureDrawQuad> create(const CCSharedQuadState*, const IntRect&, unsigned resourceId, bool premultipliedAlpha, const FloatRect& uvRect, bool flipped);
- FloatRect uvRect() const { return m_uvRect; }
+ static scoped_ptr<CCTextureDrawQuad> create(const CCSharedQuadState*, const gfx::Rect&, unsigned resourceId, bool premultipliedAlpha, const gfx::RectF& uvRect, bool flipped);
+ gfx::RectF uvRect() const { return m_uvRect; }
unsigned resourceId() const { return m_resourceId; }
bool premultipliedAlpha() const { return m_premultipliedAlpha; }
@@ -26,11 +26,11 @@ public:
static const CCTextureDrawQuad* materialCast(const CCDrawQuad*);
private:
- CCTextureDrawQuad(const CCSharedQuadState*, const IntRect&, unsigned resourceId, bool premultipliedAlpha, const FloatRect& uvRect, bool flipped);
+ CCTextureDrawQuad(const CCSharedQuadState*, const gfx::Rect&, unsigned resourceId, bool premultipliedAlpha, const gfx::RectF& uvRect, bool flipped);
unsigned m_resourceId;
bool m_premultipliedAlpha;
- FloatRect m_uvRect;
+ gfx::RectF m_uvRect;
bool m_flipped;
};
diff --git a/cc/tile_draw_quad.cc b/cc/tile_draw_quad.cc
index e50861e..1c61348 100644
--- a/cc/tile_draw_quad.cc
+++ b/cc/tile_draw_quad.cc
@@ -11,12 +11,12 @@
namespace cc {
-scoped_ptr<CCTileDrawQuad> CCTileDrawQuad::create(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, const IntRect& opaqueRect, unsigned resourceId, const IntPoint& textureOffset, const IntSize& textureSize, GLint textureFilter, bool swizzleContents, bool leftEdgeAA, bool topEdgeAA, bool rightEdgeAA, bool bottomEdgeAA)
+scoped_ptr<CCTileDrawQuad> CCTileDrawQuad::create(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, const gfx::Rect& opaqueRect, unsigned resourceId, const gfx::Point& textureOffset, const gfx::Size& textureSize, GLint textureFilter, bool swizzleContents, bool leftEdgeAA, bool topEdgeAA, bool rightEdgeAA, bool bottomEdgeAA)
{
return make_scoped_ptr(new CCTileDrawQuad(sharedQuadState, quadRect, opaqueRect, resourceId, textureOffset, textureSize, textureFilter, swizzleContents, leftEdgeAA, topEdgeAA, rightEdgeAA, bottomEdgeAA));
}
-CCTileDrawQuad::CCTileDrawQuad(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, const IntRect& opaqueRect, unsigned resourceId, const IntPoint& textureOffset, const IntSize& textureSize, GLint textureFilter, bool swizzleContents, bool leftEdgeAA, bool topEdgeAA, bool rightEdgeAA, bool bottomEdgeAA)
+CCTileDrawQuad::CCTileDrawQuad(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, const gfx::Rect& opaqueRect, unsigned resourceId, const gfx::Point& textureOffset, const gfx::Size& textureSize, GLint textureFilter, bool swizzleContents, bool leftEdgeAA, bool topEdgeAA, bool rightEdgeAA, bool bottomEdgeAA)
: CCDrawQuad(sharedQuadState, CCDrawQuad::TiledContent, quadRect)
, m_resourceId(resourceId)
, m_textureOffset(textureOffset)
diff --git a/cc/tile_draw_quad.h b/cc/tile_draw_quad.h
index 4802d82..08d075f 100644
--- a/cc/tile_draw_quad.h
+++ b/cc/tile_draw_quad.h
@@ -7,9 +7,9 @@
#include "CCDrawQuad.h"
#include "third_party/khronos/GLES2/gl2.h"
-#include "IntPoint.h"
-#include "IntSize.h"
#include "base/memory/scoped_ptr.h"
+#include "ui/gfx/point.h"
+#include "ui/gfx/size.h"
namespace cc {
@@ -17,11 +17,11 @@ namespace cc {
class CCTileDrawQuad : public CCDrawQuad {
public:
- static scoped_ptr<CCTileDrawQuad> create(const CCSharedQuadState*, const IntRect& quadRect, const IntRect& opaqueRect, unsigned resourceId, const IntPoint& textureOffset, const IntSize& textureSize, GLint textureFilter, bool swizzleContents, bool leftEdgeAA, bool topEdgeAA, bool rightEdgeAA, bool bottomEdgeAA);
+ static scoped_ptr<CCTileDrawQuad> create(const CCSharedQuadState*, const gfx::Rect& quadRect, const gfx::Rect& opaqueRect, unsigned resourceId, const gfx::Point& textureOffset, const gfx::Size& textureSize, GLint textureFilter, bool swizzleContents, bool leftEdgeAA, bool topEdgeAA, bool rightEdgeAA, bool bottomEdgeAA);
unsigned resourceId() const { return m_resourceId; }
- IntPoint textureOffset() const { return m_textureOffset; }
- IntSize textureSize() const { return m_textureSize; }
+ gfx::Point textureOffset() const { return m_textureOffset; }
+ gfx::Size textureSize() const { return m_textureSize; }
GLint textureFilter() const { return m_textureFilter; }
bool swizzleContents() const { return m_swizzleContents; }
@@ -34,11 +34,11 @@ public:
static const CCTileDrawQuad* materialCast(const CCDrawQuad*);
private:
- CCTileDrawQuad(const CCSharedQuadState*, const IntRect& quadRect, const IntRect& opaqueRect, unsigned resourceId, const IntPoint& textureOffset, const IntSize& textureSize, GLint textureFilter, bool swizzleContents, bool leftEdgeAA, bool topEdgeAA, bool rightEdgeAA, bool bottomEdgeAA);
+ CCTileDrawQuad(const CCSharedQuadState*, const gfx::Rect& quadRect, const gfx::Rect& opaqueRect, unsigned resourceId, const gfx::Point& textureOffset, const gfx::Size& textureSize, GLint textureFilter, bool swizzleContents, bool leftEdgeAA, bool topEdgeAA, bool rightEdgeAA, bool bottomEdgeAA);
unsigned m_resourceId;
- IntPoint m_textureOffset;
- IntSize m_textureSize;
+ gfx::Point m_textureOffset;
+ gfx::Size m_textureSize;
GLint m_textureFilter;
bool m_swizzleContents;
bool m_leftEdgeAA;
diff --git a/cc/tiled_layer_impl_unittest.cc b/cc/tiled_layer_impl_unittest.cc
index 9c131f5..0bfceb0 100644
--- a/cc/tiled_layer_impl_unittest.cc
+++ b/cc/tiled_layer_impl_unittest.cc
@@ -219,7 +219,7 @@ TEST(CCTiledLayerImplTest, textureInfoForLayerNoBorders)
EXPECT_NE(quad->resourceId(), 0u) << quadString << i;
EXPECT_EQ(quad->textureOffset(), IntPoint()) << quadString << i;
EXPECT_EQ(quad->textureSize(), tileSize) << quadString << i;
- EXPECT_EQ(IntRect(0, 0, 1, 1), quad->opaqueRect()) << quadString << i;
+ EXPECT_EQ(gfx::Rect(0, 0, 1, 1), quad->opaqueRect()) << quadString << i;
}
}
@@ -237,7 +237,7 @@ TEST(CCTiledLayerImplTest, tileOpaqueRectForLayerNoBorders)
ASSERT_EQ(quads[i]->material(), CCDrawQuad::TiledContent) << quadString << i;
CCTileDrawQuad* quad = static_cast<CCTileDrawQuad*>(quads[i]);
- EXPECT_EQ(IntRect(0, 0, 1, 1), quad->opaqueRect()) << quadString << i;
+ EXPECT_EQ(gfx::Rect(0, 0, 1, 1), quad->opaqueRect()) << quadString << i;
}
}
diff --git a/cc/yuv_video_draw_quad.cc b/cc/yuv_video_draw_quad.cc
index eec671b..586e7fc 100644
--- a/cc/yuv_video_draw_quad.cc
+++ b/cc/yuv_video_draw_quad.cc
@@ -10,12 +10,12 @@
namespace cc {
-scoped_ptr<CCYUVVideoDrawQuad> CCYUVVideoDrawQuad::create(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, const CCVideoLayerImpl::FramePlane& yPlane, const CCVideoLayerImpl::FramePlane& uPlane, const CCVideoLayerImpl::FramePlane& vPlane)
+scoped_ptr<CCYUVVideoDrawQuad> CCYUVVideoDrawQuad::create(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, const CCVideoLayerImpl::FramePlane& yPlane, const CCVideoLayerImpl::FramePlane& uPlane, const CCVideoLayerImpl::FramePlane& vPlane)
{
return make_scoped_ptr(new CCYUVVideoDrawQuad(sharedQuadState, quadRect, yPlane, uPlane, vPlane));
}
-CCYUVVideoDrawQuad::CCYUVVideoDrawQuad(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, const CCVideoLayerImpl::FramePlane& yPlane, const CCVideoLayerImpl::FramePlane& uPlane, const CCVideoLayerImpl::FramePlane& vPlane)
+CCYUVVideoDrawQuad::CCYUVVideoDrawQuad(const CCSharedQuadState* sharedQuadState, const gfx::Rect& quadRect, const CCVideoLayerImpl::FramePlane& yPlane, const CCVideoLayerImpl::FramePlane& uPlane, const CCVideoLayerImpl::FramePlane& vPlane)
: CCDrawQuad(sharedQuadState, CCDrawQuad::YUVVideoContent, quadRect)
, m_yPlane(yPlane)
, m_uPlane(uPlane)
diff --git a/cc/yuv_video_draw_quad.h b/cc/yuv_video_draw_quad.h
index 5d574b7b..3b3fa5d 100644
--- a/cc/yuv_video_draw_quad.h
+++ b/cc/yuv_video_draw_quad.h
@@ -14,7 +14,7 @@ namespace cc {
class CCYUVVideoDrawQuad : public CCDrawQuad {
public:
- static scoped_ptr<CCYUVVideoDrawQuad> create(const CCSharedQuadState*, const IntRect&, const CCVideoLayerImpl::FramePlane& yPlane, const CCVideoLayerImpl::FramePlane& uPlane, const CCVideoLayerImpl::FramePlane& vPlane);
+ static scoped_ptr<CCYUVVideoDrawQuad> create(const CCSharedQuadState*, const gfx::Rect&, const CCVideoLayerImpl::FramePlane& yPlane, const CCVideoLayerImpl::FramePlane& uPlane, const CCVideoLayerImpl::FramePlane& vPlane);
const CCVideoLayerImpl::FramePlane& yPlane() const { return m_yPlane; }
const CCVideoLayerImpl::FramePlane& uPlane() const { return m_uPlane; }
@@ -22,7 +22,7 @@ public:
static const CCYUVVideoDrawQuad* materialCast(const CCDrawQuad*);
private:
- CCYUVVideoDrawQuad(const CCSharedQuadState*, const IntRect&, const CCVideoLayerImpl::FramePlane& yPlane, const CCVideoLayerImpl::FramePlane& uPlane, const CCVideoLayerImpl::FramePlane& vPlane);
+ CCYUVVideoDrawQuad(const CCSharedQuadState*, const gfx::Rect&, const CCVideoLayerImpl::FramePlane& yPlane, const CCVideoLayerImpl::FramePlane& uPlane, const CCVideoLayerImpl::FramePlane& vPlane);
CCVideoLayerImpl::FramePlane m_yPlane;
CCVideoLayerImpl::FramePlane m_uPlane;