Fix bugs in previous commit that caused FTBFS in synfig and ETL FTBFS with older...
[synfig.git] / synfig-core / tags / stable / src / modules / mod_geometry / outline.cpp
index 356104a..1b97582 100644 (file)
@@ -1,12 +1,12 @@
 /* === S Y N F I G ========================================================= */
 /*!    \file outline.cpp
-**     \brief Template
+**     \brief Implementation of the "Outline" layer
 **
 **     $Id$
 **
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**     Copyright (c) 2007 Chris Moore
+**     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
@@ -67,8 +67,8 @@ using namespace etl;
 
 SYNFIG_LAYER_INIT(Outline);
 SYNFIG_LAYER_SET_NAME(Outline,"outline");
-SYNFIG_LAYER_SET_LOCAL_NAME(Outline,_("Outline"));
-SYNFIG_LAYER_SET_CATEGORY(Outline,_("Geometry"));
+SYNFIG_LAYER_SET_LOCAL_NAME(Outline,N_("Outline"));
+SYNFIG_LAYER_SET_CATEGORY(Outline,N_("Geometry"));
 SYNFIG_LAYER_SET_VERSION(Outline,"0.2");
 SYNFIG_LAYER_SET_CVS_ID(Outline,"$Id$");
 
@@ -99,7 +99,7 @@ Point line_intersection(
 
        float m1,m2;    // the slopes of each line
 
-       // compute slopes, note the cludge for infinity, however, this will
+       // compute slopes, note the kluge for infinity, however, this will
        // be close enough
 
        if ((x1-x0)!=0)
@@ -175,7 +175,7 @@ Outline::sync()
 
        if (!bline.get_list().size())
        {
-               synfig::warning(string("Outline::sync():")+_("No verticies in outline " + string("\"") + get_description() + string("\"")));
+               synfig::warning(string("Outline::sync():")+N_("No vertices in outline " + string("\"") + get_description() + string("\"")));
                return;
        }
                
@@ -183,6 +183,14 @@ Outline::sync()
 #if 1
 
        const bool loop(bline.get_loop());
+
+       ValueNode_BLine::Handle bline_valuenode;
+       if (bline.get_contained_type() == ValueBase::TYPE_SEGMENT)
+       {
+               bline_valuenode = ValueNode_BLine::create(bline);
+               bline = (*bline_valuenode)(0);
+       }
+
        const vector<synfig::BLinePoint> bline_(bline.get_list().begin(),bline.get_list().end());
 #define bline bline_
 
@@ -797,8 +805,8 @@ Outline::get_param_vocab()const
 
        ret.push_back(ParamDesc("bline")
                .set_local_name(_("Vertices"))
-               .set_origin("offset")
-               .set_scalar("width")
+               .set_origin("origin")
+               .set_hint("width")
                .set_description(_("A list of BLine Points"))
        );