#include <config.h>
#include "Spacing.h"
-#include "support/lstrings.h"
#include "support/convert.h"
+#include "support/lstrings.h"
+#include "support/lyxlib.h"
#include <ostream>
{
space = sp;
if (sp == Other) {
- switch (int(convert<double>(val) * 1000 + 0.5)) {
+ switch (support::iround(convert<double>(val) * 1000)) {
case 1000:
space = Single;
break;
return useSetSpace ? name : support::ascii_lowercase(name);
}
+string cmdName(Spacing::Space space, bool useSetSpace)
+{
+ static char const * const cmd_names[]
+ = { "SingleSpacing", "OnehalfSpacing", "DoubleSpacing", "SetStretch", ""};
+ string const name = cmd_names[space];
+
+ if (useSetSpace && name == "SetStretch")
+ return "setSpacing";
+
+ return useSetSpace ? name : support::ascii_lowercase(name);
}
+} // namespace
+
string const Spacing::writeEnvirBegin(bool useSetSpace) const
{
string const name = envName(space, useSetSpace);
}
+string const Spacing::writeCmd(bool useSetSpace) const
+{
+ string const name = cmdName(space, useSetSpace);
+ if (space == Other)
+ return "\\" + name + "{" + getValueAsString() + '}';
+ else
+ return name.empty() ? string() : "\\" + name + "{}";
+}
+
+
string const Spacing::writePreamble(bool useSetSpace) const
{
string preamble;