blob: e626267caf3311d424906e0e9334b13ae32c0d6d [file] [log] [blame]
// Copyright 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CCYUVVideoDrawQuad_h
#define CCYUVVideoDrawQuad_h
#include "CCDrawQuad.h"
#include "CCVideoLayerImpl.h"
#include <wtf/PassOwnPtr.h>
namespace cc {
class CCYUVVideoDrawQuad : public CCDrawQuad {
WTF_MAKE_NONCOPYABLE(CCYUVVideoDrawQuad);
public:
static PassOwnPtr<CCYUVVideoDrawQuad> create(const CCSharedQuadState*, const IntRect&, const CCVideoLayerImpl::FramePlane& yPlane, const CCVideoLayerImpl::FramePlane& uPlane, const CCVideoLayerImpl::FramePlane& vPlane);
const CCVideoLayerImpl::FramePlane& yPlane() const { return m_yPlane; }
const CCVideoLayerImpl::FramePlane& uPlane() const { return m_uPlane; }
const CCVideoLayerImpl::FramePlane& vPlane() const { return m_vPlane; }
static const CCYUVVideoDrawQuad* materialCast(const CCDrawQuad*);
private:
CCYUVVideoDrawQuad(const CCSharedQuadState*, const IntRect&, const CCVideoLayerImpl::FramePlane& yPlane, const CCVideoLayerImpl::FramePlane& uPlane, const CCVideoLayerImpl::FramePlane& vPlane);
CCVideoLayerImpl::FramePlane m_yPlane;
CCVideoLayerImpl::FramePlane m_uPlane;
CCVideoLayerImpl::FramePlane m_vPlane;
};
}
#endif