Chromium Code Reviews| Index: cc/quads/yuv_video_draw_quad.cc |
| diff --git a/cc/quads/yuv_video_draw_quad.cc b/cc/quads/yuv_video_draw_quad.cc |
| index 7876861bd878578bf38d9e91a4d3db3fb4c9f024..795547963f77f6346963fa21257449e7d13fd61a 100644 |
| --- a/cc/quads/yuv_video_draw_quad.cc |
| +++ b/cc/quads/yuv_video_draw_quad.cc |
| @@ -16,20 +16,17 @@ scoped_ptr<YUVVideoDrawQuad> YUVVideoDrawQuad::Create() { |
| } |
| void YUVVideoDrawQuad::SetNew(const SharedQuadState* shared_quad_state, |
| - gfx::Rect rect, |
| - gfx::Rect opaque_rect, |
| - gfx::SizeF tex_scale, |
| - const VideoLayerImpl::FramePlane& y_plane, |
| - const VideoLayerImpl::FramePlane& u_plane, |
| - const VideoLayerImpl::FramePlane& v_plane) { |
| + gfx::Rect rect, |
| + gfx::Rect opaque_rect, |
| + gfx::SizeF tex_scale, |
| + const VideoLayerImpl::FramePlane* y_plane, |
| + const VideoLayerImpl::FramePlane* u_plane, |
| + const VideoLayerImpl::FramePlane* v_plane, |
| + const VideoLayerImpl::FramePlane* a_plane) { |
| gfx::Rect visible_rect = rect; |
| - bool needs_blending = false; |
| - DrawQuad::SetAll(shared_quad_state, DrawQuad::YUV_VIDEO_CONTENT, rect, |
| - opaque_rect, visible_rect, needs_blending); |
| - this->tex_scale = tex_scale; |
| - this->y_plane = y_plane; |
| - this->u_plane = u_plane; |
| - this->v_plane = v_plane; |
| + bool needs_blending = !!a_plane; |
|
danakj
2013/04/07 19:08:46
Actually, I think you can just leave this false st
vignesh
2013/04/09 20:48:03
Done.
|
| + SetAll(shared_quad_state, rect, opaque_rect, visible_rect, needs_blending, |
| + tex_scale, y_plane, u_plane, v_plane, a_plane); |
| } |
| void YUVVideoDrawQuad::SetAll(const SharedQuadState* shared_quad_state, |
| @@ -38,15 +35,18 @@ void YUVVideoDrawQuad::SetAll(const SharedQuadState* shared_quad_state, |
| gfx::Rect visible_rect, |
| bool needs_blending, |
| gfx::SizeF tex_scale, |
| - const VideoLayerImpl::FramePlane& y_plane, |
| - const VideoLayerImpl::FramePlane& u_plane, |
| - const VideoLayerImpl::FramePlane& v_plane) { |
| + const VideoLayerImpl::FramePlane* y_plane, |
| + const VideoLayerImpl::FramePlane* u_plane, |
| + const VideoLayerImpl::FramePlane* v_plane, |
| + const VideoLayerImpl::FramePlane* a_plane) { |
| DrawQuad::SetAll(shared_quad_state, DrawQuad::YUV_VIDEO_CONTENT, rect, |
| opaque_rect, visible_rect, needs_blending); |
| this->tex_scale = tex_scale; |
| - this->y_plane = y_plane; |
| - this->u_plane = u_plane; |
| - this->v_plane = v_plane; |
| + this->y_plane = *y_plane; |
| + this->u_plane = *u_plane; |
| + this->v_plane = *v_plane; |
| + if (a_plane) |
| + this->a_plane = *a_plane; |
| } |
| void YUVVideoDrawQuad::IterateResources( |
| @@ -54,6 +54,8 @@ void YUVVideoDrawQuad::IterateResources( |
| y_plane.resource_id = callback.Run(y_plane.resource_id); |
| u_plane.resource_id = callback.Run(u_plane.resource_id); |
| v_plane.resource_id = callback.Run(v_plane.resource_id); |
| + if (a_plane.resource_id) |
| + a_plane.resource_id = callback.Run(a_plane.resource_id); |
| } |
| const YUVVideoDrawQuad* YUVVideoDrawQuad::MaterialCast( |