Author: Carlos Lopez <genet...@gmail.com> Date: Mon Apr 8 21:19:43 2013 +0200
Noise: add new member get_cairocolor to make possible render it in Cairo. --- synfig-core/src/modules/mod_noise/noise.cpp | 11 +++++++++++ synfig-core/src/modules/mod_noise/noise.h | 1 + 2 files changed, 12 insertions(+), 0 deletions(-) diff --git a/synfig-core/src/modules/mod_noise/noise.cpp b/synfig-core/src/modules/mod_noise/noise.cpp index 0ad5648..5985c04 100644 --- a/synfig-core/src/modules/mod_noise/noise.cpp +++ b/synfig-core/src/modules/mod_noise/noise.cpp @@ -312,6 +312,17 @@ Noise::get_color(Context context, const Point &point)const return Color::blend(color,context.get_color(point),get_amount(),get_blend_method()); } +CairoColor +Noise::get_cairocolor(Context context, const Point &point)const +{ + const CairoColor color(color_func(point,0,context)); + + if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT) + return color; + else + return CairoColor::blend(color,context.get_cairocolor(point),get_amount(),get_blend_method()); +} + bool Noise::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const { diff --git a/synfig-core/src/modules/mod_noise/noise.h b/synfig-core/src/modules/mod_noise/noise.h index 1ea78d6..070c4a0 100644 --- a/synfig-core/src/modules/mod_noise/noise.h +++ b/synfig-core/src/modules/mod_noise/noise.h @@ -75,6 +75,7 @@ public: virtual bool set_param(const synfig::String ¶m, const synfig::ValueBase &value); virtual synfig::ValueBase get_param(const synfig::String ¶m)const; virtual synfig::Color get_color(synfig::Context context, const synfig::Point &pos)const; + virtual synfig::CairoColor get_cairocolor(synfig::Context context, const synfig::Point &pos)const; virtual bool accelerated_render(synfig::Context context,synfig::Surface *surface,int quality, const synfig::RendDesc &renddesc, synfig::ProgressCallback *cb)const; synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const; virtual void set_time(synfig::Context context, synfig::Time time)const; ------------------------------------------------------------------------------ Minimize network downtime and maximize team effectiveness. Reduce network management and security costs.Learn how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal http://www.cisco.com/web/learning/employer_resources/index.html _______________________________________________ Synfig-devl mailing list Synfig-devl@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synfig-devl