X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Fnode.h;h=ca5af34afc82ef80e84b5a2bf56ca975d97d5074;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=ffb8f41247a4ae14b112cc1646d902c9b5016b6d;hpb=cc54c38609ee9745ad678e5e9b9d7d2912be9c95;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/node.h b/synfig-core/trunk/src/synfig/node.h index ffb8f41..ca5af34 100644 --- a/synfig-core/trunk/src/synfig/node.h +++ b/synfig-core/trunk/src/synfig/node.h @@ -6,6 +6,7 @@ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007 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 @@ -37,6 +38,11 @@ /* === M A C R O S ========================================================= */ +// When a PasteCanvas layer has a non-zero 'time offset' parameter, should +// the waypoints shown for the canvas be adjusted? This currently only +// partially works - see the TODO at the end of layer_pastecanvas.cpp +#define ADJUST_WAYPOINTS_FOR_TIME_OFFSET + /* === T Y P E D E F S ===================================================== */ /* === C L A S S E S & S T R U C T S ======================================= */ @@ -58,6 +64,10 @@ public: { } +#ifdef _DEBUG + const char *c_str()const; +#endif + const GUID& get_guid()const { return guid; } const Time& get_time()const { return time; } Interpolation get_before()const { return before; } @@ -74,6 +84,9 @@ public: inline TimePoint operator+(TimePoint lhs,const Time& rhs) { lhs.set_time(lhs.get_time()+rhs); return lhs; } +inline TimePoint operator-(TimePoint lhs,const Time& rhs) + { lhs.set_time(lhs.get_time()-rhs); return lhs; } + inline bool operator<(const TimePoint& lhs,const TimePoint& rhs) { return lhs.get_time()::cast_dynamic(synfig::find_node(guid)); } +#ifdef _DEBUG +template +synfig::String set_string(T start, T end) +{ + synfig::String ret("["); + bool started = false; + + while (start != end) + { + if (started) ret += ", "; + else started = true; + + ret += synfig::String((*start).c_str()); + start++; + } + + return ret + "]"; +} + +template +synfig::String set_string(T set) +{ + return set_string(set.begin(), set.end()); +} +#endif // _DEBUG + typedef etl::handle NodeHandle; }; // END of namespace synfig