X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=synfig-core%2Ftags%2Fstable%2Fsrc%2Fmodules%2Flyr_std%2Ftwirl.cpp;h=38d209728dfe81d8b601bbfe6c051b4d0446989d;hb=47fce282611fbba1044921d22ca887f9b53ad91a;hp=634ff4d93377c67a94b028ee132493fb603ac436;hpb=46036a57bc1ab5583c5d5c2188e8c52d7682d9d5;p=synfig.git diff --git a/synfig-core/tags/stable/src/modules/lyr_std/twirl.cpp b/synfig-core/tags/stable/src/modules/lyr_std/twirl.cpp index 634ff4d..38d2097 100644 --- a/synfig-core/tags/stable/src/modules/lyr_std/twirl.cpp +++ b/synfig-core/tags/stable/src/modules/lyr_std/twirl.cpp @@ -1,20 +1,21 @@ -/* === S I N F G =========================================================== */ -/*! \file spiralgradient.cpp -** \brief Template Header +/* === S Y N F I G ========================================================= */ +/*! \file twirl.cpp +** \brief Implementation of the "Twirl" layer ** -** $Id: twirl.cpp,v 1.1.1.1 2005/01/04 01:23:10 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 */ /* ========================================================================= */ @@ -28,15 +29,15 @@ # include #endif -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include "twirl.h" #endif @@ -45,16 +46,16 @@ using namespace etl; using namespace std; -using namespace sinfg; +using namespace synfig; /* === G L O B A L S ======================================================= */ -SINFG_LAYER_INIT(Twirl); -SINFG_LAYER_SET_NAME(Twirl,"twirl"); -SINFG_LAYER_SET_LOCAL_NAME(Twirl,_("Twirl")); -SINFG_LAYER_SET_CATEGORY(Twirl,_("Distortions")); -SINFG_LAYER_SET_VERSION(Twirl,"0.1"); -SINFG_LAYER_SET_CVS_ID(Twirl,"$Id: twirl.cpp,v 1.1.1.1 2005/01/04 01:23:10 darco Exp $"); +SYNFIG_LAYER_INIT(Twirl); +SYNFIG_LAYER_SET_NAME(Twirl,"twirl"); +SYNFIG_LAYER_SET_LOCAL_NAME(Twirl,N_("Twirl")); +SYNFIG_LAYER_SET_CATEGORY(Twirl,N_("Distortions")); +SYNFIG_LAYER_SET_VERSION(Twirl,"0.1"); +SYNFIG_LAYER_SET_CVS_ID(Twirl,"$Id$"); /* === P R O C E D U R E S ================================================= */ @@ -71,7 +72,7 @@ Twirl::Twirl(): distort_outside(false) { } - + bool Twirl::set_param(const String & param, const ValueBase &value) { @@ -80,7 +81,7 @@ Twirl::set_param(const String & param, const ValueBase &value) IMPORT(rotations); IMPORT(distort_inside); IMPORT(distort_outside); - + return Layer_Composite::set_param(param,value); } @@ -92,10 +93,10 @@ Twirl::get_param(const String ¶m)const EXPORT(rotations); EXPORT(distort_inside); EXPORT(distort_outside); - + EXPORT_NAME(); EXPORT_VERSION(); - + return false; } @@ -103,11 +104,11 @@ Layer::Vocab Twirl::get_param_vocab()const { Layer::Vocab ret; - + 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")) @@ -131,23 +132,23 @@ Twirl::get_param_vocab()const return ret; } -sinfg::Point -Twirl::distort(const sinfg::Point &pos,bool reverse)const +synfig::Point +Twirl::distort(const synfig::Point &pos,bool reverse)const { Point centered(pos-center); Real mag(centered.mag()); - + Angle a; if((distort_inside || mag>radius) && (distort_outside || mag layer; public: Twirl_Trans(const Twirl* x):Transform(x->get_guid()),layer(x) { } - - sinfg::Vector perform(const sinfg::Vector& x)const + + synfig::Vector perform(const synfig::Vector& x)const { return layer->distort(x,true); } - - sinfg::Vector unperform(const sinfg::Vector& x)const + + synfig::Vector unperform(const synfig::Vector& x)const { return layer->distort(x,false); } @@ -208,7 +209,7 @@ Twirl::accelerated_render(Context context,Surface *surface,int quality, const Re return true; } - + int x,y; Surface::pen pen(surface->begin()); @@ -217,7 +218,7 @@ Twirl::accelerated_render(Context context,Surface *surface,int quality, const Re 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