#ifdef USE_HUD_TextList
-#define textString( x , y, text, font ) TextString( text, x , y )
+#define textString( x , y, text, font,digit ) TextString( text, x , y,digit ) //suma
#else
-#define textString( x , y, text, font ) puDrawString ( guiFnt, text, x, y );
+#define textString( x , y, text, font,digit ) puDrawString ( guiFnt, text, x, y ); //suma
#endif
//======================= Top of instr_label class =========================
fgLabelJust justification,
int font_size,
int blinking,
- bool working ):
+ bool latitude,
+ bool longitude,
+ bool label_box,//hud
+ bool working,
+ int digit): //suma
instr_item( x, y, width, height,
- data_source, scale_data,options, working ),
+ data_source,scale_data,options, working, digit), //suma
pformat ( label_format ),
pre_str ( pre_label_string ),
post_str ( post_label_string ),
justify ( justification ),
fontSize ( font_size ),
- blink ( blinking )
+ blink ( blinking ),
+ lat ( latitude ),
+ lon ( longitude ),
+ lbox ( label_box ) //hud
+
{
if( pre_str != NULL) {
if( post_str != NULL ) {
pformat ( image.pformat ),
pre_str ( image.pre_str ),
post_str ( image.post_str ),
- blink ( image.blink )
+ blink ( image.blink ),
+ lat ( image.lat ),
+ lon ( image.lon ),
+ lbox (image.lbox ) //hud
+
{
if( pre_str != NULL) {
if( post_str != NULL ) {
justify = rhs.justify;
pre_str = rhs.pre_str;
post_str = rhs.post_str;
+ lat = rhs.lat;
+ lon = rhs.lon;
+ lbox = rhs.lbox; //hud
+
+
strcpy(format_buffer,rhs.format_buffer);
}
return *this;
RECT scrn_rect = get_location();
if( data_available() ) {
- sprintf( label_buffer, format_buffer, get_value() );
- }
+ if(lat)
+ sprintf( label_buffer, format_buffer, coord_format_lat(get_value()) );
+ else
+ if(lon)
+ sprintf( label_buffer, format_buffer, coord_format_lon(get_value()) );
+ else
+ {
+ if(lbox)//hud
+ {// Box for label
+ float x = scrn_rect.left;
+ float y = scrn_rect.top;
+ float w = scrn_rect.right;
+ float h = HUD_TextSize;
+
+ glPushMatrix();
+ glLoadIdentity();
+ 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();
+ }//hud
+ sprintf( label_buffer, format_buffer, get_value()*data_scaling() );
+ }
+ }
else {
- sprintf( label_buffer, format_buffer );
- }
+// sprintf( label_buffer, format_buffer );
+ }
lenstr = getStringWidth( label_buffer );
#ifdef DEBUGHUD
- fgPrintf( FG_COCKPIT, FG_DEBUG, format_buffer );
- fgPrintf( FG_COCKPIT, FG_DEBUG, "\n" );
- fgPrintf( FG_COCKPIT, FG_DEBUG, label_buffer );
- fgPrintf( FG_COCKPIT, FG_DEBUG, "\n" );
+ fgPrintf( SG_COCKPIT, SG_DEBUG, format_buffer );
+ fgPrintf( SG_COCKPIT, SG_DEBUG, "\n" );
+ fgPrintf( SG_COCKPIT, SG_DEBUG, label_buffer );
+ fgPrintf( SG_COCKPIT, SG_DEBUG, "\n" );
#endif
-// lenstr = strlen( label_buffer );
+ lenstr = strlen( label_buffer );
if( justify == RIGHT_JUST ) {
posincr = scrn_rect.right - lenstr;
if( fontSize == SMALL ) {
textString( scrn_rect.left + posincr, scrn_rect.top,
- label_buffer, GLUT_BITMAP_8_BY_13);
+ label_buffer, GLUT_BITMAP_8_BY_13 ,get_digits()); //suma
}
else {
if( fontSize == LARGE ) {
textString( scrn_rect.left + posincr, scrn_rect.top,
- label_buffer, GLUT_BITMAP_9_BY_15);
+ label_buffer, GLUT_BITMAP_9_BY_15 ,get_digits()); //suma
}
}
}