X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Fcanvas.h;h=af168f935d474ec96e7d814e5373f46246994246;hb=5c2565765480697771497772fe7f6da76dd6b1e2;hp=66c07b48542715b09776f8ae914164a2d7ba160c;hpb=0809ba8eb14cf885c8f197d751c80cced84d9676;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/canvas.h b/synfig-core/trunk/src/synfig/canvas.h index 66c07b4..af168f9 100644 --- a/synfig-core/trunk/src/synfig/canvas.h +++ b/synfig-core/trunk/src/synfig/canvas.h @@ -2,10 +2,11 @@ /*! \file canvas.h ** \brief Canvas Class Implementation ** -** $Id: canvas.h,v 1.1.1.1 2005/01/04 01:23:14 darco Exp $ +** $Id$ ** ** \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 @@ -31,6 +32,7 @@ #include #include #include +#include #include "vector.h" #include "string.h" @@ -68,7 +70,7 @@ public: typedef std::list Children; - friend void synfig::optimize_layers(Context, Canvas::Handle); + friend void synfig::optimize_layers(Context, Canvas::Handle, bool seen_motion_blur); /* -- ** -- D A T A ------------------------------------------------------------- @@ -141,6 +143,9 @@ private: //! Layer Group database std::map > > group_db_; + //! Layer Connection database + std::map,std::vector > connections_; + /* -- ** -- S I G N A L S ------------------------------------------------------- */ @@ -184,6 +189,8 @@ private: //! ValueBasenode Changed sigc::signal > signal_value_node_changed_; + sigc::signal > signal_value_node_renamed_; + sigc::signal, etl::handle > signal_value_node_child_added_; sigc::signal, etl::handle > signal_value_node_child_removed_; @@ -227,6 +234,8 @@ public: sigc::signal >& signal_value_node_changed() { return signal_value_node_changed_; } + sigc::signal >& signal_value_node_renamed() { return signal_value_node_renamed_; } + //! Dirty sigc::signal& signal_dirty() { return signal_changed(); } @@ -380,7 +389,7 @@ public: //! \writeme void add_value_node(ValueNode::Handle x, const String &id); - //! \writeme + //! writeme //void rename_value_node(ValueNode::Handle x, const String &id); //! \writeme @@ -469,13 +478,15 @@ public: private: void add_group_pair(String group, etl::handle layer); void remove_group_pair(String group, etl::handle layer); + void add_connection(etl::loose_handle layer, sigc::connection connection); + void disconnect_connections(etl::loose_handle layer); protected: virtual void on_changed(); virtual void get_times_vfunc(Node::time_set &set) const; }; // END of class Canvas -void optimize_layers(Context context, Canvas::Handle op_canvas); +void optimize_layers(Context context, Canvas::Handle op_canvas, bool seen_motion_blur=false); }; // END of namespace synfig