00001 /* 00008 * LEGAL: COPYRIGHT (C) 2007 JIM E. BROOKS 00009 * THIS SOURCE CODE IS RELEASED UNDER THE TERMS 00010 * OF THE GNU GENERAL PUBLIC LICENSE VERSION 2 (GPL 2). 00011 *****************************************************************************/ 00012 00013 #if COMPILING_MODULE//_SIM 00014 #ifndef MOD_SIM_HUD_HH 00015 #define MOD_SIM_HUD_HH 1 00016 00017 #include "mod_sim_game.hh" 00018 00019 namespace mod_sim { 00020 00021 class Global; 00022 class ModuleSimGui; 00023 00027 class Hud 00028 { 00029 00030 friend class Global; 00031 friend class ModuleSimGui; 00032 00033 public: 00034 enum eLod { eLod_DISABLED, eLod_LOW, eLod_HIGH, eLod_DEFAULT = eLod_HIGH }; 00035 00036 private: 00037 Hud( void ); 00038 ~Hud(); 00039 void InitVectorFonts( void ); 00040 void Draw( void ); 00041 void DrawOutline( void ); 00042 void DrawSpeedIndicator( void ); 00043 void DrawAltitudeIndicator( void ); 00044 void DrawThrottleIndicator( void ); 00045 void DrawStall( void ); 00046 void DrawTargetBoxes( void ); 00047 void DrawTargetBox( game::CraftActor& target, const Vector2& targetPos2D ); 00048 void DrawFriendsEnemies( void ); 00049 void Print( const Vector2& pos, const char* text ); 00050 00051 public: 00052 void Start( void ); 00053 void Enable( bool enable = true ); 00054 void CycleColors( void ); 00055 00056 private: 00058 class VectorFont 00059 { 00060 public: 00061 vector<Vector2> mPoints; 00062 }; 00063 00064 private: 00065 bool mEnabled; 00066 vector<VectorFont> mVectorFonts; 00067 vector<RGBA> mColors; 00068 00069 // Temporary state: 00070 WidthHeight<int> mWH; 00071 fp mAltSpeedHeight; 00072 }; 00073 00074 } // namespace mod_sim 00075 00076 #endif // MOD_SIM_GUI_HH 00077 #endif // COMPILING_MODULE//_SIM
Palomino 3D Engine documents generated by doxygen 1.5.3 on Fri Nov 23 11:26:12 2007