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

Side by Side Diff: cc/video_layer_impl.cc

Issue 11570027: Adding support for per vertex opacity on textured layer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/texture_layer_impl.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/video_layer_impl.h" 5 #include "cc/video_layer_impl.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "cc/io_surface_draw_quad.h" 8 #include "cc/io_surface_draw_quad.h"
9 #include "cc/layer_tree_impl.h" 9 #include "cc/layer_tree_impl.h"
10 #include "cc/math_util.h" 10 #include "cc/math_util.h"
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 scoped_ptr<YUVVideoDrawQuad> yuvVideoQuad = YUVVideoDrawQuad::Create(); 222 scoped_ptr<YUVVideoDrawQuad> yuvVideoQuad = YUVVideoDrawQuad::Create();
223 yuvVideoQuad->SetNew(sharedQuadState, quadRect, opaqueRect, texScale, yP lane, uPlane, vPlane); 223 yuvVideoQuad->SetNew(sharedQuadState, quadRect, opaqueRect, texScale, yP lane, uPlane, vPlane);
224 quadSink.append(yuvVideoQuad.PassAs<DrawQuad>(), appendQuadsData); 224 quadSink.append(yuvVideoQuad.PassAs<DrawQuad>(), appendQuadsData);
225 break; 225 break;
226 } 226 }
227 case GL_RGBA: { 227 case GL_RGBA: {
228 // RGBA software decoder. 228 // RGBA software decoder.
229 const FramePlane& plane = m_framePlanes[media::VideoFrame::kRGBPlane]; 229 const FramePlane& plane = m_framePlanes[media::VideoFrame::kRGBPlane];
230 bool premultipliedAlpha = true; 230 bool premultipliedAlpha = true;
231 gfx::RectF uvRect(0, 0, texWidthScale, texHeightScale); 231 gfx::RectF uvRect(0, 0, texWidthScale, texHeightScale);
232 const float opacity[] = {1.0f, 1.0f, 1.0f, 1.0f};
232 bool flipped = false; 233 bool flipped = false;
233 scoped_ptr<TextureDrawQuad> textureQuad = TextureDrawQuad::Create(); 234 scoped_ptr<TextureDrawQuad> textureQuad = TextureDrawQuad::Create();
234 textureQuad->SetNew(sharedQuadState, quadRect, opaqueRect, plane.resourc eId, premultipliedAlpha, uvRect, flipped); 235 textureQuad->SetNew(sharedQuadState, quadRect, opaqueRect, plane.resourc eId, premultipliedAlpha, uvRect, opacity, flipped);
235 quadSink.append(textureQuad.PassAs<DrawQuad>(), appendQuadsData); 236 quadSink.append(textureQuad.PassAs<DrawQuad>(), appendQuadsData);
236 break; 237 break;
237 } 238 }
238 case GL_TEXTURE_2D: { 239 case GL_TEXTURE_2D: {
239 // NativeTexture hardware decoder. 240 // NativeTexture hardware decoder.
240 bool premultipliedAlpha = true; 241 bool premultipliedAlpha = true;
241 gfx::RectF uvRect(0, 0, texWidthScale, texHeightScale); 242 gfx::RectF uvRect(0, 0, texWidthScale, texHeightScale);
243 const float opacity[] = {1.0f, 1.0f, 1.0f, 1.0f};
242 bool flipped = false; 244 bool flipped = false;
243 scoped_ptr<TextureDrawQuad> textureQuad = TextureDrawQuad::Create(); 245 scoped_ptr<TextureDrawQuad> textureQuad = TextureDrawQuad::Create();
244 textureQuad->SetNew(sharedQuadState, quadRect, opaqueRect, m_externalTex tureResource, premultipliedAlpha, uvRect, flipped); 246 textureQuad->SetNew(sharedQuadState, quadRect, opaqueRect, m_externalTex tureResource, premultipliedAlpha, uvRect, opacity, flipped);
245 quadSink.append(textureQuad.PassAs<DrawQuad>(), appendQuadsData); 247 quadSink.append(textureQuad.PassAs<DrawQuad>(), appendQuadsData);
246 break; 248 break;
247 } 249 }
248 case GL_TEXTURE_RECTANGLE_ARB: { 250 case GL_TEXTURE_RECTANGLE_ARB: {
249 gfx::Size visibleSize(visibleRect.width(), visibleRect.height()); 251 gfx::Size visibleSize(visibleRect.width(), visibleRect.height());
250 scoped_ptr<IOSurfaceDrawQuad> ioSurfaceQuad = IOSurfaceDrawQuad::Create( ); 252 scoped_ptr<IOSurfaceDrawQuad> ioSurfaceQuad = IOSurfaceDrawQuad::Create( );
251 ioSurfaceQuad->SetNew(sharedQuadState, quadRect, opaqueRect, visibleSize , m_frame->texture_id(), IOSurfaceDrawQuad::UNFLIPPED); 253 ioSurfaceQuad->SetNew(sharedQuadState, quadRect, opaqueRect, visibleSize , m_frame->texture_id(), IOSurfaceDrawQuad::UNFLIPPED);
252 quadSink.append(ioSurfaceQuad.PassAs<DrawQuad>(), appendQuadsData); 254 quadSink.append(ioSurfaceQuad.PassAs<DrawQuad>(), appendQuadsData);
253 break; 255 break;
254 } 256 }
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 { 422 {
421 layerTreeImpl()->SetNeedsRedraw(); 423 layerTreeImpl()->SetNeedsRedraw();
422 } 424 }
423 425
424 const char* VideoLayerImpl::layerTypeAsString() const 426 const char* VideoLayerImpl::layerTypeAsString() const
425 { 427 {
426 return "VideoLayer"; 428 return "VideoLayer";
427 } 429 }
428 430
429 } // namespace cc 431 } // namespace cc
OLDNEW
« no previous file with comments | « cc/texture_layer_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698