#ifndef WebExternalTextureLayerImpl_h
#define WebExternalTextureLayerImpl_h
#include "TextureLayerChromiumClient.h"
#include <public/WebExternalTextureLayer.h>
#include <wtf/OwnPtr.h>
namespace WebKit {
class WebLayerImpl;
class WebExternalTextureLayerImpl : public WebExternalTextureLayer,
public cc::TextureLayerChromiumClient {
public:
explicit WebExternalTextureLayerImpl(WebExternalTextureLayerClient*);
virtual ~WebExternalTextureLayerImpl();
virtual WebLayer* layer() OVERRIDE;
virtual void setTextureId(unsigned) OVERRIDE;
virtual void setFlipped(bool) OVERRIDE;
virtual void setUVRect(const WebFloatRect&) OVERRIDE;
virtual void setOpaque(bool) OVERRIDE;
virtual void setPremultipliedAlpha(bool) OVERRIDE;
virtual void willModifyTexture() OVERRIDE;
virtual void setRateLimitContext(bool) OVERRIDE;
virtual unsigned prepareTexture(cc::CCTextureUpdateQueue&) OVERRIDE;
virtual WebGraphicsContext3D* context() OVERRIDE;
private:
WebExternalTextureLayerClient* m_client;
OwnPtr<WebLayerImpl> m_layer;
};
}
#endif