#ifndef CCTileDrawQuad_h
#define CCTileDrawQuad_h
#include "GraphicsTypes3D.h"
#include "cc/CCDrawQuad.h"
#include <wtf/PassOwnPtr.h>
namespace WebCore {
class CCTileDrawQuad : public CCDrawQuad {
WTF_MAKE_NONCOPYABLE(CCTileDrawQuad);
public:
static PassOwnPtr<CCTileDrawQuad> create(const CCSharedQuadState*, const IntRect& quadRect, const IntRect& opaqueRect, Platform3DObject textureId, const IntPoint& textureOffset, const IntSize& textureSize, GC3Dint textureFilter, bool swizzleContents, bool leftEdgeAA, bool topEdgeAA, bool rightEdgeAA, bool bottomEdgeAA);
Platform3DObject textureId() const { return m_textureId; }
IntPoint textureOffset() const { return m_textureOffset; }
IntSize textureSize() const { return m_textureSize; }
GC3Dint textureFilter() const { return m_textureFilter; }
bool swizzleContents() const { return m_swizzleContents; }
bool leftEdgeAA() const { return m_leftEdgeAA; }
bool topEdgeAA() const { return m_topEdgeAA; }
bool rightEdgeAA() const { return m_rightEdgeAA; }
bool bottomEdgeAA() const { return m_bottomEdgeAA; }
bool isAntialiased() const { return leftEdgeAA() || topEdgeAA() || rightEdgeAA() || bottomEdgeAA(); }
private:
CCTileDrawQuad(const CCSharedQuadState*, const IntRect& quadRect, const IntRect& opaqueRect, Platform3DObject textureId, const IntPoint& textureOffset, const IntSize& textureSize, GC3Dint textureFilter, bool swizzleContents, bool leftEdgeAA, bool topEdgeAA, bool rightEdgeAA, bool bottomEdgeAA);
Platform3DObject m_textureId;
IntPoint m_textureOffset;
IntSize m_textureSize;
GC3Dint m_textureFilter;
bool m_swizzleContents;
bool m_leftEdgeAA;
bool m_topEdgeAA;
bool m_rightEdgeAA;
bool m_bottomEdgeAA;
};
}
#endif