source: GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/OBA/OBAOgreFrameListener.h @ 721

Revision 721, 1.7 KB checked in by igarcia, 18 years ago (diff)
Line 
1#ifndef _OBAOGREFRAMELISTENER_H
2#define _OBAOGREFRAMELISTENER_H
3
4#include <OBAPrerequisites.h>
5#include <OBAOgreFrameListenerMode.h>
6
7namespace OBA {
8
9class _OBAExport OgreFrameListener: public Ogre::FrameListener, public Ogre::KeyListener
10{
11protected:
12       
13    void updateStats(void);
14
15        void keyClicked(Ogre::KeyEvent* e);
16
17        void keyPressed(Ogre::KeyEvent* e);
18
19        void keyReleased(Ogre::KeyEvent* e);
20
21public:
22    // Constructor takes a RenderWindow because it uses that to determine input context
23        OgreFrameListener(Ogre::RenderWindow *win, bool useBufferedInputKeys = false, bool useBufferedInputMouse = false);
24
25        virtual ~OgreFrameListener();
26
27        void addFrameListenerMode(OgreFrameListenerMode *ogreFrameListenerMode);
28
29        void removeFrameListenerMode(unsigned int iOgreFrameListenerMode);
30
31        void setEnabledFrameListenerMode(unsigned int iOgreFrameListenerMode);
32
33        OgreFrameListenerMode* getEnabledFrameListenerMode();
34
35        unsigned int getNumFrameListenerModes();
36
37        OgreFrameListenerMode* getFrameListenerMode(unsigned int iOgreFrameListenerMode);
38
39    // Override frameStarted event to process that (don't care about frameEnded)
40        bool frameStarted(const Ogre::FrameEvent& evt);
41
42        bool frameEnded(const Ogre::FrameEvent& evt);
43
44        bool processUnbufferedKeyInput(const Ogre::FrameEvent& evt);
45
46protected:
47        Ogre::EventProcessor* mEventProcessor;
48    Ogre::InputReader* mInputDevice;
49        OgreFrameListenerMode *mDefaultOgreFrameListenerMode;
50        std::vector<OgreFrameListenerMode*> mOgreFrameListenerModeList;
51        bool mUseBufferedInputKeys, mUseBufferedInputMouse, mInputTypeSwitchingOn;
52        Ogre::Real mTimeUntilNextToggle;
53        Ogre::RenderWindow* mWindow;
54        unsigned int mCurrentOgreFrameListenerMode;
55
56};
57
58}
59#endif
Note: See TracBrowser for help on using the repository browser.