00001 /* === S Y N F I G ========================================================= */ 00022 /* ========================================================================= */ 00023 00024 /* === S T A R T =========================================================== */ 00025 00026 #ifndef __SYNFIG_LAYER_MOTIONBLUR_H__ 00027 #define __SYNFIG_LAYER_MOTIONBLUR_H__ 00028 00029 /* === H E A D E R S ======================================================= */ 00030 00031 #include "layer_composite.h" 00032 #include "time.h" 00033 00034 /* === S T R U C T S & C L A S S E S ======================================= */ 00035 00036 namespace synfig { 00037 00038 class Layer_MotionBlur : public synfig::Layer_Composite 00039 { 00040 SYNFIG_LAYER_MODULE_EXT 00041 00042 private: 00043 Time aperture; 00044 mutable Time time_cur; 00045 00046 public: 00047 Layer_MotionBlur(); 00048 virtual bool set_param(const String & param, const synfig::ValueBase &value); 00049 virtual ValueBase get_param(const String & param)const; 00050 virtual Color get_color(Context context, const Point &pos)const; 00051 virtual void set_time(Context context, Time time)const; 00052 virtual void set_time(Context context, Time time, const Point &point)const; 00053 virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const; 00054 virtual Vocab get_param_vocab()const; 00055 virtual bool reads_context()const { return true; } 00056 }; // END of class Layer_MotionBlur 00057 00058 }; // END of namespace synfig 00059 00060 /* === E N D =============================================================== */ 00061 00062 #endif