Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jul 20, 2008, 7:49:26 PM (16 years ago)
Author:
rgrieder
Message:

merged input branch into gui test branch (was about time)
svn save (it's still a mess and CMLs haven't been updated)
I'll have to create a special project to create the tolua_bind files for tolua itself anyway..

Location:
code/branches/gui
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • code/branches/gui

  • code/branches/gui/src/orxonox/overlays/console/InGameConsole.cc

    r1633 r1638  
    5959        @brief Constructor: Creates and initializes the InGameConsole.
    6060    */
    61     InGameConsole::InGameConsole() :
    62         consoleOverlay_(0), consoleOverlayContainer_(0),
    63         consoleOverlayNoise_(0), consoleOverlayCursor_(0), consoleOverlayBorder_(0),
    64         consoleOverlayTextAreas_(0)
     61    InGameConsole::InGameConsole()
     62        : consoleOverlay_(0)
     63        , consoleOverlayContainer_(0)
     64        , consoleOverlayNoise_(0)
     65        , consoleOverlayCursor_(0)
     66        , consoleOverlayBorder_(0)
     67        , consoleOverlayTextAreas_(0)
     68        , emptySceneManager_(0)
     69        , emptyCamera_(0)
     70        , viewport_(0)
    6571    {
    6672        RegisterObject(InGameConsole);
     
    188194
    189195        Shell::getInstance().addOutputLevel(true);
     196
     197        // create a sceneManager in order to render in our own viewport
     198        this->emptySceneManager_ = Ogre::Root::getSingleton()
     199            .createSceneManager(Ogre::ST_GENERIC, "Console/EmptySceneManager");
     200        this->emptyCamera_ = this->emptySceneManager_->createCamera("Console/EmptyCamera");
     201        this->viewport_ = GraphicsEngine::getSingleton().getRenderWindow()->addViewport(emptyCamera_, 10);
     202        this->viewport_->setOverlaysEnabled(true);
     203        this->viewport_->setClearEveryFrame(false);
    190204
    191205        COUT(4) << "Info: InGameConsole initialized" << std::endl;
     
    476490        {
    477491            this->bActive_ = true;
    478             InputManager::setInputState(InputManager::IS_CONSOLE);
     492            InputManager::requestEnterState("console");
    479493            Shell::getInstance().registerListener(this);
    480494
     
    498512        {
    499513            this->bActive_ = false;
    500             InputManager::setInputState(InputManager::IS_NORMAL);
     514            InputManager::requestLeaveState("console");
    501515            Shell::getInstance().unregisterListener(this);
    502516
  • code/branches/gui/src/orxonox/overlays/console/InGameConsole.h

    r1625 r1638  
    4545    class _OrxonoxExport InGameConsole : public TickableReal, public ShellListener, public WindowEventListener
    4646    {
    47         public: // functions
    48             void initialise();
    49             void destroy();
    50             void setConfigValues();
     47    public: // functions
     48        void initialise();
     49        void destroy();
     50        void setConfigValues();
    5151
    52             void tick(float dt);
     52        void tick(float dt);
    5353
    54             static InGameConsole& getInstance();
     54        static InGameConsole& getInstance();
    5555
    56             static void openConsole();
    57             static void closeConsole();
     56        static void openConsole();
     57        static void closeConsole();
    5858
    59         private: // functions
    60             InGameConsole();
    61             InGameConsole(const InGameConsole& other) {}
    62             ~InGameConsole();
     59    private: // functions
     60        InGameConsole();
     61        InGameConsole(const InGameConsole& other) {}
     62        ~InGameConsole();
    6363
    64             void activate();
    65             void deactivate();
     64        void activate();
     65        void deactivate();
    6666
    67             void linesChanged();
    68             void onlyLastLineChanged();
    69             void lineAdded();
    70             void inputChanged();
    71             void cursorChanged();
    72             void exit();
     67        void linesChanged();
     68        void onlyLastLineChanged();
     69        void lineAdded();
     70        void inputChanged();
     71        void cursorChanged();
     72        void exit();
    7373
    74             void shiftLines();
    75             void colourLine(int colourcode, int index);
    76             void setCursorPosition(unsigned int pos);
    77             void print(const std::string& text, int index, bool alwaysShift = false);
     74        void shiftLines();
     75        void colourLine(int colourcode, int index);
     76        void setCursorPosition(unsigned int pos);
     77        void print(const std::string& text, int index, bool alwaysShift = false);
    7878
    79             void windowResized(int newWidth, int newHeight);
     79        void windowResized(int newWidth, int newHeight);
    8080
    81             static Ogre::UTFString convert2UTF(std::string s);
     81        static Ogre::UTFString convert2UTF(std::string s);
    8282
    83         private: // variables
    84             bool bActive_;
    85             int windowW_;
    86             int windowH_;
    87             int desiredTextWidth_;
    88             unsigned int maxCharsPerLine_;
    89             unsigned int numLinesShifted_;
    90             int scroll_;
    91             float cursor_;
    92             unsigned int inputWindowStart_;
    93             bool bShowCursor_;
    94             std::string displayedText_;
    95             Ogre::Overlay* consoleOverlay_;
    96             Ogre::OverlayContainer* consoleOverlayContainer_;
    97             Ogre::PanelOverlayElement* consoleOverlayNoise_;
    98             Ogre::TextAreaOverlayElement* consoleOverlayCursor_;
    99             Ogre::BorderPanelOverlayElement* consoleOverlayBorder_;
    100             Ogre::TextAreaOverlayElement** consoleOverlayTextAreas_;
     83    private: // variables
     84        bool bActive_;
     85        int windowW_;
     86        int windowH_;
     87        int desiredTextWidth_;
     88        unsigned int maxCharsPerLine_;
     89        unsigned int numLinesShifted_;
     90        int scroll_;
     91        float cursor_;
     92        unsigned int inputWindowStart_;
     93        bool bShowCursor_;
     94        std::string displayedText_;
     95        Ogre::Overlay* consoleOverlay_;
     96        Ogre::OverlayContainer* consoleOverlayContainer_;
     97        Ogre::PanelOverlayElement* consoleOverlayNoise_;
     98        Ogre::TextAreaOverlayElement* consoleOverlayCursor_;
     99        Ogre::BorderPanelOverlayElement* consoleOverlayBorder_;
     100        Ogre::TextAreaOverlayElement** consoleOverlayTextAreas_;
    101101
    102             // config values
    103             float relativeWidth;
    104             float relativeHeight;
    105             float blinkTime;
    106             float scrollSpeed_;
    107             float noiseSize_;
    108             char cursorSymbol_;
     102        Ogre::SceneManager* emptySceneManager_;     //!< dummy SceneManager to render overlays in empty windows
     103        Ogre::Camera*       emptyCamera_;           //!< dummy camera to render overlays in empty windows
     104        Ogre::Viewport*     viewport_;
     105
     106        // config values
     107        float relativeWidth;
     108        float relativeHeight;
     109        float blinkTime;
     110        float scrollSpeed_;
     111        float noiseSize_;
     112        char cursorSymbol_;
    109113    };
    110114}
Note: See TracChangeset for help on using the changeset viewer.