#include <stdio.h> // sprintf
#include <string.h>
-#include <plib/ssg.h>
+#include <GL/glu.h>
+
#include <plib/fnt.h>
#include <simgear/debug/logstream.hxx>
// my hardware/driver requires many more.
#define POFF_UNITS 4
-\f
////////////////////////////////////////////////////////////////////////
// Local functions.
////////////////////////////////////////////////////////////////////////
}
FGTextLayer::Chunk::Chunk (ChunkType type, const SGPropertyNode * node,
- const string &fmt, float mult)
- : _type(type), _fmt(fmt), _mult(mult)
+ const string &fmt, float mult, float offs,
+ bool truncation)
+ : _type(type), _fmt(fmt), _mult(mult), _offs(offs), _trunc(truncation)
{
if (_fmt.empty()) {
if (type == TEXT_VALUE)
sprintf(_buf, _fmt.c_str(), _node->getStringValue());
break;
case DOUBLE_VALUE:
- sprintf(_buf, _fmt.c_str(), _node->getFloatValue() * _mult);
+ double d = _offs + _node->getFloatValue() * _mult;
+ if (_trunc) d = (d < 0) ? -floor(-d) : floor(d);
+ sprintf(_buf, _fmt.c_str(), d);
break;
}
return _buf;