#ifndef HOST_DEMO_EFFECT_INSTANCE_H
#define HOST_DEMO_EFFECT_INSTANCE_H
namespace MyHost {
class MyEffectInstance : public OFX::Host::ImageEffect::Instance {
public:
MyEffectInstance(OFX::Host::ImageEffect::ImageEffectPlugin* plugin,
OFX::Host::ImageEffect::Descriptor& desc,
const std::string& context);
virtual const std::string &getDefaultOutputFielding() const;
OFX::Host::ImageEffect::ClipInstance* newClipInstance(OFX::Host::ImageEffect::Instance* plugin,
OFX::Host::ImageEffect::ClipDescriptor* descriptor,
int index);
virtual OfxStatus vmessage(const char* type,
const char* id,
const char* format,
va_list args);
virtual OfxStatus setPersistentMessage(const char* type,
const char* id,
const char* format,
va_list args);
virtual OfxStatus clearPersistentMessage();
virtual void getProjectSize(double& xSize, double& ySize) const;
virtual void getProjectOffset(double& xOffset, double& yOffset) const;
virtual void getProjectExtent(double& xSize, double& ySize) const;
virtual double getProjectPixelAspectRatio() const;
virtual double getEffectDuration() const;
virtual double getFrameRate() const;
virtual double getFrameRecursive() const;
virtual void getRenderScaleRecursive(double &x, double &y) const;
virtual OFX::Host::Param::Instance* newParam(const std::string& name, OFX::Host::Param::Descriptor& Descriptor);
virtual OfxStatus editBegin(const std::string& name);
virtual OfxStatus editEnd();
virtual void progressStart(const std::string &message, const std::string &messageid);
virtual void progressEnd();
virtual bool progressUpdate(double t);
virtual double timeLineGetTime();
virtual void timeLineGotoTime(double t);
virtual void timeLineGetBounds(double &t1, double &t2);
};
}
#endif