Ignore:
Timestamp:
03/16/05 11:20:22 (19 years ago)
Author:
gametools
Message:

added mouse functionality

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/OcclusionCullingSceneManager/TestCulling/TestCullingApplication.h

    r16 r18  
    33        TestCullingApplication.h 
    44*/ 
     5#include "CEGUIForwardRefs.h" 
     6#include "ExampleApplication.h" 
    57 
    6 #include "ExampleApplication.h" 
     8 
     9class MouseQueryListener : public ExampleFrameListener, public MouseListener, public MouseMotionListener 
     10{ 
     11public: 
     12 
     13    MouseQueryListener(RenderWindow* win, Camera* cam, SceneManager *sceneManager, CEGUI::Renderer *renderer, 
     14                                           SceneNode* shipNode) 
     15        : ExampleFrameListener(win, cam, false, true), mGUIRenderer(renderer), mShipNode(shipNode) 
     16    { 
     17                // Setup default variables 
     18        mCurrentObject = NULL; 
     19        mLMouseDown = false; 
     20        mRMouseDown = false; 
     21        mSceneMgr = sceneManager; 
     22 
     23        // Reduce move speed 
     24        mMoveSpeed = 50; 
     25        mRotateSpeed *= 2; 
     26 
     27                // Register this so that we get mouse events. 
     28        mEventProcessor->addMouseListener( this ); 
     29        mEventProcessor->addMouseMotionListener( this ); 
     30    } // MouseQueryListener 
     31 
     32    ~MouseQueryListener( ) 
     33    { 
     34    } 
     35 
     36    bool frameStarted(const FrameEvent &evt) 
     37    { 
     38        return ExampleFrameListener::frameStarted( evt ); 
     39    } 
     40 
     41   /* MouseListener callbacks. */ 
     42   virtual void mouseClicked(MouseEvent* e) { } 
     43   virtual void mouseEntered(MouseEvent* e) { } 
     44   virtual void mouseExited(MouseEvent* e)  { } 
     45 
     46   // This is when the mouse button goes DOWN. 
     47   virtual void mousePressed(MouseEvent* e); 
     48 
     49   // This is when the mouse button is let UP. 
     50   virtual void mouseReleased(MouseEvent* e); 
     51 
     52   /* MouseMotionListener callbacks */ 
     53   virtual void mouseMoved (MouseEvent *e); 
     54    
     55   // This is when the mouse is clicked, held and dragged. 
     56   virtual void mouseDragged (MouseEvent *e); 
     57 
     58protected: 
     59    bool mLMouseDown, mRMouseDown;     // True if the mouse buttons are down 
     60    SceneManager *mSceneMgr;           // A pointer to the scene manager 
     61    SceneNode *mCurrentObject;         // The newly created object 
     62    CEGUI::Renderer *mGUIRenderer;     // cegui renderer 
     63        SceneNode* mShipNode; 
     64}; 
     65 
    766 
    867class TestCullingFrameListener : public ExampleFrameListener 
     
    56115        void createFrameListener(void) 
    57116    { 
    58        mFrameListener= new TestCullingFrameListener(mWindow, mCamera, mShipNode); 
    59        mRoot->addFrameListener(mFrameListener); 
     117                mFrameListener= new MouseQueryListener(mWindow, mCamera, mSceneMgr, mGUIRenderer, mShipNode); 
     118                mFrameListener->showDebugOverlay(true); 
     119                mRoot->addFrameListener(mFrameListener); 
    60120    } 
     121 
     122        CEGUI::OgreCEGUIRenderer *mGUIRenderer; 
     123        CEGUI::System *mGUISystem; 
    61124 
    62125private: 
     
    86149    void chooseSceneManager(void) 
    87150    { 
    88     //    mSceneMgr = mRoot->getSceneManager(ST_GENERIC); 
    89                 mSceneMgr = mRoot->getSceneManager(ST_INTERIOR); 
     151        mSceneMgr = mRoot->getSceneManager(ST_GENERIC); 
     152                //mSceneMgr = mRoot->getSceneManager(ST_INTERIOR); 
    90153    } 
    91154        /* 
Note: See TracChangeset for help on using the changeset viewer.