X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftags%2Fstable%2Fsrc%2Fsynfig%2Fnode.cpp;h=4773ece2a9d9411c11ba686d4aadf88584ea3820;hb=609ffb6c7ad2996e4dde68b1066a27e80ed8a153;hp=eaab96462ac42a8e05412e4dfcfb85846a7a0448;hpb=684cf1db661a9a5cbc142238cf05d6d2f7aa3f89;p=synfig.git diff --git a/synfig-core/tags/stable/src/synfig/node.cpp b/synfig-core/tags/stable/src/synfig/node.cpp index eaab964..4773ece 100644 --- a/synfig-core/tags/stable/src/synfig/node.cpp +++ b/synfig-core/tags/stable/src/synfig/node.cpp @@ -6,6 +6,7 @@ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007, 2008 Chris Moore ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -22,8 +23,6 @@ /* === H E A D E R S ======================================================= */ -#define HASH_MAP_H - #ifdef USING_PCH # include "pch.h" #else @@ -32,11 +31,10 @@ #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 #endif @@ -83,9 +81,9 @@ extern clock_t _clock(); /* === G L O B A L S ======================================================= */ #ifdef HASH_MAP_H -typedef hash_map GlobalNodeMap; +typedef HASH_MAP_CLASS GlobalNodeMap; #else -typedef map GlobalNodeMap; +typedef map GlobalNodeMap; #endif static GlobalNodeMap* global_node_map_; @@ -100,7 +98,7 @@ static GlobalNodeMap& global_node_map() /* === P R O C E D U R E S ================================================= */ synfig::Node* -synfig::find_node(const GUID& guid) +synfig::find_node(const synfig::GUID& guid) { if(global_node_map().count(guid)==0) return 0; @@ -108,7 +106,7 @@ synfig::find_node(const GUID& guid) } static void -refresh_node(synfig::Node* node, GUID old_guid) +refresh_node(synfig::Node* node, synfig::GUID old_guid) { assert(global_node_map().count(old_guid)); global_node_map().erase(old_guid); @@ -118,6 +116,14 @@ 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) { @@ -165,6 +171,7 @@ TimePointSet::insert(const TimePoint& x) Node::Node(): guid_(0), bchanged(true), + time_last_changed_(__sys_clock()), deleting_(false) { #ifndef BE_FRUGAL_WITH_GUIDS @@ -196,13 +203,13 @@ Node::changed() //! Gets the GUID for this value node -const GUID& +const synfig::GUID& Node::get_guid()const { #ifdef BE_FRUGAL_WITH_GUIDS if(!guid_) { - const_cast(guid_).make_unique(); + const_cast(guid_).make_unique(); assert(guid_); assert(!global_node_map().count(guid_)); global_node_map()[guid_]=const_cast(this); @@ -214,7 +221,7 @@ Node::get_guid()const //! Sets the GUID for this value node void -Node::set_guid(const GUID& x) +Node::set_guid(const synfig::GUID& x) { assert(x); @@ -229,7 +236,7 @@ Node::set_guid(const GUID& x) #endif if(guid_!=x) { - GUID oldguid(guid_); + synfig::GUID oldguid(guid_); guid_=x; refresh_node(this, oldguid); on_guid_changed(oldguid); @@ -297,7 +304,7 @@ Node::on_changed() } void -Node::on_guid_changed(GUID guid) +Node::on_guid_changed(synfig::GUID guid) { signal_guid_changed()(guid); }