00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HxImgFtorBpo_h
00012 #define HxImgFtorBpo_h
00013
00014 #include "HxSizes.h"
00015 #include "HxImgFtorBpoKey.h"
00016 #include "HxImgFtorI3Cast.h"
00017
00018 #include "HxTagList.h"
00019
00020
00023 template <class DstImgSigT, class Src1ImgSigT, class Src2ImgSigT, class BpoT>
00024 class L_HXIMAGEREP HxImgFtorBpo
00025 : public HxImgFtorI3Cast<DstImgSigT, Src1ImgSigT, Src2ImgSigT>
00026 {
00027 public:
00028
00030 typedef HxImgFtorBpoKey KeyType;
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 enum RuleType { Src1IsKey, ArgsAreKey };
00043
00045 HxImgFtorBpo(RuleType ruleType = Src1IsKey);
00046
00048 virtual ~HxImgFtorBpo();
00049
00050 protected:
00052 virtual void doIt(DstDataPtrType dstPtr, Src1DataPtrType src1Ptr,
00053 Src2DataPtrType src2Ptr, HxSizes dstSize,
00054 HxSizes src1Size, HxSizes src2Size,
00055 HxTagList &tags, HxImgFtorDescription* = 0);
00056
00057 private:
00058 HxImgFtorBpo(const HxImgFtorBpo&);
00059 };
00060
00061 #ifdef INC_TEMPLATE_SRC
00062 #include "HxImgFtorBpo.c"
00063 #endif
00064
00065 #endif