HUDElement2D.h

Go to the documentation of this file.
00001 //#ifndef HUDELEMENT2D_H
00002 #if 0  // OBSOLETE FILE
00003 #define HUDELEMENT2D_H
00004 #include "lugre_listener.h"
00005 #include "lugre_gfx2D.h"
00006 #include <OgrePrerequisites.h>
00007 #include <OgreVector2.h>
00008 
00009 class lua_State;
00010 class cObject;
00011     
00014     
00015 class cHUDElement2D : public cListener { public:
00016     
00018     enum {
00019         kPosMode_None,          
00020         kPosMode_Object,        
00021         kPosMode_Aim,           
00022         kPosMode_ObjectDir,     
00023     }; 
00024     
00026     enum {
00027         kTurnMode_None,         
00028         kTurnMode_Constant,     
00029         kTurnMode_ObjectDist,   
00030         kTurnMode_ObjectDir,    
00031     }; 
00032     
00034     enum {
00035         kTextMode_None,         
00036         kTextMode_Dist,         
00037         kTextMode_RelSpeed,     
00038         kTextMode_FPS,          
00039         kTextMode_AbsSpeed,         
00040     }; 
00041     
00042     bool                            mbObjHasBeenKilled;
00043     bool                            mbVisible;
00044     bool                            mbPosModeObject_UpdateSize; // hudelement size is set to the screensize of the object * mvSizeParam
00045     bool                            mbWatchMouse; // true => element triggers mouseenter and mouseleave callback
00046     bool                            mbMouseIsOver; // used by mbWatchMouse
00047     size_t                          miUID;
00048     size_t                          miPosMode;
00049     size_t                          miTurnMode;
00050     size_t                          miTextMode;
00051     Ogre::Vector2                   mvBase;
00052     Ogre::Vector2                   mvParam;
00053     Ogre::Vector2                   mvParam2;
00054     Ogre::Vector2                   mvSizeParam;
00055     Ogre::Real                      mfParam;
00056     Ogre::Real                      mfCurRotate; // in radians , needed for SetRotate(mfCurRotate + x)
00057     Ogre::Real                      mfTurnBase;
00058     Ogre::Real                      mfTurnParam;
00059     Ogre::Real                      mfTurnParam2;
00060     Ogre::Real                      mfTurnMin;
00061     Ogre::Real                      mfTurnMax;
00062     cSmartPtr<cObject>              mpObj1; // usually set to target
00063     static Ogre::Overlay*           mpHUDOverlay; // one global overlay
00064     cGfx2D*                         mpGfx2D;
00065     
00066              cHUDElement2D  ();
00067     virtual ~cHUDElement2D  ();
00068     
00069     virtual void Listener_Notify (cListenable* pTarget,const size_t eventcode = 0,const size_t param = 0,const size_t userdata = 0);
00070 
00071     void    Init            ();
00072     void    VarUpdate       ();
00073     void    TrackingStep    ();
00074     static bool GetScreenPos    (const Ogre::Vector3& pos,Ogre::Real& x,Ogre::Real& y,const Ogre::Real rad,Ogre::Real& cx,Ogre::Real& cy);
00075     
00076     // lua binding
00077     static void     LuaRegister         (lua_State *L);
00078 };
00079 
00080 #endif

Generated on Tue May 22 06:00:13 2012 for cpp by  doxygen 1.5.6