-extern void fgUpdateHUD( void );
-
-extern void drawOneLine ( UINT x1, UINT y1, UINT x2, UINT y2);
-extern void drawOneLine ( RECT &rect);
-extern void textString ( int x,
- int y,
- char *msg,
- void *font = GLUT_BITMAP_8_BY_13);
-extern void strokeString( int x,
- int y,
- char *msg,
- void *font = GLUT_STROKE_ROMAN,
- float theta = 0);
-
-//extern void strokeString(float xx,
-// float yy,
-// char *msg,
-// void *font = GLUT_STROKE_ROMAN)
-
-/*
-bool AddHUDInstrument( instr_item *pBlackBox );
-void DrawHUD ( void );
-bool DamageInstrument( INSTR_HANDLE unit );
-bool RepairInstrument( INSTR_HANDLE unit );
-
-
-void fgUpdateHUD ( Hptr hud );
-void fgUpdateHUD2( Hptr hud ); // Future use?
-void fgHUDSetTimeMode( Hptr hud, int time_of_day );
-*/
-
-#endif // _HUD_H
+extern void fgUpdateHUD( osg::State* );
+extern void fgUpdateHUD( osg::State*, GLfloat x_start, GLfloat y_start,
+ GLfloat x_end, GLfloat y_end );
+
+
+
+
+class HUD_Properties : public SGPropertyChangeListener {
+public:
+ HUD_Properties();
+ void valueChanged(SGPropertyNode *n);
+ void setColor() const;
+ bool isVisible() const { return _visible; }
+ bool isAntialiased() const { return _antialiased; }
+ bool isTransparent() const { return _transparent; }
+ float alphaClamp() const { return _cl; }
+
+private:
+ float clamp(float f) { return f < 0.0f ? 0.0f : f > 1.0f ? 1.0f : f; }
+ SGPropertyNode_ptr _current;
+ SGPropertyNode_ptr _visibility;
+ SGPropertyNode_ptr _antialiasing;
+ SGPropertyNode_ptr _transparency;
+ SGPropertyNode_ptr _red, _green, _blue, _alpha;
+ SGPropertyNode_ptr _alpha_clamp;
+ SGPropertyNode_ptr _brightness;
+ bool _visible;
+ bool _antialiased;
+ bool _transparent;
+ float _r, _g, _b, _a, _cl;
+};
+
+#endif // _OLDHUD_H