Changeset 2896 for code/trunk/src/orxonox/gamestates/GSGraphics.h
- Timestamp:
- Apr 6, 2009, 1:59:00 AM (15 years ago)
- Location:
- code/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/trunk
- Property svn:mergeinfo changed
/code/branches/gui merged: 2796,2798-2801,2805,2807-2808,2811,2814-2817,2834,2840-2850,2853-2854,2859,2862-2863,2869,2875,2887,2892
- Property svn:mergeinfo changed
-
code/trunk/src/orxonox/gamestates/GSGraphics.h
r2797 r2896 23 23 * Reto Grieder 24 24 * Co-authors: 25 * ...25 * Benjamin Knecht (documentation) 26 26 * 27 27 */ 28 29 /** 30 @file 31 @brief Declaration of the Graphics GameState class. 32 */ 28 33 29 34 #ifndef _GSGraphics_H__ … … 31 36 32 37 #include "OrxonoxPrereqs.h" 33 #include <OgrePrerequisites.h>34 #ifndef NOMINMAX35 # define NOMINMAX // required to stop windows.h screwing up std::min definition36 #endif37 #include <OgreWindowEventUtilities.h>38 38 #include "core/GameState.h" 39 #include "core/OrxonoxClass.h" 40 #include "GSRoot.h" 39 #include "tools/WindowEventListener.h" 41 40 42 41 namespace orxonox 43 42 { 44 class _OrxonoxExport GSGraphics : public GameState<GSRoot>, public OrxonoxClass, 45 public Ogre::WindowEventListener, public Ogre::LogListener 43 /** 44 @class GSGraphics 45 @brief 46 Game state used when displaying graphics of any kind 47 48 This game state is only left out if we start a dedicated server where no graphics are present. 49 */ 50 class _OrxonoxExport GSGraphics : public GameState, public WindowEventListener 46 51 { 47 friend class ClassIdentifier<GSGraphics>;48 49 52 public: 50 GSGraphics( );53 GSGraphics(const std::string& name); 51 54 ~GSGraphics(); 52 53 Ogre::Root* getOgreRoot() { return this->ogreRoot_ ; }54 Ogre::Viewport* getViewport() { return this->viewport_ ; }55 GUIManager* getGUIManager() { return this->guiManager_; }56 57 private: // functions58 void enter();59 void leave();60 void ticked(const Clock& time);61 62 55 void setConfigValues(); 63 56 64 void setupOgre(); 65 void loadOgrePlugins(); 66 void declareResources(); 67 void loadRenderer(); 68 void initialiseResources(); 57 void activate(); 58 void deactivate(); 59 void update(const Clock& time); 69 60 70 // console commands 71 void printScreen(); 61 void toggleGUI(); 72 62 73 // event from Ogre::LogListener 74 void messageLogged(const std::string& message, Ogre::LogMessageLevel lml, 75 bool maskDebug, const std::string& logName); 76 77 // window events from Ogre::WindowEventListener 78 void windowMoved (Ogre::RenderWindow* rw); 79 void windowResized (Ogre::RenderWindow* rw); 80 void windowFocusChange (Ogre::RenderWindow* rw); 81 void windowClosed (Ogre::RenderWindow* rw); 82 83 void requestWindowEventListenerUpdate() { this->bWindowEventListenerUpdateRequired_ = true; } 84 85 private: // variables 86 Ogre::RenderWindow* renderWindow_; //!< the current render window 87 Ogre::Viewport* viewport_; //!< default full size viewport 88 bool bWindowEventListenerUpdateRequired_; //!< True if a new WindowEventListener was created but not yet updated. 63 private: 64 // Window events from WindowEventListener 65 void windowResized(unsigned int newWidth, unsigned int newHeight); 66 void windowFocusChanged(); 89 67 90 68 // managed singletons 91 InputManager* inputManager_; 69 InputManager* inputManager_; //!< Reference to input management 92 70 InGameConsole* console_; 93 GUIManager* guiManager_; 94 Ogre::Root* ogreRoot_; //!< Ogre's root 95 Ogre::LogManager* ogreLogger_; 96 GraphicsEngine* graphicsEngine_; //!< Interface to Ogre 71 GUIManager* guiManager_; //!< Interface to GUI 72 GraphicsManager* graphicsManager_; //!< Interface to Ogre 97 73 98 KeyBinder* masterKeyBinder_; 74 KeyBinder* masterKeyBinder_; //!< Key binder for master key bindings 75 SimpleInputState* masterInputState_; //!< Special input state for master input 99 76 XMLFile* debugOverlay_; 100 101 // config values 102 std::string resourceFile_; //!< resources file name 103 std::string ogreConfigFile_; //!< ogre config file name 104 std::string ogrePluginsFolder_; //!< Folder where the Ogre plugins are located 105 std::string ogrePlugins_; //!< Comma separated list of all plugins to load 106 std::string ogreLogFile_; //!< log file name for Ogre log messages 107 int ogreLogLevelTrivial_; //!< Corresponding Orxonx debug level for LL_TRIVIAL 108 int ogreLogLevelNormal_; //!< Corresponding Orxonx debug level for LL_NORMAL 109 int ogreLogLevelCritical_; //!< Corresponding Orxonx debug level for LL_CRITICAL 110 111 // console commands 112 ConsoleCommand* ccPrintScreen_; 77 ConsoleCommand* ccToggleGUI_; //!< Console command to toggle GUI 113 78 }; 114 79 }
Note: See TracChangeset
for help on using the changeset viewer.