blob: 5d574b7bb9b882c094d2f31f1d4836726c2e5b6e [file] [log] [blame]
[email protected]94f206c12012-08-25 00:09:141// 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.
4
5#ifndef CCYUVVideoDrawQuad_h
6#define CCYUVVideoDrawQuad_h
7
[email protected]fd2d4f22012-09-28 22:57:208#include "base/basictypes.h"
9#include "base/memory/scoped_ptr.h"
[email protected]94f206c12012-08-25 00:09:1410#include "CCDrawQuad.h"
11#include "CCVideoLayerImpl.h"
[email protected]94f206c12012-08-25 00:09:1412
[email protected]9c88e562012-09-14 22:21:3013namespace cc {
[email protected]94f206c12012-08-25 00:09:1414
15class CCYUVVideoDrawQuad : public CCDrawQuad {
[email protected]94f206c12012-08-25 00:09:1416public:
[email protected]8aff9332012-09-26 23:37:4017 static scoped_ptr<CCYUVVideoDrawQuad> create(const CCSharedQuadState*, const IntRect&, const CCVideoLayerImpl::FramePlane& yPlane, const CCVideoLayerImpl::FramePlane& uPlane, const CCVideoLayerImpl::FramePlane& vPlane);
[email protected]94f206c12012-08-25 00:09:1418
19 const CCVideoLayerImpl::FramePlane& yPlane() const { return m_yPlane; }
20 const CCVideoLayerImpl::FramePlane& uPlane() const { return m_uPlane; }
21 const CCVideoLayerImpl::FramePlane& vPlane() const { return m_vPlane; }
22
23 static const CCYUVVideoDrawQuad* materialCast(const CCDrawQuad*);
24private:
25 CCYUVVideoDrawQuad(const CCSharedQuadState*, const IntRect&, const CCVideoLayerImpl::FramePlane& yPlane, const CCVideoLayerImpl::FramePlane& uPlane, const CCVideoLayerImpl::FramePlane& vPlane);
26
27 CCVideoLayerImpl::FramePlane m_yPlane;
28 CCVideoLayerImpl::FramePlane m_uPlane;
29 CCVideoLayerImpl::FramePlane m_vPlane;
[email protected]fd2d4f22012-09-28 22:57:2030
31 DISALLOW_COPY_AND_ASSIGN(CCYUVVideoDrawQuad);
[email protected]94f206c12012-08-25 00:09:1432};
33
34}
35
36#endif