X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fmodules%2Fmod_geometry%2Foutline.cpp;h=e84effb2a99d78523f7d56d07e182807fe25130c;hb=4ba22fb51d97f1ecce04dcc5e40569a4354c1bae;hp=69d635f45db4dfb3d678cc3945297eb724fec141;hpb=516e9c25ed8d8f840d3da146497181bd0518bf11;p=synfig.git diff --git a/synfig-core/trunk/src/modules/mod_geometry/outline.cpp b/synfig-core/trunk/src/modules/mod_geometry/outline.cpp index 69d635f..e84effb 100644 --- a/synfig-core/trunk/src/modules/mod_geometry/outline.cpp +++ b/synfig-core/trunk/src/modules/mod_geometry/outline.cpp @@ -1,11 +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, 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 @@ -66,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$"); @@ -98,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) @@ -174,14 +175,22 @@ 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; } - + try { #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 bline_(bline.get_list().begin(),bline.get_list().end()); #define bline bline_ @@ -728,7 +737,7 @@ Outline::set_param(const String & param, const ValueBase &value) return true; } - if( param=="width_list" && value.same_as(width_list)) + if( param=="width_list" && value.same_type_as(width_list)) { width_list=value; //sync(); @@ -796,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")) );