Allow motion blur layer to have static parameters
[synfig.git] / synfig-core / src / synfig / layer_motionblur.h
index b476f59..43d946b 100644 (file)
@@ -39,14 +39,35 @@ class Layer_MotionBlur : public synfig::Layer_Composite
 {
        SYNFIG_LAYER_MODULE_EXT
 
+       enum SubsamplingType
+       {
+           SUBSAMPLING_CONSTANT=0,             //!< weight each subsample equally
+           SUBSAMPLING_LINEAR=1,               //!< fade in subsamples linearly
+           SUBSAMPLING_HYPERBOLIC=2,   //!< fade in subsamples by a hyperbolic curve (default style of 0.62 and previous)
+
+           SUBSAMPLING_END=2                           //!< \internal
+       };
+
 private:
        Time aperture;
+       Real subsamples_factor;
+       SubsamplingType subsampling_type;
+       Real subsample_start;
+       Real subsample_end;
        mutable Time time_cur;
 
+       bool aperture_static;
+       bool subsamples_factor_static;
+       bool subsampling_type_static;
+       bool subsample_start_static;
+       bool subsample_end_static;
+
 public:
        Layer_MotionBlur();
        virtual bool set_param(const String & param, const synfig::ValueBase &value);
        virtual ValueBase get_param(const String & param)const;
+       virtual bool set_param_static(const String &param, const bool x);
+       virtual bool get_param_static(const String &param) const;
        virtual Color get_color(Context context, const Point &pos)const;
        virtual void set_time(Context context, Time time)const;
        virtual void set_time(Context context, Time time, const Point &point)const;