TuttleOFX
1
|
00001 #ifndef _TUTTLE_HOST_OFX_ATTRIBUTE_CLIPIMAGEACCESSOR_HPP_ 00002 #define _TUTTLE_HOST_OFX_ATTRIBUTE_CLIPIMAGEACCESSOR_HPP_ 00003 00004 #include "OfxhClipAccessor.hpp" 00005 00006 namespace tuttle { 00007 namespace host { 00008 namespace ofx { 00009 namespace attribute { 00010 00011 /** 00012 * Base to both descriptor and instance it 00013 * is used to basically fetch common properties 00014 * by function name 00015 */ 00016 class OfxhClipImageAccessor : virtual public attribute::OfxhClipAccessor 00017 { 00018 public: 00019 /// @brief base ctor, for a descriptor 00020 OfxhClipImageAccessor(); 00021 00022 virtual ~OfxhClipImageAccessor() = 0; 00023 00024 /// @return a std::vector of supported comp 00025 const std::vector<std::string>& getSupportedComponents() const; 00026 00027 /// @brief is the given component supported 00028 bool isSupportedComponent( const std::string& comp ) const; 00029 00030 /// @brief does the clip do random temporal access 00031 bool temporalAccess() const; 00032 00033 /// @brief is the clip a nominal 'mask' clip 00034 bool isMask() const; 00035 00036 /// @brief how does this clip like fielded images to be presented to it 00037 const std::string& getFieldExtraction() const; 00038 00039 /// @brief is the clip a nominal 'mask' clip 00040 bool supportsTiles() const; 00041 00042 /// get a handle on the clip descriptor/instance for the C api 00043 virtual OfxImageClipHandle getOfxImageClipHandle() const = 0; 00044 00045 }; 00046 00047 } 00048 } 00049 } 00050 } 00051 00052 #endif 00053