| |
| |
| #ifndef TFXDEF_INCLUDED |
| #define TFXDEF_INCLUDED |
| |
| #include "traster.h" |
| |
| #undef DVAPI |
| #undef DVVAR |
| #ifdef TNZCORE_DLL |
| #define DVAPI DV_EXPORT_API |
| #define DVVAR DV_EXPORT_VAR |
| #else |
| #define DVAPI DV_IMPORT_API |
| #define DVVAR DV_IMPORT_VAR |
| #endif |
| |
| |
| |
| class TRasterFx; |
| class TRasterFxPort; |
| class ITFxNode; |
| class TParam; |
| |
| |
| |
| |
| |
| |
| class DVAPI ITFxArguments |
| { |
| public: |
| ITFxArguments(){}; |
| virtual ~ITFxArguments(){}; |
| |
| virtual void add(TParam *) = 0; |
| virtual void add(TRasterFxPort *) = 0; |
| }; |
| |
| |
| |
| |
| |
| |
| class DVAPI TRasterFxPort |
| { |
| TRasterFx *m_fx; |
| string m_name; |
| |
| public: |
| TRasterFxPort(ITFxArguments *args, string name) |
| : m_name(name), m_fx(0) { args->add(this); }; |
| ~TRasterFxPort(){}; |
| |
| string getName() const { return m_name; }; |
| TRasterFx *operator->() const |
| { |
| assert(m_fx != 0); |
| return m_fx; |
| }; |
| bool isConnected() const { return m_fx != 0; }; |
| |
| void setRasterFx(TRasterFx *fx) { m_fx = fx; }; |
| |
| private: |
| |
| TRasterFxPort(const TRasterFxPort &); |
| TRasterFxPort &operator=(const TRasterFxPort &); |
| }; |
| |
| |
| |
| |
| |
| |
| class DVAPI TRasterFx |
| { |
| public: |
| TRasterFx(){}; |
| virtual ~TRasterFx(){}; |
| |
| virtual bool getBBox( |
| double frame, |
| TRectD &bBox, |
| TPixel32 &bgColor) = 0; |
| |
| virtual string getName() const = 0; |
| |
| virtual TRect getInvalidRect(const TRect &max) = 0; |
| |
| virtual void compute( |
| double frame, |
| const TTile &tile) = 0; |
| |
| virtual void allocateAndCompute( |
| double frame, |
| const TDimension size, const TPointD &pos, |
| TTile &tile); |
| |
| private: |
| TRasterFx(const TRasterFx &); |
| TRasterFx &operator=(const TRasterFx &); |
| }; |
| |
| |
| |
| #endif |
| |