More documentation for canvas.h
[synfig.git] / synfig-core / src / synfig / canvas.h
index 0a8423c..becfb10 100644 (file)
@@ -215,7 +215,7 @@ private:
        //! Layer Group database
        std::map<String,std::set<etl::handle<Layer> > > group_db_;
 
-       //! Layer Connection database
+       //! Layer Signal Connection database. Seems to be unused.
        std::map<etl::loose_handle<Layer>,std::vector<sigc::connection> > connections_;
 
        /*
@@ -426,7 +426,7 @@ public:
        //! Sets the time for all the layers in the canvas
        void set_time(Time t)const;
 
-       //! \writeme
+       //! Returns the current time of the Canvas
        Time get_time()const { return cur_time_; }
 
        //! Returns the number of layers in the canvas
@@ -465,16 +465,19 @@ public:
        */
        ValueNode::ConstHandle find_value_node(const String &id)const;
 
-       //! \writeme
+       //! Adds a Value node by its Id.
+       /*! Throws an error if the Id is not
+       //! correct or the Value node is already exported
+       **/
        void add_value_node(ValueNode::Handle x, const String &id);
 
        //! writeme
        //void rename_value_node(ValueNode::Handle x, const String &id);
 
-       //! \writeme
+       //! Removes a Value Node from the Canvas by its Handle
        void remove_value_node(ValueNode::Handle x);
 
-       //! \writeme
+       //! Removes a Value Node from the Canvas by its Id
        void remove_value_node(const String &id) { remove_value_node(find_value_node(id)); }
 
        //! Finds a child Canvas in the Canvas with the given \a name
@@ -517,43 +520,66 @@ public:
        //! Adds the given canvas as a child
        Handle add_child_canvas(Handle child_canvas, const String &id);
 
+       //! Remove Child Canvas by its handle. If Current canvas is a child of a parent
+       //! it ask to the parent to remove the Child canvas.
        void remove_child_canvas(Handle child_canvas);
 
+       //! Finds a Layer by its position.
+       //! \see get_context()
        etl::handle<Layer> find_layer(const Point &pos);
 
+       //! Gets the depth of a particular Layer by its handle
        int get_depth(etl::handle<Layer>)const;
 
+       //! Retireves the first layer of the double queue of Layers
        Context get_context()const;
-
+       //! Returns the last Canvas layer queue iterator. Notice that it
+       /*! overrides the std::end() member that would return an interator
+        * just past the last element of the queue.*/
        iterator end();
-
+       //! Returns the last Canvas layer queue const_iterator. Notice that it
+       /*! overrides the std::end() member that would return an interator
+        * just past the last element of the queue.*/
        const_iterator end()const;
-
+       //! Returns the last Canvas layer queue reverse iterator. Notice that it
+       /*! overrides the std::rbegin() member that would return an interator
+        * just past the last element of the queue.*/
        reverse_iterator rbegin();
-
+       //! Returns the last Canvas layer queue reverse const iterator. Notice that it
+       /*! overrides the std::rbegin() member that would return an interator
+        * just past the last element of the queue.*/
        const_reverse_iterator rbegin()const;
-
+       //! Returns last layer in Canvas layer stack
        etl::handle<Layer> &back();
-
+       //! Returns last layer in Canvas layer stack
+       const etl::handle<Layer> &back()const;
+       //! Inserts a layer just before the last layer.
+       //! \see end(), insert(iterator iter,etl::handle<Layer> x)
        void push_back(etl::handle<Layer> x);
-
+       //! Inserts a layer just at the beggining of the Canvas layer dqueue
        void push_front(etl::handle<Layer> x);
-
+       //! Inserts a layer in the last position of the Canvas layer dqueue
+       //! Uses the standard methods and doesn't perform any parentship
+       //! or signal update
        void push_back_simple(etl::handle<Layer> x);
-
+       //! Inserts a layer before the given position by \iter and performs
+       //! the proper child parent relationships and signals update
        void insert(iterator iter,etl::handle<Layer> x);
+       //! Removes a layer from the Canvas layer dqueue and its group and parent
+       //! relatioship. Although it is not already used, it clears the connections
+       //! see connections_
        void erase(iterator iter);
-
-       const etl::handle<Layer> &back()const;
-
+       //! Sets to be a inline canvas of a given Canvas \parent. The inline
+       //! Canvas inherits the groups and the render description.
+       //! \see rend_desc()
        void set_inline(LooseHandle parent);
-
+       //! Returns a Canvas handle with "Untitled" as ID
        static Handle create();
-
+       //! Creates an inline Canvas for a given Canvas \parent
        static Handle create_inline(Handle parent);
-
+       //! Clones (copies) the Canvas if it is inline.
        Handle clone(const GUID& deriv_guid=GUID())const;
-
+       //! Stores the external canvas by its file name and the Canvas handle
        void register_external_canvas(String file, Handle canvas);
 
 #ifdef _DEBUG
@@ -561,16 +587,30 @@ public:
 #endif // _DEBUG
 
 private:
+       //! Adds a \layer to a group given by its \group string to the group
+       //! database
        void add_group_pair(String group, etl::handle<Layer> layer);
+       //! Removes a \layer from a group given by its \group string to the group
+       //! database
        void remove_group_pair(String group, etl::handle<Layer> layer);
+       //! Seems to be used to add the stored signals connections of the layers.
+       //! \see connections_
        void add_connection(etl::loose_handle<Layer> layer, sigc::connection connection);
+       //! Seems to be used to disconnect the stored signals connections of the layers.
+       //! \see connections_
        void disconnect_connections(etl::loose_handle<Layer> layer);
 
 protected:
+       //! Sets the Canvas to dirty and calls Node::on_changed()
        virtual void on_changed();
+       //! Collects the times (TimePoints) of the Layers of the Canvas and
+       //! stores it in the passed Time Set \set
+       //! \see Node::get_times()
        virtual void get_times_vfunc(Node::time_set &set) const;
 }; // END of class Canvas
 
+       //! Optimize layers based on its calculated Z depth to perform a quick
+       //! render of the layers to the output.
 void optimize_layers(Time time, Context context, Canvas::Handle op_canvas, bool seen_motion_blur=false);