// Copyright 2011 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 CCRenderPassDrawQuad_h #define CCRenderPassDrawQuad_h #include "CCDrawQuad.h" #include "CCResourceProvider.h" #include "IntRect.h" #include namespace WebCore { class CCRenderPass; class CCRenderPassDrawQuad : public CCDrawQuad { WTF_MAKE_NONCOPYABLE(CCRenderPassDrawQuad); public: static PassOwnPtr create(const CCSharedQuadState*, const IntRect&, int renderPassId, bool isReplica, CCResourceProvider::ResourceId maskResourceId, const IntRect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY); int renderPassId() const { return m_renderPassId; } bool isReplica() const { return m_isReplica; } CCResourceProvider::ResourceId maskResourceId() const { return m_maskResourceId; } const IntRect& contentsChangedSinceLastFrame() const { return m_contentsChangedSinceLastFrame; } static const CCRenderPassDrawQuad* materialCast(const CCDrawQuad*); float maskTexCoordScaleX() const { return m_maskTexCoordScaleX; } float maskTexCoordScaleY() const { return m_maskTexCoordScaleY; } float maskTexCoordOffsetX() const { return m_maskTexCoordOffsetX; } float maskTexCoordOffsetY() const { return m_maskTexCoordOffsetY; } private: CCRenderPassDrawQuad(const CCSharedQuadState*, const IntRect&, int renderPassId, bool isReplica, CCResourceProvider::ResourceId maskResourceId, const IntRect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY); int m_renderPassId; bool m_isReplica; CCResourceProvider::ResourceId m_maskResourceId; IntRect m_contentsChangedSinceLastFrame; float m_maskTexCoordScaleX; float m_maskTexCoordScaleY; float m_maskTexCoordOffsetX; float m_maskTexCoordOffsetY; }; } #endif