diff --git a/synfig-core/src/synfig/layers/layer_solidcolor.cpp b/synfig-core/src/synfig/layers/layer_solidcolor.cpp index 20a1bf5..a8fe4b7 100644 --- a/synfig-core/src/synfig/layers/layer_solidcolor.cpp +++ b/synfig-core/src/synfig/layers/layer_solidcolor.cpp @@ -45,6 +45,8 @@ #include #include +#include + #endif /* === U S I N G =========================================================== */ @@ -240,3 +242,11 @@ Layer_SolidColor::accelerated_cairorender(Context context, cairo_t *cr, int qual } ////// + +rendering::Task::Handle +Layer_SolidColor::build_composite_task_vfunc(ContextParams /*context_params*/)const +{ + rendering::TaskPixelColorMatrix::Handle task(new rendering::TaskPixelColorMatrix()); + task->matrix.set_constant( param_color.get(Color()) ); + return task; +} diff --git a/synfig-core/src/synfig/layers/layer_solidcolor.h b/synfig-core/src/synfig/layers/layer_solidcolor.h index c1ffea8..c8a4cea 100644 --- a/synfig-core/src/synfig/layers/layer_solidcolor.h +++ b/synfig-core/src/synfig/layers/layer_solidcolor.h @@ -44,12 +44,10 @@ class Layer_SolidColor : public Layer_Composite, public Layer_NoDeform SYNFIG_LAYER_MODULE_EXT private: - //!Parameter: (Color) color of the solid ValueBase param_color; public: - Layer_SolidColor(); virtual bool set_param(const String & param, const synfig::ValueBase &value); @@ -64,6 +62,8 @@ public: virtual synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const; +protected: + virtual rendering::Task::Handle build_composite_task_vfunc(ContextParams context_params)const; }; // END of class Layer_SolidColor }; // END of namespace synfig