Added copyright lines for files I've edited this year.
[synfig.git] / synfig-core / trunk / src / synfig / node.cpp
index b809e75..083afe7 100644 (file)
@@ -2,27 +2,27 @@
 /*!    \file node.cpp
 **     \brief Template File
 **
-**     $Id: node.cpp,v 1.5 2005/01/07 03:29:12 darco Exp $
+**     $Id$
 **
 **     \legal
-**     Copyright (c) 2002 Robert B. Quattlebaum Jr.
+**     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**     Copyright (c) 2007, 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
 */
 /* ========================================================================= */
 
 /* === H E A D E R S ======================================================= */
 
-#define HASH_MAP_H <ext/hash_map>
-
 #ifdef USING_PCH
 #      include "pch.h"
 #else
 #endif
 
 #include "node.h"
-#include "proto/nodebase.h"
+#include "nodebase.h"
 
 #ifdef HASH_MAP_H
 #include HASH_MAP_H
-using namespace __gnu_cxx;
 #else
 #include <map>
 #endif
@@ -82,7 +81,7 @@ extern clock_t _clock();
 /* === G L O B A L S ======================================================= */
 
 #ifdef HASH_MAP_H
-typedef hash_map<GUID,Node*,GUIDHash> GlobalNodeMap;
+typedef HASH_MAP_CLASS<GUID,Node*,GUIDHash> GlobalNodeMap;
 #else
 typedef map<GUID,Node*> GlobalNodeMap;
 #endif
@@ -117,22 +116,30 @@ refresh_node(synfig::Node* node, GUID old_guid)
 
 /* === M E T H O D S ======================================================= */
 
+#ifdef _DEBUG
+const char *
+TimePoint::c_str()const
+{
+       return get_time().get_string().c_str();
+}
+#endif
+
 void
 TimePoint::absorb(const TimePoint& x)
 {
        if(get_guid()==x.get_guid())
                return;
        set_guid(get_guid()^x.get_guid());
-       
+
        if(get_after()==INTERPOLATION_NIL)
                set_after(x.get_after());
        if(get_before()==INTERPOLATION_NIL)
                set_before(x.get_before());
-       
+
        if(get_after()!=x.get_after() && x.get_after()!=INTERPOLATION_NIL)
                set_after(INTERPOLATION_UNDEFINED);
        if(get_before()!=x.get_before() && x.get_before()!=INTERPOLATION_NIL)
-               set_before(INTERPOLATION_UNDEFINED);    
+               set_before(INTERPOLATION_UNDEFINED);
 }
 
 TimePointSet::iterator
@@ -164,13 +171,14 @@ TimePointSet::insert(const TimePoint& x)
 Node::Node():
        guid_(0),
        bchanged(true),
+       time_last_changed_(__sys_clock()),
        deleting_(false)
 {
 #ifndef BE_FRUGAL_WITH_GUIDS
        guid_.make_unique();
        assert(guid_);
        assert(!global_node_map().count(guid_));
-       global_node_map()[guid_]=this;  
+       global_node_map()[guid_]=this;
 #endif
 }
 
@@ -204,10 +212,10 @@ Node::get_guid()const
                const_cast<GUID&>(guid_).make_unique();
                assert(guid_);
                assert(!global_node_map().count(guid_));
-               global_node_map()[guid_]=const_cast<Node*>(this);       
+               global_node_map()[guid_]=const_cast<Node*>(this);
        }
 #endif
-       
+
        return guid_;
 }
 
@@ -222,7 +230,7 @@ Node::set_guid(const GUID& x)
        {
                guid_=x;
                assert(!global_node_map().count(guid_));
-               global_node_map()[guid_]=this;  
+               global_node_map()[guid_]=this;
        }
        else
 #endif
@@ -268,7 +276,7 @@ Node::get_times() const
                get_times_vfunc(times);
                bchanged = false;
        }
-       
+
        //set the output set...
        return times;
 }