CoordinatedCustomFilterProgram.h [plain text]
#ifndef CoordinatedCustomFilterProgram_h
#define CoordinatedCustomFilterProgram_h
#if USE(COORDINATED_GRAPHICS) && ENABLE(CSS_SHADERS)
#include "CustomFilterConstants.h"
#include "CustomFilterProgram.h"
namespace WebCore {
class CoordinatedCustomFilterProgram : public CustomFilterProgram {
public:
static PassRefPtr<CoordinatedCustomFilterProgram> create(String vertexShaderString, String m_fragmentShaderString, CustomFilterProgramType programType, CustomFilterProgramMixSettings mixSettings, CustomFilterMeshType meshType)
{
return adoptRef(new CoordinatedCustomFilterProgram(vertexShaderString, m_fragmentShaderString, programType, mixSettings, meshType));
}
virtual bool isLoaded() const OVERRIDE { return true; }
protected:
virtual String vertexShaderString() const OVERRIDE { return m_vertexShaderString; }
virtual String fragmentShaderString() const OVERRIDE { return m_fragmentShaderString; }
virtual void willHaveClients() OVERRIDE { notifyClients(); }
virtual void didRemoveLastClient() OVERRIDE { }
private:
CoordinatedCustomFilterProgram(String vertexShaderString, String fragmentShaderString, CustomFilterProgramType programType, CustomFilterProgramMixSettings mixSettings, CustomFilterMeshType meshType)
: CustomFilterProgram(programType, mixSettings, meshType)
, m_vertexShaderString(vertexShaderString)
, m_fragmentShaderString(fragmentShaderString)
{
}
String m_vertexShaderString;
String m_fragmentShaderString;
};
}
#endif // USE(COORDINATED_GRAPHICS) && ENABLE(CSS_SHADERS)
#endif // CoordinatedCustomFilterProgram_h