X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fmodules%2Fmod_noise%2Fnoise.cpp;h=c3e1e5ebca96317158e6b088888fb5762eaed816;hb=c00ae18e16ac5dc143fa7e02540299d30bb5cdf6;hp=c2643de3243455981f88c968645700ee1a6e31ce;hpb=16b3beced25134bef064705568ecb893a6be4e79;p=synfig.git diff --git a/synfig-core/trunk/src/modules/mod_noise/noise.cpp b/synfig-core/trunk/src/modules/mod_noise/noise.cpp index c2643de..c3e1e5e 100644 --- a/synfig-core/trunk/src/modules/mod_noise/noise.cpp +++ b/synfig-core/trunk/src/modules/mod_noise/noise.cpp @@ -1,20 +1,21 @@ -/* === S I N F G =========================================================== */ +/* === S Y N F I G ========================================================= */ /*! \file noise.cpp ** \brief blehh ** -** $Id: noise.cpp,v 1.2 2005/01/13 06:48:39 darco Exp $ +** $Id$ ** ** \legal -** Copyright (c) 2002 Robert B. Quattlebaum Jr. +** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley ** -** This software and associated documentation -** are CONFIDENTIAL and PROPRIETARY property of -** the above-mentioned copyright holder. +** This package is free software; you can redistribute it and/or +** modify it under the terms of the GNU General Public License as +** published by the Free Software Foundation; either version 2 of +** the License, or (at your option) any later version. ** -** You may not copy, print, publish, or in any -** other way distribute this software without -** a prior written agreement with -** the copyright holder. +** This package is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** General Public License for more details. ** \endlegal */ /* ========================================================================= */ @@ -30,31 +31,31 @@ #include "noise.h" -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include #endif /* === M A C R O S ========================================================= */ -using namespace sinfg; +using namespace synfig; using namespace std; using namespace etl; /* === G L O B A L S ======================================================= */ -SINFG_LAYER_INIT(Noise); -SINFG_LAYER_SET_NAME(Noise,"noise"); -SINFG_LAYER_SET_LOCAL_NAME(Noise,_("Noise Gradient")); -SINFG_LAYER_SET_CATEGORY(Noise,_("Gradients")); -SINFG_LAYER_SET_VERSION(Noise,"0.0"); -SINFG_LAYER_SET_CVS_ID(Noise,"$Id: noise.cpp,v 1.2 2005/01/13 06:48:39 darco Exp $"); +SYNFIG_LAYER_INIT(Noise); +SYNFIG_LAYER_SET_NAME(Noise,"noise"); +SYNFIG_LAYER_SET_LOCAL_NAME(Noise,_("Noise Gradient")); +SYNFIG_LAYER_SET_CATEGORY(Noise,_("Gradients")); +SYNFIG_LAYER_SET_VERSION(Noise,"0.0"); +SYNFIG_LAYER_SET_CVS_ID(Noise,"$Id$"); /* === P R O C E D U R E S ================================================= */ @@ -81,22 +82,22 @@ inline Color Noise::color_func(const Point &point, float pixel_size,Context context)const { Color ret(0,0,0,0); - + float x(point[0]/size[0]*(1<1)amount=1; - + if(super_sample&&pixel_size) { amount2=random(smooth,0+(detail-i)*5,x2,y,t)+amount2*0.5; @@ -126,19 +127,19 @@ Noise::color_func(const Point &point, float pixel_size,Context context)const x2*=0.5f; y2*=0.5f; } - + if(do_alpha) { alpha=random(smooth,3+(detail-i)*5,x,y,t)+alpha*0.5; if(alpha<-1)alpha=-1;if(alpha>1)alpha=1; } - + if(turbulent) { amount=abs(amount); alpha=abs(alpha); } - + x*=0.5f; y*=0.5f; //t*=0.5f; @@ -155,7 +156,7 @@ Noise::color_func(const Point &point, float pixel_size,Context context)const amount3=amount3/2.0f+0.5f; } } - + if(super_sample && pixel_size) ret=gradient(amount,max(amount3,max(amount,amount2))-min(amount3,min(amount,amount2))); else @@ -168,27 +169,27 @@ Noise::color_func(const Point &point, float pixel_size,Context context)const } inline float -Noise::calc_supersample(const sinfg::Point &x, float pw,float ph)const +Noise::calc_supersample(const synfig::Point &x, float pw,float ph)const { return 0.0f; } void -Noise::set_time(sinfg::Context context, sinfg::Time t)const +Noise::set_time(synfig::Context context, synfig::Time t)const { curr_time=t; context.set_time(t); } void -Noise::set_time(sinfg::Context context, sinfg::Time t, const sinfg::Point &point)const +Noise::set_time(synfig::Context context, synfig::Time t, const synfig::Point &point)const { curr_time=t; context.set_time(t,point); } -sinfg::Layer::Handle -Noise::hit_check(sinfg::Context context, const sinfg::Point &point)const +synfig::Layer::Handle +Noise::hit_check(synfig::Context context, const synfig::Point &point)const { if(get_blend_method()==Color::BLEND_STRAIGHT && get_amount()>=0.5) return const_cast(this); @@ -202,7 +203,7 @@ Noise::hit_check(sinfg::Context context, const sinfg::Point &point)const bool Noise::set_param(const String & param, const ValueBase &value) { - if(param=="seed" && value.same_as(int())) + if(param=="seed" && value.same_type_as(int())) { random.set_seed(value.get(int())); return true; @@ -215,8 +216,8 @@ Noise::set_param(const String & param, const ValueBase &value) IMPORT(gradient); IMPORT(turbulent); IMPORT(super_sample); - - return Layer_Composite::set_param(param,value); + + return Layer_Composite::set_param(param,value); } ValueBase @@ -230,20 +231,20 @@ Noise::get_param(const String & param)const EXPORT(detail); EXPORT(do_alpha); EXPORT(gradient); - EXPORT(turbulent) + EXPORT(turbulent) EXPORT(super_sample); - + EXPORT_NAME(); EXPORT_VERSION(); - - return Layer_Composite::get_param(param); + + return Layer_Composite::get_param(param); } Layer::Vocab Noise::get_param_vocab()const { Layer::Vocab ret(Layer_Composite::get_param_vocab()); - + ret.push_back(ParamDesc("gradient") .set_local_name(_("Gradient")) ); @@ -278,7 +279,7 @@ Noise::get_param_vocab()const ret.push_back(ParamDesc("super_sample") .set_local_name(_("Super Sampling")) ); - + return ret; } @@ -310,7 +311,7 @@ Noise::accelerated_render(Context context,Surface *surface,int quality, const Re return true; } - + int x,y; Surface::pen pen(surface->begin()); @@ -322,7 +323,7 @@ Noise::accelerated_render(Context context,Surface *surface,int quality, const Re float supersampleradius((abs(pw)+abs(ph))*0.5f); if(quality>=8) supersampleradius=0; - + if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT) { for(y=0,pos[1]=tl[1];y