Add intro to any Chrome app API with no overview docs.
[chromium-blink-merge.git] / cc / yuv_video_draw_quad.h
blob9f03d99483ebc4253a56ccf13c37700130871d28
1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CC_YUV_VIDEO_DRAW_QUAD_H_
6 #define CC_YUV_VIDEO_DRAW_QUAD_H_
8 #include "base/basictypes.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "cc/cc_export.h"
11 #include "cc/draw_quad.h"
12 #include "cc/video_layer_impl.h"
14 namespace cc {
16 class CC_EXPORT YUVVideoDrawQuad : public DrawQuad {
17 public:
18 virtual ~YUVVideoDrawQuad();
20 static scoped_ptr<YUVVideoDrawQuad> Create();
22 void SetNew(const SharedQuadState* shared_quad_state,
23 gfx::Rect rect,
24 gfx::Rect opaque_rect,
25 gfx::SizeF tex_scale,
26 const VideoLayerImpl::FramePlane& y_plane,
27 const VideoLayerImpl::FramePlane& u_plane,
28 const VideoLayerImpl::FramePlane& v_plane);
30 void SetAll(const SharedQuadState* shared_quad_state,
31 gfx::Rect rect,
32 gfx::Rect opaque_rect,
33 gfx::Rect visible_rect,
34 bool needs_blending,
35 gfx::SizeF tex_scale,
36 const VideoLayerImpl::FramePlane& y_plane,
37 const VideoLayerImpl::FramePlane& u_plane,
38 const VideoLayerImpl::FramePlane& v_plane);
40 gfx::SizeF tex_scale;
41 VideoLayerImpl::FramePlane y_plane;
42 VideoLayerImpl::FramePlane u_plane;
43 VideoLayerImpl::FramePlane v_plane;
45 static const YUVVideoDrawQuad* MaterialCast(const DrawQuad*);
46 private:
47 YUVVideoDrawQuad();
52 #endif // CC_YUV_VIDEO_DRAW_QUAD_H_