summaryrefslogtreecommitdiffstats
path: root/cc/layers/nine_patch_layer_impl.cc
diff options
context:
space:
mode:
authorweiliangc@chromium.org <weiliangc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-03 18:54:34 +0000
committerweiliangc@chromium.org <weiliangc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-03 18:54:34 +0000
commitf7030c34dd9efa5710b503d88e37b7e848a436ce (patch)
tree1482a8105f389ae2244b2c03f25d3dd55b2b2adc /cc/layers/nine_patch_layer_impl.cc
parent405cb61dc2d5b8969b69d005e57873a239e5d89c (diff)
downloadchromium_src-f7030c34dd9efa5710b503d88e37b7e848a436ce.zip
chromium_src-f7030c34dd9efa5710b503d88e37b7e848a436ce.tar.gz
chromium_src-f7030c34dd9efa5710b503d88e37b7e848a436ce.tar.bz2
Create DrawQuad in RenderPass and only give out raw pointer to layers
Instead of each layer calling Create function on DrawQuad and pass ownership around, create DrawQuad in RenderPass and only pass the raw pointer to layers. BUG=344962 TEST=cc_unittests Review URL: https://codereview.chromium.org/369623002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281306 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/layers/nine_patch_layer_impl.cc')
-rw-r--r--cc/layers/nine_patch_layer_impl.cc37
1 files changed, 18 insertions, 19 deletions
diff --git a/cc/layers/nine_patch_layer_impl.cc b/cc/layers/nine_patch_layer_impl.cc
index 86fa415..3f4ee4c 100644
--- a/cc/layers/nine_patch_layer_impl.cc
+++ b/cc/layers/nine_patch_layer_impl.cc
@@ -212,12 +212,12 @@ void NinePatchLayerImpl::AppendQuads(
gfx::Rect opaque_rect;
gfx::Rect visible_rect;
const float vertex_opacity[] = {1.0f, 1.0f, 1.0f, 1.0f};
- scoped_ptr<TextureDrawQuad> quad;
visible_rect =
occlusion_tracker.UnoccludedContentRect(layer_top_left, draw_transform());
if (!visible_rect.IsEmpty()) {
- quad = TextureDrawQuad::Create();
+ TextureDrawQuad* quad =
+ render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>();
quad->SetNew(shared_quad_state,
layer_top_left,
opaque_rect,
@@ -229,13 +229,13 @@ void NinePatchLayerImpl::AppendQuads(
SK_ColorTRANSPARENT,
vertex_opacity,
flipped);
- render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>());
}
visible_rect = occlusion_tracker.UnoccludedContentRect(layer_top_right,
draw_transform());
if (!visible_rect.IsEmpty()) {
- quad = TextureDrawQuad::Create();
+ TextureDrawQuad* quad =
+ render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>();
quad->SetNew(shared_quad_state,
layer_top_right,
opaque_rect,
@@ -247,13 +247,13 @@ void NinePatchLayerImpl::AppendQuads(
SK_ColorTRANSPARENT,
vertex_opacity,
flipped);
- render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>());
}
visible_rect = occlusion_tracker.UnoccludedContentRect(layer_bottom_left,
draw_transform());
if (!visible_rect.IsEmpty()) {
- quad = TextureDrawQuad::Create();
+ TextureDrawQuad* quad =
+ render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>();
quad->SetNew(shared_quad_state,
layer_bottom_left,
opaque_rect,
@@ -265,13 +265,13 @@ void NinePatchLayerImpl::AppendQuads(
SK_ColorTRANSPARENT,
vertex_opacity,
flipped);
- render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>());
}
visible_rect = occlusion_tracker.UnoccludedContentRect(layer_bottom_right,
draw_transform());
if (!visible_rect.IsEmpty()) {
- quad = TextureDrawQuad::Create();
+ TextureDrawQuad* quad =
+ render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>();
quad->SetNew(shared_quad_state,
layer_bottom_right,
opaque_rect,
@@ -283,13 +283,13 @@ void NinePatchLayerImpl::AppendQuads(
SK_ColorTRANSPARENT,
vertex_opacity,
flipped);
- render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>());
}
visible_rect =
occlusion_tracker.UnoccludedContentRect(layer_top, draw_transform());
if (!visible_rect.IsEmpty()) {
- quad = TextureDrawQuad::Create();
+ TextureDrawQuad* quad =
+ render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>();
quad->SetNew(shared_quad_state,
layer_top,
opaque_rect,
@@ -301,13 +301,13 @@ void NinePatchLayerImpl::AppendQuads(
SK_ColorTRANSPARENT,
vertex_opacity,
flipped);
- render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>());
}
visible_rect =
occlusion_tracker.UnoccludedContentRect(layer_left, draw_transform());
if (!visible_rect.IsEmpty()) {
- quad = TextureDrawQuad::Create();
+ TextureDrawQuad* quad =
+ render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>();
quad->SetNew(shared_quad_state,
layer_left,
opaque_rect,
@@ -319,13 +319,13 @@ void NinePatchLayerImpl::AppendQuads(
SK_ColorTRANSPARENT,
vertex_opacity,
flipped);
- render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>());
}
visible_rect =
occlusion_tracker.UnoccludedContentRect(layer_right, draw_transform());
if (!visible_rect.IsEmpty()) {
- quad = TextureDrawQuad::Create();
+ TextureDrawQuad* quad =
+ render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>();
quad->SetNew(shared_quad_state,
layer_right,
opaque_rect,
@@ -337,13 +337,13 @@ void NinePatchLayerImpl::AppendQuads(
SK_ColorTRANSPARENT,
vertex_opacity,
flipped);
- render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>());
}
visible_rect =
occlusion_tracker.UnoccludedContentRect(layer_bottom, draw_transform());
if (!visible_rect.IsEmpty()) {
- quad = TextureDrawQuad::Create();
+ TextureDrawQuad* quad =
+ render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>();
quad->SetNew(shared_quad_state,
layer_bottom,
opaque_rect,
@@ -355,14 +355,14 @@ void NinePatchLayerImpl::AppendQuads(
SK_ColorTRANSPARENT,
vertex_opacity,
flipped);
- render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>());
}
if (fill_center_) {
visible_rect =
occlusion_tracker.UnoccludedContentRect(layer_center, draw_transform());
if (!visible_rect.IsEmpty()) {
- quad = TextureDrawQuad::Create();
+ TextureDrawQuad* quad =
+ render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>();
quad->SetNew(shared_quad_state,
layer_center,
opaque_rect,
@@ -374,7 +374,6 @@ void NinePatchLayerImpl::AppendQuads(
SK_ColorTRANSPARENT,
vertex_opacity,
flipped);
- render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>());
}
}
}