- don't use 10 pt font size for width calculations, when in fact we use
a 8 pt font (set 8 pt in preferences.xml, too) - fix vertical alignment of digits in label and ladder (temporary solution -- the whole font handling needs to be reviewd and fixed) - simplify nadir and zenith (they always want to be horizontally centered on the ladder lines, no?) - simplify and abstract label box drawing (no need for stippled side lines) - align text (more) correctly in label boxes
This commit is contained in:
parent
b010480bfb
commit
bd9ec88355
7 changed files with 82 additions and 98 deletions
|
@ -129,7 +129,7 @@ void HUD::init()
|
||||||
if (!_font)
|
if (!_font)
|
||||||
throw sg_throwable(string("/sim/hud/font/name is not a texture font"));
|
throw sg_throwable(string("/sim/hud/font/name is not a texture font"));
|
||||||
|
|
||||||
_font_size = fgGetFloat("/sim/hud/font/size", 10);
|
_font_size = fgGetFloat("/sim/hud/font/size", 8);
|
||||||
_font_renderer->setFont(_font);
|
_font_renderer->setFont(_font);
|
||||||
_font_renderer->setPointSize(_font_size);
|
_font_renderer->setPointSize(_font_size);
|
||||||
_text_list.setFont(_font_renderer);
|
_text_list.setFont(_font_renderer);
|
||||||
|
|
|
@ -100,13 +100,9 @@ public:
|
||||||
// is shown as 10ooo.
|
// is shown as 10ooo.
|
||||||
|
|
||||||
void draw(fntRenderer *fnt) {
|
void draw(fntRenderer *fnt) {
|
||||||
float orig_size = fnt->getPointSize();
|
|
||||||
if (!_digits) { // show all digits in same size
|
if (!_digits) { // show all digits in same size
|
||||||
fnt->setPointSize(orig_size * 0.8);
|
|
||||||
fnt->start2f(_x, _y);
|
fnt->start2f(_x, _y);
|
||||||
fnt->puts(_msg);
|
fnt->puts(_msg);
|
||||||
|
|
||||||
fnt->setPointSize(orig_size);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -126,6 +122,8 @@ public:
|
||||||
c++;
|
c++;
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float orig_size = fnt->getPointSize();
|
||||||
if (c > p) {
|
if (c > p) {
|
||||||
fnt->setPointSize(orig_size * 0.8);
|
fnt->setPointSize(orig_size * 0.8);
|
||||||
int p1 = c - 3;
|
int p1 = c - 3;
|
||||||
|
@ -440,6 +438,7 @@ private:
|
||||||
int _fontsize;
|
int _fontsize;
|
||||||
int _blink;
|
int _blink;
|
||||||
bool _box;
|
bool _box;
|
||||||
|
float _text_y;
|
||||||
|
|
||||||
SGCondition *_blink_condition;
|
SGCondition *_blink_condition;
|
||||||
double _blink_interval;
|
double _blink_interval;
|
||||||
|
@ -506,6 +505,8 @@ private:
|
||||||
float _marker_offset;
|
float _marker_offset;
|
||||||
bool _pointer;
|
bool _pointer;
|
||||||
int _zoom;
|
int _zoom;
|
||||||
|
float _0_ht;
|
||||||
|
|
||||||
enum PointerType { FIXED, MOVING } _pointer_type;
|
enum PointerType { FIXED, MOVING } _pointer_type;
|
||||||
enum TickType { LINE, CIRCLE } _tick_type;
|
enum TickType { LINE, CIRCLE } _tick_type;
|
||||||
enum TickLength { VARIABLE, CONSTANT } _tick_length;
|
enum TickLength { VARIABLE, CONSTANT } _tick_length;
|
||||||
|
@ -547,8 +548,8 @@ public:
|
||||||
virtual void draw();
|
virtual void draw();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void draw_zenith(float, float, float);
|
void draw_zenith(float, float);
|
||||||
void draw_nadir(float, float, float);
|
void draw_nadir(float, float);
|
||||||
|
|
||||||
void draw_text(float x, float y, char *s) {
|
void draw_text(float x, float y, char *s) {
|
||||||
_locTextList.add(HUDText(x, y, s));
|
_locTextList.add(HUDText(x, y, s));
|
||||||
|
|
|
@ -56,16 +56,16 @@ void HUD::Dial::draw(void)
|
||||||
|
|
||||||
|
|
||||||
float offset = 90.0 * SGD_DEGREES_TO_RADIANS;
|
float offset = 90.0 * SGD_DEGREES_TO_RADIANS;
|
||||||
float r1 = 10.0; //size of carrot
|
const float R = 10.0; //size of carrot
|
||||||
float theta = _input.getFloatValue();
|
float theta = _input.getFloatValue();
|
||||||
|
|
||||||
float theta1 = -theta * SGD_DEGREES_TO_RADIANS + offset;
|
float theta1 = -theta * SGD_DEGREES_TO_RADIANS + offset;
|
||||||
float x1 = _x + _radius * cos(theta1);
|
float x1 = _x + _radius * cos(theta1);
|
||||||
float y1 = _y + _radius * sin(theta1);
|
float y1 = _y + _radius * sin(theta1);
|
||||||
float x2 = x1 - r1 * cos(theta1 - 30.0 * SGD_DEGREES_TO_RADIANS);
|
float x2 = x1 - R * cos(theta1 - 30.0 * SGD_DEGREES_TO_RADIANS);
|
||||||
float y2 = y1 - r1 * sin(theta1 - 30.0 * SGD_DEGREES_TO_RADIANS);
|
float y2 = y1 - R * sin(theta1 - 30.0 * SGD_DEGREES_TO_RADIANS);
|
||||||
float x3 = x1 - r1 * cos(theta1 + 30.0 * SGD_DEGREES_TO_RADIANS);
|
float x3 = x1 - R * cos(theta1 + 30.0 * SGD_DEGREES_TO_RADIANS);
|
||||||
float y3 = y1 - r1 * sin(theta1 + 30.0 * SGD_DEGREES_TO_RADIANS);
|
float y3 = y1 - R * sin(theta1 + 30.0 * SGD_DEGREES_TO_RADIANS);
|
||||||
|
|
||||||
// draw carrot
|
// draw carrot
|
||||||
draw_line(x1, y1, x2, y2);
|
draw_line(x1, y1, x2, y2);
|
||||||
|
|
|
@ -145,7 +145,7 @@ float HUD::Item::text_width(char *str) const
|
||||||
assert(_hud->_font_renderer);
|
assert(_hud->_font_renderer);
|
||||||
float r, l;
|
float r, l;
|
||||||
_hud->_font->getBBox(str, _hud->_font_size, 0, &l, &r, 0, 0);
|
_hud->_font->getBBox(str, _hud->_font_size, 0, &l, &r, 0, 0);
|
||||||
return r + l;
|
return r - l;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -55,10 +55,12 @@ HUD::Label::Label(HUD *hud, const SGPropertyNode *n, float x, float y) :
|
||||||
|
|
||||||
if (pre)
|
if (pre)
|
||||||
_format = pre;
|
_format = pre;
|
||||||
|
|
||||||
if (fmt)
|
if (fmt)
|
||||||
_format += fmt;
|
_format += fmt;
|
||||||
else
|
else
|
||||||
_format += "%s";
|
_format += "%s";
|
||||||
|
|
||||||
if (post)
|
if (post)
|
||||||
_format += post;
|
_format += post;
|
||||||
|
|
||||||
|
@ -69,6 +71,9 @@ HUD::Label::Label(HUD *hud, const SGPropertyNode *n, float x, float y) :
|
||||||
_mode = NONE;
|
_mode = NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float top;
|
||||||
|
_hud->_font->getBBox("0", _hud->_font_size, 0.0, 0, 0, 0, &top);
|
||||||
|
_text_y = _y + (_h - top) / 2.0;
|
||||||
blink();
|
blink();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,30 +84,10 @@ void HUD::Label::draw(void)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (_box) {
|
if (_box) {
|
||||||
float h = _hud->_font_size; // FIXME
|
draw_line(_x, _y, _x + _w, _y);
|
||||||
|
draw_line(_x + _w, _y, _x + _w, _y + _h);
|
||||||
glPushMatrix();
|
draw_line(_x + _w, _y + _h, _x, _y + _h);
|
||||||
glLoadIdentity();
|
draw_line(_x, _y + _h, _x, _y);
|
||||||
|
|
||||||
glBegin(GL_LINES);
|
|
||||||
glVertex2f(_x - 2.0, _y - 2.0);
|
|
||||||
glVertex2f(_x + _w + 2.0, _y - 2.0);
|
|
||||||
glVertex2f(_x + _w + 2.0, _y + h + 2.0);
|
|
||||||
glVertex2f(_x - 2.0, _y + h + 2.0);
|
|
||||||
glEnd();
|
|
||||||
|
|
||||||
glEnable(GL_LINE_STIPPLE);
|
|
||||||
glLineStipple(1, 0xAAAA);
|
|
||||||
|
|
||||||
glBegin(GL_LINES);
|
|
||||||
glVertex2f(_x + _w + 2.0, _y - 2.0);
|
|
||||||
glVertex2f(_x + _w + 2.0, _y + h + 2.0);
|
|
||||||
glVertex2f(_x - 2.0, _y + h + 2.0);
|
|
||||||
glVertex2f(_x - 2.0, _y - 2.0);
|
|
||||||
glEnd();
|
|
||||||
|
|
||||||
glDisable(GL_LINE_STIPPLE);
|
|
||||||
glPopMatrix();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const int BUFSIZE = 256;
|
const int BUFSIZE = 256;
|
||||||
|
@ -131,9 +116,9 @@ void HUD::Label::draw(void)
|
||||||
posincr = 0;
|
posincr = 0;
|
||||||
|
|
||||||
if (_fontsize == FONT_SMALL)
|
if (_fontsize == FONT_SMALL)
|
||||||
draw_text(_x + posincr, _y, buf, get_digits());
|
draw_text(_x + posincr, _text_y, buf, get_digits());
|
||||||
else if (_fontsize == FONT_LARGE)
|
else if (_fontsize == FONT_LARGE)
|
||||||
draw_text(_x + posincr, _y, buf, get_digits());
|
draw_text(_x + posincr, _text_y, buf, get_digits());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -479,13 +479,13 @@ void HUD::Ladder::draw(void)
|
||||||
draw_line(x_ini, y, x_end, y);
|
draw_line(x_ini, y, x_end, y);
|
||||||
|
|
||||||
if (i == 90 && _zenith)
|
if (i == 90 && _zenith)
|
||||||
draw_zenith(x_ini, x_end, y);
|
draw_zenith(0.0, y);
|
||||||
} else {
|
} else {
|
||||||
// Below zero draw dashed lines.
|
// Below zero draw dashed lines.
|
||||||
draw_stipple_line(x_ini, y, x_end, y);
|
draw_stipple_line(x_ini, y, x_end, y);
|
||||||
|
|
||||||
if (i == -90 && _nadir)
|
if (i == -90 && _nadir)
|
||||||
draw_nadir(x_ini, x_end, y);
|
draw_nadir(0.0, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculate the position of the left text and write it.
|
// Calculate the position of the left text and write it.
|
||||||
|
@ -536,7 +536,7 @@ void HUD::Ladder::draw(void)
|
||||||
draw_line(x_ini2, y, x_end2, y);
|
draw_line(x_ini2, y, x_end2, y);
|
||||||
|
|
||||||
if (i == 90 && _zenith)
|
if (i == 90 && _zenith)
|
||||||
draw_zenith(x_ini2, x_end, y);
|
draw_zenith(0.0, y);
|
||||||
|
|
||||||
} else { // i < 0
|
} else { // i < 0
|
||||||
// draw dive bar vertical lines
|
// draw dive bar vertical lines
|
||||||
|
@ -550,7 +550,7 @@ void HUD::Ladder::draw(void)
|
||||||
draw_stipple_line(x_ini2, y, x_end2, y);
|
draw_stipple_line(x_ini2, y, x_end2, y);
|
||||||
|
|
||||||
if (i == -90 && _nadir)
|
if (i == -90 && _nadir)
|
||||||
draw_nadir(x_ini2, x_end, y);
|
draw_nadir(0.0, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now calculate the location of the left side label using
|
// Now calculate the location of the left side label using
|
||||||
|
@ -649,13 +649,14 @@ void HUD::Ladder::draw(void)
|
||||||
if (fabs(brg - psi) < 12.0) {
|
if (fabs(brg - psi) < 12.0) {
|
||||||
if (!_hat) {
|
if (!_hat) {
|
||||||
glBegin(GL_LINE_LOOP);
|
glBegin(GL_LINE_LOOP);
|
||||||
glVertex2f(((brg - psi) * 60 / 25) + 320, 240.0);
|
GLfloat x = (brg - psi) * 60 / 25;
|
||||||
glVertex2f(((brg - psi) * 60 / 25) + 326, 240.0 - 4);
|
glVertex2f(x + 320, 240.0);
|
||||||
glVertex2f(((brg - psi) * 60 / 25) + 323, 240.0 - 4);
|
glVertex2f(x + 326, 240.0 - 4);
|
||||||
glVertex2f(((brg - psi) * 60 / 25) + 323, 240.0 - 8);
|
glVertex2f(x + 323, 240.0 - 4);
|
||||||
glVertex2f(((brg - psi) * 60 / 25) + 317, 240.0 - 8);
|
glVertex2f(x + 323, 240.0 - 8);
|
||||||
glVertex2f(((brg - psi) * 60 / 25) + 317, 240.0 - 4);
|
glVertex2f(x + 317, 240.0 - 8);
|
||||||
glVertex2f(((brg - psi) * 60 / 25) + 314, 240.0 - 4);
|
glVertex2f(x + 317, 240.0 - 4);
|
||||||
|
glVertex2f(x + 314, 240.0 - 4);
|
||||||
glEnd();
|
glEnd();
|
||||||
|
|
||||||
} else { // if (_hat)
|
} else { // if (_hat)
|
||||||
|
@ -684,77 +685,72 @@ void HUD::Ladder::draw(void)
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************/
|
/******************************************************************/
|
||||||
// draws the zenith symbol for highest possible climb angle (i.e. 90 degree climb angle)
|
// draws the zenith symbol (highest possible climb angle i.e. 90 degree climb angle)
|
||||||
//
|
//
|
||||||
void HUD::Ladder::draw_zenith(float xfirst, float xlast, float yvalue)
|
void HUD::Ladder::draw_zenith(float x, float y)
|
||||||
{
|
{
|
||||||
float xcentre = (xfirst + xlast) / 2.0;
|
draw_line(x - 9.0, y, x - 3.0, y + 1.3);
|
||||||
float ycentre = yvalue;
|
draw_line(x - 9.0, y, x - 3.0, y - 1.3);
|
||||||
|
|
||||||
draw_line(xcentre - 9.0, ycentre, xcentre - 3.0, ycentre + 1.3);
|
draw_line(x + 9.0, y, x + 3.0, y + 1.3);
|
||||||
draw_line(xcentre - 9.0, ycentre, xcentre - 3.0, ycentre - 1.3);
|
draw_line(x + 9.0, y, x + 3.0, y - 1.3);
|
||||||
|
|
||||||
draw_line(xcentre + 9.0, ycentre, xcentre + 3.0, ycentre + 1.3);
|
draw_line(x, y + 9.0, x - 1.3, y + 3.0);
|
||||||
draw_line(xcentre + 9.0, ycentre, xcentre + 3.0, ycentre - 1.3);
|
draw_line(x, y + 9.0, x + 1.3, y + 3.0);
|
||||||
|
|
||||||
draw_line(xcentre, ycentre + 9.0, xcentre - 1.3, ycentre + 3.0);
|
draw_line(x - 3.9, y + 3.9, x - 3.0, y + 1.3);
|
||||||
draw_line(xcentre, ycentre + 9.0, xcentre + 1.3, ycentre + 3.0);
|
draw_line(x - 3.9, y + 3.9, x - 1.3, y + 3.0);
|
||||||
|
|
||||||
draw_line(xcentre - 3.9, ycentre + 3.9, xcentre - 3.0, ycentre + 1.3);
|
draw_line(x + 3.9, y + 3.9, x + 1.3, y + 3.0);
|
||||||
draw_line(xcentre - 3.9, ycentre + 3.9, xcentre - 1.3, ycentre + 3.0);
|
draw_line(x + 3.9, y + 3.9, x + 3.0, y + 1.3);
|
||||||
|
|
||||||
draw_line(xcentre + 3.9, ycentre + 3.9, xcentre + 1.3, ycentre+3.0);
|
draw_line(x - 3.9, y - 3.9, x - 3.0, y - 1.3);
|
||||||
draw_line(xcentre + 3.9, ycentre + 3.9, xcentre + 3.0, ycentre+1.3);
|
draw_line(x - 3.9, y - 3.9, x - 1.3, y - 2.6);
|
||||||
|
|
||||||
draw_line(xcentre - 3.9, ycentre - 3.9, xcentre - 3.0, ycentre-1.3);
|
draw_line(x + 3.9, y - 3.9, x + 3.0, y - 1.3);
|
||||||
draw_line(xcentre - 3.9, ycentre - 3.9, xcentre - 1.3, ycentre-2.6);
|
draw_line(x + 3.9, y - 3.9, x + 1.3, y - 2.6);
|
||||||
|
|
||||||
draw_line(xcentre + 3.9, ycentre - 3.9, xcentre + 3.0, ycentre-1.3);
|
draw_line(x - 1.3, y - 2.6, x, y - 27.0);
|
||||||
draw_line(xcentre + 3.9, ycentre - 3.9, xcentre + 1.3, ycentre-2.6);
|
draw_line(x + 1.3, y - 2.6, x, y - 27.0);
|
||||||
|
|
||||||
draw_line(xcentre - 1.3, ycentre - 2.6, xcentre, ycentre - 27.0);
|
|
||||||
draw_line(xcentre + 1.3, ycentre - 2.6, xcentre, ycentre - 27.0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// draws the nadir symbol (lowest possible dive angle i.e. 90 degree dive angle))
|
// draws the nadir symbol (lowest possible dive angle i.e. 90 degree dive angle))
|
||||||
//
|
//
|
||||||
void HUD::Ladder::draw_nadir(float xfirst, float xlast, float yvalue)
|
void HUD::Ladder::draw_nadir(float x, float y)
|
||||||
{
|
{
|
||||||
float xcentre = (xfirst + xlast) / 2.0;
|
|
||||||
float ycentre = yvalue;
|
|
||||||
const float R = 7.5;
|
const float R = 7.5;
|
||||||
|
|
||||||
draw_circle(xcentre, ycentre, R);
|
draw_circle(x, y, R);
|
||||||
draw_line(xcentre, ycentre + R, xcentre, ycentre + 22.5); // line above the circle
|
draw_line(x, y + R, x, y + 22.5); // line above the circle
|
||||||
draw_line(xcentre - R, ycentre, xcentre + R, ycentre); // line at middle of circle
|
draw_line(x - R, y, x + R, y); // line at middle of circle
|
||||||
|
|
||||||
float theta = asin(2.5 / R);
|
float theta = asin(2.5 / R);
|
||||||
float theta1 = asin(5.0 / R);
|
float theta1 = asin(5.0 / R);
|
||||||
float x1, y1, x2, y2;
|
float x1, y1, x2, y2;
|
||||||
|
|
||||||
x1 = xcentre + R * cos(theta);
|
x1 = x + R * cos(theta);
|
||||||
y1 = ycentre + 2.5;
|
y1 = y + 2.5;
|
||||||
x2 = xcentre + R * cos((180.0 * SGD_DEGREES_TO_RADIANS) - theta);
|
x2 = x + R * cos((180.0 * SGD_DEGREES_TO_RADIANS) - theta);
|
||||||
y2 = ycentre + 2.5;
|
y2 = y + 2.5;
|
||||||
draw_line(x1, y1, x2, y2);
|
draw_line(x1, y1, x2, y2);
|
||||||
|
|
||||||
x1 = xcentre + R * cos(theta1);
|
x1 = x + R * cos(theta1);
|
||||||
y1 = ycentre + 5.0;
|
y1 = y + 5.0;
|
||||||
x2 = xcentre + R * cos((180.0 * SGD_DEGREES_TO_RADIANS) - theta1);
|
x2 = x + R * cos((180.0 * SGD_DEGREES_TO_RADIANS) - theta1);
|
||||||
y2 = ycentre + 5.0;
|
y2 = y + 5.0;
|
||||||
draw_line(x1, y1, x2, y2);
|
draw_line(x1, y1, x2, y2);
|
||||||
|
|
||||||
x1 = xcentre + R * cos((180.0 * SGD_DEGREES_TO_RADIANS) + theta);
|
x1 = x + R * cos((180.0 * SGD_DEGREES_TO_RADIANS) + theta);
|
||||||
y1 = ycentre - 2.5;
|
y1 = y - 2.5;
|
||||||
x2 = xcentre + R * cos((360.0 * SGD_DEGREES_TO_RADIANS) - theta);
|
x2 = x + R * cos((360.0 * SGD_DEGREES_TO_RADIANS) - theta);
|
||||||
y2 = ycentre - 2.5;
|
y2 = y - 2.5;
|
||||||
draw_line(x1, y1, x2, y2);
|
draw_line(x1, y1, x2, y2);
|
||||||
|
|
||||||
x1 = xcentre + R * cos((180.0 * SGD_DEGREES_TO_RADIANS) + theta1);
|
x1 = x + R * cos((180.0 * SGD_DEGREES_TO_RADIANS) + theta1);
|
||||||
y1 = ycentre - 5.0;
|
y1 = y - 5.0;
|
||||||
x2 = xcentre + R * cos((360.0 * SGD_DEGREES_TO_RADIANS) - theta1);
|
x2 = x + R * cos((360.0 * SGD_DEGREES_TO_RADIANS) - theta1);
|
||||||
y2 = ycentre - 5.0;
|
y2 = y - 5.0;
|
||||||
draw_line(x1, y1, x2, y2);
|
draw_line(x1, y1, x2, y2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,6 +47,10 @@ HUD::Tape::Tape(HUD *hud, const SGPropertyNode *n, float x, float y) :
|
||||||
|
|
||||||
s = n->getStringValue("tick-length"); // "variable", "constant"
|
s = n->getStringValue("tick-length"); // "variable", "constant"
|
||||||
_tick_length = strcmp(s, "constant") ? VARIABLE : CONSTANT;
|
_tick_length = strcmp(s, "constant") ? VARIABLE : CONSTANT;
|
||||||
|
|
||||||
|
float top;
|
||||||
|
_hud->_font->getBBox("0", _hud->_font_size, 0.0, 0, 0, 0, &top);
|
||||||
|
_0_ht = top / 2.0; // half 0 height
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -334,7 +338,6 @@ void HUD::Tape::draw(void) // (HUD_scale * pscale)
|
||||||
|
|
||||||
snprintf(buf, BUFSIZE, "%d", display_value);
|
snprintf(buf, BUFSIZE, "%d", display_value);
|
||||||
float strwd = text_width(buf);
|
float strwd = text_width(buf);
|
||||||
float strht = _hud->_font_size;
|
|
||||||
|
|
||||||
if (option_both()) {
|
if (option_both()) {
|
||||||
// draw_line(_x, y, marker_xs, y);
|
// draw_line(_x, y, marker_xs, y);
|
||||||
|
@ -351,7 +354,7 @@ void HUD::Tape::draw(void) // (HUD_scale * pscale)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!option_notext())
|
if (!option_notext())
|
||||||
draw_text(marker_xs + 2, y, buf, 0);
|
draw_text(marker_xs + 2, y - _0_ht, buf, 0);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (_tick_type == LINE)
|
if (_tick_type == LINE)
|
||||||
|
@ -361,9 +364,9 @@ void HUD::Tape::draw(void) // (HUD_scale * pscale)
|
||||||
|
|
||||||
if (!option_notext()) {
|
if (!option_notext()) {
|
||||||
if (option_left())
|
if (option_left())
|
||||||
draw_text(marker_xs - strwd, y - 4, buf, 0);
|
draw_text(marker_xs - strwd, y - _0_ht, buf, 0);
|
||||||
else
|
else
|
||||||
draw_text(marker_xe + strwd / 2, y - 4, buf, 0);
|
draw_text(marker_xe + strwd / 2, y - _0_ht, buf, 0);
|
||||||
}
|
}
|
||||||
} // End if huds-both
|
} // End if huds-both
|
||||||
}
|
}
|
||||||
|
@ -531,7 +534,6 @@ void HUD::Tape::draw(void) // (HUD_scale * pscale)
|
||||||
|
|
||||||
snprintf(buf, BUFSIZE, "%d", display_value);
|
snprintf(buf, BUFSIZE, "%d", display_value);
|
||||||
float strwd = text_width(buf);
|
float strwd = text_width(buf);
|
||||||
float strht = _hud->_font_size;
|
|
||||||
|
|
||||||
// Draw major ticks and text only if far enough from the edge. // FIXME
|
// Draw major ticks and text only if far enough from the edge. // FIXME
|
||||||
if (x < _x + 10 || x + 10 > _x + _w)
|
if (x < _x + 10 || x + 10 > _x + _w)
|
||||||
|
|
Loading…
Reference in a new issue