X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Fsrc%2Fsynfig%2Fvaluenode_anglestring.cpp;h=0be9ff53cfd24b45ff3287e1d88d83991a856379;hb=8eed22b9657ac7cb1881eab5c7b5c3d1f0c69468;hp=99b51ef931e933e938bcee1023f0296afb38a021;hpb=db91521de71f46f2debb4b3ef1edfe351aea3b2d;p=synfig.git diff --git a/synfig-core/src/synfig/valuenode_anglestring.cpp b/synfig-core/src/synfig/valuenode_anglestring.cpp index 99b51ef..0be9ff5 100644 --- a/synfig-core/src/synfig/valuenode_anglestring.cpp +++ b/synfig-core/src/synfig/valuenode_anglestring.cpp @@ -95,13 +95,14 @@ ValueNode_AngleString::operator()(Time t)const int precision((*precision_)(t).get(int())); int zero_pad((*zero_pad_)(t).get(bool())); + if(precision<0) precision=0; switch (get_type()) { case ValueBase::TYPE_STRING: return strprintf(strprintf("%%%s%d.%df", zero_pad ? "0" : "", width, - precision).c_str(), angle); + precision).c_str(), angle)+"°"; default: break; } @@ -206,3 +207,31 @@ ValueNode_AngleString::check_type(ValueBase::Type type) return type==ValueBase::TYPE_STRING; } + +LinkableValueNode::Vocab +ValueNode_AngleString::get_param_vocab()const +{ + LinkableValueNode::Vocab ret; + + ret.push_back(ParamDesc(ValueBase(),"angle") + .set_local_name(_("Angle")) + .set_description(_("Value to convert to string")) + ); + + ret.push_back(ParamDesc(ValueBase(),"width") + .set_local_name(_("Width")) + .set_description(_("Width of the string")) + ); + + ret.push_back(ParamDesc(ValueBase(),"precision") + .set_local_name(_("Precision")) + .set_description(_("Number of decimal places")) + ); + + ret.push_back(ParamDesc(ValueBase(),"zero_pad") + .set_local_name(_("Zero Padded")) + .set_description(_("When checked, the string is left filled with zeros to match the width")) + ); + + return ret; +}