projects
/
synfig.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Avoid division by zero when approximating a circle by two points.
[synfig.git]
/
synfig-core
/
tags
/
stable
/
src
/
modules
/
mod_geometry
/
outline.cpp
diff --git
a/synfig-core/tags/stable/src/modules/mod_geometry/outline.cpp
b/synfig-core/tags/stable/src/modules/mod_geometry/outline.cpp
index
597fe82
..
ca45878
100644
(file)
--- a/
synfig-core/tags/stable/src/modules/mod_geometry/outline.cpp
+++ b/
synfig-core/tags/stable/src/modules/mod_geometry/outline.cpp
@@
-1,11
+1,12
@@
/* === S Y N F I G ========================================================= */
/*! \file outline.cpp
/* === 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
**
** $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
**
** 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_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$");
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
float m1,m2; // the slopes of each line
- // compute slopes, note the
clud
ge for infinity, however, this will
+ // compute slopes, note the
klu
ge for infinity, however, this will
// be close enough
if ((x1-x0)!=0)
// be close enough
if ((x1-x0)!=0)
@@
-171,6
+172,13
@@
void
Outline::sync()
{
clear();
Outline::sync()
{
clear();
+
+ if (!bline.get_list().size())
+ {
+ synfig::warning(string("Outline::sync():")+N_("No vertices in outline " + string("\"") + get_description() + string("\"")));
+ return;
+ }
+
try {
#if 1
try {
#if 1
@@
-721,7
+729,7
@@
Outline::set_param(const String & param, const ValueBase &value)
return true;
}
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();
{
width_list=value;
//sync();
@@
-790,7
+798,7
@@
Outline::get_param_vocab()const
ret.push_back(ParamDesc("bline")
.set_local_name(_("Vertices"))
.set_origin("offset")
ret.push_back(ParamDesc("bline")
.set_local_name(_("Vertices"))
.set_origin("offset")
- .set_
scalar
("width")
+ .set_
hint
("width")
.set_description(_("A list of BLine Points"))
);
.set_description(_("A list of BLine Points"))
);