X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fmodules%2Fmod_gradient%2Fradialgradient.cpp;h=f4fe9402fffb1c99b758a99fa164ab2352c6d71d;hb=6e6b8ce1d75be6a6b99d2cc955faeeea80d62c26;hp=a4451cd5f59617da71b27e9b75b6f049a7492549;hpb=28f28705612902c15cd0702cc891fba35bf2d2df;p=synfig.git diff --git a/synfig-core/trunk/src/modules/mod_gradient/radialgradient.cpp b/synfig-core/trunk/src/modules/mod_gradient/radialgradient.cpp index a4451cd..f4fe940 100644 --- a/synfig-core/trunk/src/modules/mod_gradient/radialgradient.cpp +++ b/synfig-core/trunk/src/modules/mod_gradient/radialgradient.cpp @@ -5,16 +5,17 @@ ** $Id: radialgradient.cpp,v 1.1.1.1 2005/01/04 01:23:10 darco Exp $ ** ** \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 */ /* ========================================================================= */ @@ -71,7 +72,7 @@ RadialGradient::RadialGradient(): zigzag(false) { } - + bool RadialGradient::set_param(const String & param, const ValueBase &value) { @@ -80,7 +81,7 @@ RadialGradient::set_param(const String & param, const ValueBase &value) IMPORT(radius); IMPORT(loop); IMPORT(zigzag); - + return Layer_Composite::set_param(param,value); } @@ -92,18 +93,18 @@ RadialGradient::get_param(const String ¶m)const EXPORT(radius); EXPORT(loop); EXPORT(zigzag); - + EXPORT_NAME(); EXPORT_VERSION(); - - return Layer_Composite::get_param(param); + + return Layer_Composite::get_param(param); } Layer::Vocab RadialGradient::get_param_vocab()const { Layer::Vocab ret(Layer_Composite::get_param_vocab()); - + ret.push_back(ParamDesc("gradient") .set_local_name(_("Gradient")) ); @@ -111,7 +112,7 @@ RadialGradient::get_param_vocab()const ret.push_back(ParamDesc("center") .set_local_name(_("Center")) ); - + ret.push_back(ParamDesc("radius") .set_local_name(_("Radius")) .set_description(_("This is the radius of the circle")) @@ -126,7 +127,7 @@ RadialGradient::get_param_vocab()const ret.push_back(ParamDesc("zigzag") .set_local_name(_("Zig-Zag")) ); - + return ret; } @@ -134,7 +135,7 @@ inline Color RadialGradient::color_func(const Point &point, float supersample)const { Real dist((point-center).mag()/radius); - + if(zigzag) { dist*=2.0; @@ -159,7 +160,7 @@ RadialGradient::color_func(const Point &point, float supersample)const return pool.demult_alpha(); } } - + return gradient(dist,supersample); } @@ -193,7 +194,7 @@ RadialGradient::get_color(Context context, const Point &pos)const else return Color::blend(color,context.get_color(pos),get_amount(),get_blend_method()); } - + bool RadialGradient::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const { @@ -211,7 +212,7 @@ RadialGradient::accelerated_render(Context context,Surface *surface,int quality, return true; } - + int x,y; Surface::pen pen(surface->begin()); @@ -220,7 +221,7 @@ RadialGradient::accelerated_render(Context context,Surface *surface,int quality, Point tl(renddesc.get_tl()); const int w(surface->get_w()); const int h(surface->get_h()); - + if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT) { for(y=0,pos[1]=tl[1];y