Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #pragma once
00016
00017 #include "iFnPub.h"
00018 #include "iparamb2.h"
00019
00020
00021 class Bitmap;
00022 class CheckAbortCallback;
00023
00024
00025 #define MBLUR_CLASS_ID Class_ID(0x86c92d3, 0x601af384)
00026
00027
00028 #define IMB_INTERFACE Interface_ID(0x2A3764C1,0x9C96F51)
00029
00030
00031 #define GET_MBLUR_CD (ClassDesc2*)GetCOREInterface()->GetDllDir().ClassDir().FindClass(RENDER_EFFECT_CLASS_ID, MBLUR_CLASS_ID)
00032
00033
00034 #define GetIMBInterface(cd) (IMBOps *)(cd)->GetInterface(IMB_INTERFACE)
00035
00036
00037 #define IMB_TRANSP 1 // controls whether motion blur works through transparency. Setting it to 0 saves memory, runs faster.
00038
00040
00051 class IMBOps: public FPStaticInterface {
00052 public:
00060 virtual ULONG ChannelsRequired(ULONG flags=0)=0;
00079 virtual int ApplyMotionBlur(Bitmap *bm, CheckAbortCallback *progCallback=NULL,
00080 float duration=1.0f, ULONG flags=IMB_TRANSP, Bitmap *extraBM=NULL)=0;
00081 };
00082
00083
00084