X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Ftransform.cpp;h=2e9de68e87daa25fa3c7216df15466a55b06ccd9;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=17826f4358660f42a7421a1078ee763f8d3da0db;hpb=e3acc0b267b14fda5db3c7bbb2f218b993ef84b3;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/transform.cpp b/synfig-core/trunk/src/synfig/transform.cpp index 17826f4..2e9de68 100644 --- a/synfig-core/trunk/src/synfig/transform.cpp +++ b/synfig-core/trunk/src/synfig/transform.cpp @@ -1,20 +1,21 @@ -/* === S I N F G =========================================================== */ -/*! \file template.cpp +/* === S Y N F I G ========================================================= */ +/*! \file transform.cpp ** \brief Template File ** -** $Id: transform.cpp,v 1.2 2005/01/24 05:00:18 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 */ /* ========================================================================= */ @@ -37,7 +38,7 @@ using namespace std; using namespace etl; -using namespace sinfg; +using namespace synfig; /* === M A C R O S ========================================================= */ @@ -47,40 +48,40 @@ using namespace sinfg; /* === M E T H O D S ======================================================= */ -sinfg::GUID +synfig::GUID TransformStack::get_guid()const { GUID ret(0); - + for(const_iterator iter(begin());iter!=end();++iter) ret%=(*iter)->get_guid(); return ret; } -sinfg::Vector -TransformStack::perform(const sinfg::Vector& x)const +synfig::Vector +TransformStack::perform(const synfig::Vector& x)const { - sinfg::Vector ret(x); - + synfig::Vector ret(x); + for(const_reverse_iterator iter(rbegin());iter!=rend();++iter) ret=(*iter)->perform(ret); - + return ret; } -sinfg::Vector -TransformStack::unperform(const sinfg::Vector& x)const +synfig::Vector +TransformStack::unperform(const synfig::Vector& x)const { - sinfg::Vector ret(x); - + synfig::Vector ret(x); + for(const_iterator iter(begin());iter!=end();++iter) ret=(*iter)->unperform(ret); - + return ret; } -sinfg::Rect -TransformStack::perform(const sinfg::Rect& x)const +synfig::Rect +TransformStack::perform(const synfig::Rect& x)const { Point min(x.get_min()); Point max(x.get_max()); @@ -94,8 +95,8 @@ TransformStack::perform(const sinfg::Rect& x)const return ret; } -sinfg::Rect -TransformStack::unperform(const sinfg::Rect& x)const +synfig::Rect +TransformStack::unperform(const synfig::Rect& x)const { Point min(x.get_min()); Point max(x.get_max()); @@ -109,8 +110,8 @@ TransformStack::unperform(const sinfg::Rect& x)const return ret; } -sinfg::Rect -Transform::perform(const sinfg::Rect& x)const +synfig::Rect +Transform::perform(const synfig::Rect& x)const { if(x.area()>1000000000000.0) return Rect::full_plane(); @@ -128,15 +129,15 @@ Transform::perform(const sinfg::Rect& x)const return ret; } -sinfg::Rect -Transform::unperform(const sinfg::Rect& x)const +synfig::Rect +Transform::unperform(const synfig::Rect& x)const { if(x.area()>1000000000000.0) return Rect::full_plane(); Point min(x.get_min()); Point max(x.get_max()); - + Rect ret(unperform(min),unperform(max)); std::swap(min[1],max[1]);