mirror of
https://github.com/scp-fs2open/fs2open.github.com.git
synced 2026-11-10 04:31:34 -10:00
71 lines
1.2 KiB
C++
71 lines
1.2 KiB
C++
#include "graphics/software/FSFont.h"
|
|
|
|
namespace font
|
|
{
|
|
FSFont::FSFont() : name(SCP_string("<Invalid>")), offsetTop(0.0f), offsetBottom(0.0f)
|
|
{
|
|
}
|
|
|
|
FSFont::~FSFont()
|
|
{
|
|
}
|
|
|
|
void FSFont::setBottomOffset(float offset)
|
|
{
|
|
this->offsetBottom = offset;
|
|
}
|
|
|
|
void FSFont::setTopOffset(float offset)
|
|
{
|
|
this->offsetTop = offset;
|
|
}
|
|
|
|
void FSFont::setName(const SCP_string &newName)
|
|
{
|
|
this->name = newName;
|
|
}
|
|
|
|
float FSFont::getBottomOffset() const
|
|
{
|
|
return this->offsetBottom;
|
|
}
|
|
|
|
float FSFont::getTopOffset() const
|
|
{
|
|
return this->offsetTop;
|
|
}
|
|
|
|
float FSFont::getHeight() const
|
|
{
|
|
return _height;
|
|
}
|
|
|
|
const SCP_string &FSFont::getName() const
|
|
{
|
|
return this->name;
|
|
}
|
|
|
|
void FSFont::computeFontMetrics() {
|
|
_height = this->getTextHeight() + this->offsetTop + this->offsetBottom;
|
|
|
|
// By default the base line of the font is also the lowest point of the font
|
|
_ascender = _height;
|
|
_descender = 0.0f;
|
|
|
|
checkFontMetrics();
|
|
}
|
|
void FSFont::checkFontMetrics() {
|
|
if (_height <= 1.0f)
|
|
{
|
|
Warning(LOCATION, "The height of font %s has an invalid height of %f, must be greater than one!",
|
|
getName().c_str(), _height);
|
|
}
|
|
}
|
|
float FSFont::getAscender() {
|
|
return _ascender;
|
|
}
|
|
float FSFont::getDescender() {
|
|
return _descender;
|
|
}
|
|
}
|