Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

ofxsImageEffect.h File Reference

#include <map>
#include <string>
#include <sstream>
#include "ofxsParam.h"
#include "ofxsInteract.h"
#include "ofxsMessage.h"
#include "ofxProgress.h"
#include "ofxTimeLine.h"

Go to the source code of this file.

Namespaces

namespace  OFX
namespace  OFX::Private
namespace  OFX::Plugin

Classes

class  OFX::PluginFactory
class  OFX::FactoryMainEntryHelper< FACTORY >
class  OFX::PluginFactoryHelper< FACTORY >
struct  OFX::ImageEffectHostDescription
 A class that lists all the properties of a host. More...
class  OFX::ClipDescriptor
 Wraps up a clip. More...
class  OFX::ImageEffectDescriptor
 Wraps up an effect descriptor, used in the describe actions. More...
class  OFX::Image
 Wraps up an image. More...
class  OFX::Clip
 Wraps up a clip instance. More...
class  OFX::ImageMemory
 Class that skins image memory allocation. More...
struct  OFX::RenderArguments
 POD struct to pass rendering arguments into ImageEffect::render and OFX::ImageEffect::isIdentity. More...
struct  OFX::BeginSequenceRenderArguments
 POD struct to pass arguments into OFX::ImageEffect::render. More...
struct  OFX::EndSequenceRenderArguments
 POD struct to pass arguments into OFX::ImageEffect::beginSequenceRender. More...
struct  OFX::RegionOfDefinitionArguments
 POD struct to pass arguments into OFX::ImageEffect::getRegionOfDefinition. More...
struct  OFX::RegionsOfInterestArguments
 POD struct to pass arguments into OFX::ImageEffect::getRegionsOfInterest. More...
class  OFX::RegionOfInterestSetter
 Class used to set regions of interest on a clip in OFX::ImageEffect::getRegionsOfInterest. More...
struct  OFX::FramesNeededArguments
 POD struct to pass arguments into OFX::ImageEffect::getFramesNeeded. More...
class  OFX::FramesNeededSetter
 Class used to set the frames needed to render a single frame of a clip in OFX::ImageEffect::getFramesNeeded. More...
class  OFX::ClipPreferencesSetter
 Class used to set the clip preferences of the effect. More...
struct  OFX::InstanceChangedArgs
 POD data structure passing in the instance changed args. More...
class  OFX::ImageEffect
 Wraps up an effect instance, plugin implementations need to inherit from this. More...

Defines

#define mDeclareProtectedAssignAndCC(CLASS)
 Nasty macro used to define empty protected copy ctors and assign ops.
#define mDeclarePluginFactory(CLASS, LOADFUNCDEF, UNLOADFUNCDEF)

Typedefs

typedef std::vector< PluginFactory * > PluginFactoryArray

Enumerations

enum  ContextEnum {
  eContextNone, eContextGenerator, eContextFilter, eContextTransition,
  eContextPaint, eContextGeneral, eContextRetimer
}
 Enumerates the contexts a plugin can be used in. More...
enum  BitDepthEnum {
  eBitDepthNone, eBitDepthUByte, eBitDepthUShort, eBitDepthFloat,
  eBitDepthCustom
}
 Enumerates the pixel depths supported. More...
enum  PixelComponentEnum { ePixelComponentNone, ePixelComponentRGBA, ePixelComponentAlpha, ePixelComponentCustom }
 Enumerates the component types supported. More...
enum  FieldExtractionEnum { eFieldExtractBoth, eFieldExtractSingle, eFieldExtractDoubled }
 Enumerates the ways a fielded image can be extracted from a clip. More...
enum  RenderSafetyEnum { eRenderUnsafe, eRenderInstanceSafe, eRenderFullySafe }
 Enumerates the kind of render thread safety a plugin has. More...
enum  FieldEnum { eFieldNone, eFieldBoth, eFieldLower, eFieldUpper }
 Enumerates the fields present in an image. More...
enum  PreMultiplicationEnum { eImageOpaque, eImagePreMultiplied, eImageUnPreMultiplied }

Functions

OfxStatus mainEntryStr (const char *actionRaw, const void *handleRaw, OfxPropertySetHandle inArgsRaw, OfxPropertySetHandle outArgsRaw, const char *plugname)
 The main entry point for the plugin.
