mod_sim_hud.hh

Go to the documentation of this file.
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