X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Fvaluenode_bline.h;h=4599d26ff082a19121f68b6d55b35718cfdab578;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=b88ba866fcb5247f4b4bbddf8a96b53151862b73;hpb=e3acc0b267b14fda5db3c7bbb2f218b993ef84b3;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/valuenode_bline.h b/synfig-core/trunk/src/synfig/valuenode_bline.h index b88ba86..4599d26 100644 --- a/synfig-core/trunk/src/synfig/valuenode_bline.h +++ b/synfig-core/trunk/src/synfig/valuenode_bline.h @@ -1,28 +1,30 @@ -/* === S I N F G =========================================================== */ +/* === S Y N F I G ========================================================= */ /*! \file valuenode_bline.h -** \brief Template Header +** \brief Header file for implementation of the "BLine" valuenode conversion. ** -** $Id: valuenode_bline.h,v 1.1.1.1 2005/01/04 01:23:15 darco Exp $ +** $Id$ ** ** \legal -** Copyright (c) 2002 Robert B. Quattlebaum Jr. +** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2008 Chris Moore ** -** 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 */ /* ========================================================================= */ /* === S T A R T =========================================================== */ -#ifndef __SINFG_VALUENODE_BLINE_H -#define __SINFG_VALUENODE_BLINE_H +#ifndef __SYNFIG_VALUENODE_BLINE_H +#define __SYNFIG_VALUENODE_BLINE_H /* === H E A D E R S ======================================================= */ @@ -39,7 +41,7 @@ /* === C L A S S E S & S T R U C T S ======================================= */ -namespace sinfg { +namespace synfig { //! Converts a list of bline points into a list of segments @@ -47,7 +49,10 @@ ValueBase convert_bline_to_segment_list(const ValueBase &bline); //! Converts a list of bline points into a list of widths ValueBase convert_bline_to_width_list(const ValueBase &bline); - + +//! Finds the closest point to pos in bline +Real find_closest_point(const ValueBase &bline, const Point &pos, Real &radius, bool loop, Point *out_point = 0); + /*! \class ValueNode_BLine ** \brief \writeme */ @@ -57,14 +62,14 @@ public: typedef etl::handle Handle; typedef etl::handle ConstHandle; - + ValueNode_BLine(); public: - - + + virtual ValueBase operator()(Time t)const; virtual ~ValueNode_BLine(); @@ -74,23 +79,21 @@ public: virtual String get_name()const; virtual String get_local_name()const; - virtual ValueNode* clone(const GUID& deriv_guid=GUID())const; - virtual ListEntry create_list_entry(int index, Time time=0, Real origin=0.5); protected: - + LinkableValueNode* create_new()const; public: - //using sinfg::LinkableValueNode::set_link_vfunc; + //using synfig::LinkableValueNode::set_link_vfunc; static bool check_type(ValueBase::Type type); static ValueNode_BLine* create(const ValueBase &x=ValueBase::TYPE_LIST); }; // END of class ValueNode_BLine typedef ValueNode_BLine::ListEntry::ActivepointList ActivepointList; -}; // END of namespace sinfg +}; // END of namespace synfig /* === E N D =============================================================== */