void * fetchSuite (char *suiteName, int suiteVersion, bool optional=false)
 Fetch's a suite from the host and logs errors.
ImageEffectHostDescription * getImageEffectHostDescription ()
 retrieve the host description
void getPluginID (OFX::PluginFactoryArray &id)
 Plugin side function used to identify the plugin to the support library.


Define Documentation

#define mDeclarePluginFactory CLASS,
LOADFUNCDEF,
UNLOADFUNCDEF   ) 
 

Value:

class CLASS : public OFX::PluginFactoryHelper<CLASS> \
  { \
  public: \
  CLASS(const std::string& id, unsigned int verMaj, unsigned int verMin):OFX::PluginFactoryHelper<CLASS>(id, verMaj, verMin){} \
  virtual void load() LOADFUNCDEF ;\
  virtual void unload() UNLOADFUNCDEF ;\
  virtual void describe(OFX::ImageEffectDescriptor &desc); \
  virtual void describeInContext(OFX::ImageEffectDescriptor &desc, OFX::ContextEnum context); \
  virtual OFX::ImageEffect* createInstance(OfxImageEffectHandle handle, OFX::ContextEnum context); \
  };

#define mDeclareProtectedAssignAndCC CLASS   ) 
 

Value:

CLASS &operator=(const CLASS &v1) {assert(false); return *this;}        \
  CLASS(const CLASS &v) {assert(false); }
Nasty macro used to define empty protected copy ctors and assign ops.


Typedef Documentation

typedef std::vector<PluginFactory*> OFX::PluginFactoryArray
 


Enumeration Type Documentation

enum BitDepthEnum
 

Enumerates the pixel depths supported.

Enumeration values:
eBitDepthNone  bit depth that indicates no data is present
eBitDepthUByte 
eBitDepthUShort 
eBitDepthFloat 
eBitDepthCustom  some non standard bit depth

enum ContextEnum
 

Enumerates the contexts a plugin can be used in.

Enumeration values:
eContextNone 
eContextGenerator 
eContextFilter 
eContextTransition 
eContextPaint 
eContextGeneral 
eContextRetimer 

enum FieldEnum
 

Enumerates the fields present in an image.

Enumeration values:
eFieldNone  unfielded image
eFieldBoth  fielded image with both fields present
eFieldLower  only the spatially lower field is present
eFieldUpper  only the spatially upper field is present

enum FieldExtractionEnum
 

Enumerates the ways a fielded image can be extracted from a clip.

Enumeration values:
eFieldExtractBoth  extract both fields
eFieldExtractSingle  extracts a single field, so you have a half height image
eFieldExtractDoubled  extracts a single field, but doubles up the field, so you have a full height image

enum PixelComponentEnum
 

Enumerates the component types supported.

Enumeration values:
ePixelComponentNone 
ePixelComponentRGBA 
ePixelComponentAlpha 
ePixelComponentCustom  some non standard pixel type

enum PreMultiplicationEnum
 

Enumeration values:
eImageOpaque  the image is opaque and so has no premultiplication state
eImagePreMultiplied  the image is premultiplied by it's alpha
eImageUnPreMultiplied  the image is unpremultiplied

enum RenderSafetyEnum
 

Enumerates the kind of render thread safety a plugin has.

Enumeration values:
eRenderUnsafe  can only render a single instance at any one time
eRenderInstanceSafe  can call a single render on an instance, but can render multiple instances simultaneously
eRenderFullySafe  can call render any number of times on an instance, and render multiple instances simultaneously


Function Documentation

void * OFX::fetchSuite char *  suiteName,
int  suiteVersion,
bool  optional = false
 

Fetch's a suite from the host and logs errors.

All the standard suites are fetched by the support code, you should use this to fetch any extra non-standard suites.

ImageEffectHostDescription * OFX::getImageEffectHostDescription  ) 
 

retrieve the host description

void getPluginID OFX::PluginFactoryArray id  ) 
 

Plugin side function used to identify the plugin to the support library.

OfxStatus OFX::Private::mainEntryStr const char *  actionRaw,
const void *  handleRaw,
OfxPropertySetHandle  inArgsRaw,
OfxPropertySetHandle  outArgsRaw,
const char *  plugname
 

The main entry point for the plugin.


Generated on Thu Oct 9 13:03:49 2008 for OFX Support by  doxygen 1.3.9.1