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