00001
00018 #ifndef INC_SPATMOD_IMAGEFILTERGENERAL_H
00019 #define INC_SPATMOD_IMAGEFILTERGENERAL_H
00020
00021 #ifndef INC_SPATMOD_IMAGEFILTER_H
00022 #include <spatmod/imagefilter.h>
00023 #endif
00024
00025 namespace SPATMOD {
00026 namespace IMAGE {
00027
00028 class BUFFER;
00029 class SAMPLEITERATOR;
00030
00031
00032
00036 class FILTER_GENERAL_CHGPROP : public FILTER {
00037 public:
00038
00040 typedef FastDelegate<bool(const SAMPLEITERATOR *itTgt, const SAMPLEITERATOR *itSrc, bool valid)> DELEGATE;
00041
00043 typedef FastDelegate<bool(INT32 row, INT32 col, const SAMPLEITERATOR *itTgt, const SAMPLEITERATOR *itSrc, bool valid)> DELEGATE_RC;
00044
00049 FILTER_GENERAL_CHGPROP (
00050 STAGE *pPreviousStage,
00051 bool TakeOwnership,
00052 const PIXEL& PixelProperties,
00053 DELEGATE delegate
00054 );
00055
00062 FILTER_GENERAL_CHGPROP (
00063 STAGE *pPreviousStage,
00064 bool TakeOwnership,
00065 const PIXEL& PixelProperties,
00066 DELEGATE_RC delegate
00067 );
00068
00069
00070 virtual ~FILTER_GENERAL_CHGPROP ();
00071
00072 private:
00073 #ifndef GENERATING_DOXYGEN_OUTPUT
00074
00075 DELEGATE m_Delegate;
00076 DELEGATE_RC m_DelegateRC;
00077
00078
00079 virtual ERRVALUE v_Initialize ();
00080 virtual ERRVALUE v_PullSubSection (const SECTION& SubSection, BUFFER& buffer);
00081
00082
00083 FILTER_GENERAL_CHGPROP (const FILTER_GENERAL_CHGPROP&);
00084 FILTER_GENERAL_CHGPROP& operator= (const FILTER_GENERAL_CHGPROP&);
00085 #endif // GENERATING_DOXYGEN_OUTPUT
00086
00087 };
00088
00089
00090
00094 class FILTER_GENERAL_INPLACE : public FILTER {
00095 public:
00096
00098 typedef FastDelegate<bool(const SAMPLEITERATOR *it, bool valid)> DELEGATE;
00099
00101 typedef FastDelegate<bool(INT32 row, INT32 col, const SAMPLEITERATOR *it, bool valid)> DELEGATE_RC;
00102
00107 FILTER_GENERAL_INPLACE (
00108 STAGE *pPreviousStage,
00109 bool TakeOwnership,
00110 DELEGATE delegate
00111 );
00112
00119 FILTER_GENERAL_INPLACE (
00120 STAGE *pPreviousStage,
00121 bool TakeOwnership,
00122 DELEGATE_RC delegate
00123 );
00124
00125
00126 virtual ~FILTER_GENERAL_INPLACE ();
00127
00128 private:
00129 #ifndef GENERATING_DOXYGEN_OUTPUT
00130
00131 DELEGATE m_Delegate;
00132 DELEGATE_RC m_DelegateRC;
00133
00134
00135 virtual ERRVALUE v_Initialize ();
00136 virtual ERRVALUE v_PullSubSection (const SECTION& SubSection, BUFFER& buffer);
00137
00138
00139 FILTER_GENERAL_INPLACE (const FILTER_GENERAL_INPLACE&);
00140 FILTER_GENERAL_INPLACE& operator= (const FILTER_GENERAL_INPLACE&);
00141 #endif // GENERATING_DOXYGEN_OUTPUT
00142
00143 };
00144
00145
00146
00147 }
00148 }
00149
00150 #endif // INC_SPATMOD_IMAGEFILTERGENERAL_H
00151