V-Gears 0
Free Final Fantasy VII engine.
GameFrameListener.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2022 The V-Gears Team
3 *
4 * This file is part of V-Gears
5 *
6 * V-Gears is free software: you can redistribute it and/or modify it under
7 * terms of the GNU General Public License as published by the Free Software
8 * Foundation, version 3.0 (GPLv3) of the License.
9 *
10 * V-Gears is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 */
15
16#pragma once
17
18#include <OgreFrameListener.h>
19#include <OgreRenderWindow.h>
20#include <OgreWindowEventUtilities.h>
21#include <OIS/OIS.h>
22
29 public Ogre::FrameListener, public Ogre::WindowEventListener,
30 public OIS::KeyListener, public OIS::MouseListener
31{
32 public:
33
39 GameFrameListener(Ogre::RenderWindow* win);
40
44 virtual ~GameFrameListener();
45
53 bool frameStarted(const Ogre::FrameEvent& evt);
54
63 bool frameEnded(const Ogre::FrameEvent& evt);
64
70 virtual void windowMoved(Ogre::RenderWindow *rw);
71
77 virtual void windowResized(Ogre::RenderWindow *rw);
78
84 virtual void windowClosed(Ogre::RenderWindow* rw);
85
91 virtual void windowFocusChange(Ogre::RenderWindow *rw);
92
98 bool keyPressed(const OIS::KeyEvent& e);
99
105 bool keyReleased(const OIS::KeyEvent& e);
106
112 bool mouseMoved(const OIS::MouseEvent &e);
113
120 bool mousePressed(const OIS::MouseEvent &e, OIS::MouseButtonID id);
121
128 bool mouseReleased(const OIS::MouseEvent &e, OIS::MouseButtonID id);
129
130 protected:
131
135 Ogre::RenderWindow* window_;
136
140 OIS::InputManager* input_manager_;
141
145 OIS::Keyboard* keyboard_;
146
150 OIS::Mouse* mouse_;
151};
152
The game frame listener.
Definition: GameFrameListener.h:31
Ogre::RenderWindow * window_
The render window.
Definition: GameFrameListener.h:135
virtual ~GameFrameListener()
Destructor.
Definition: GameFrameListener.cpp:63
bool keyPressed(const OIS::KeyEvent &e)
Triggered when a key is pressed.
Definition: GameFrameListener.cpp:132
virtual void windowMoved(Ogre::RenderWindow *rw)
Event triggered when the window moves.
Definition: GameFrameListener.cpp:112
bool frameEnded(const Ogre::FrameEvent &evt)
Called just after a frame has been rendered.
Definition: GameFrameListener.cpp:101
OIS::Mouse * mouse_
The mouse.
Definition: GameFrameListener.h:150
bool mouseMoved(const OIS::MouseEvent &e)
Triggered when the mouse moves.
Definition: GameFrameListener.cpp:144
bool mousePressed(const OIS::MouseEvent &e, OIS::MouseButtonID id)
Triggered when a mouse button is pressed.
Definition: GameFrameListener.cpp:150
virtual void windowFocusChange(Ogre::RenderWindow *rw)
Event triggered when the window losses or gains the focus.
Definition: GameFrameListener.cpp:130
bool frameStarted(const Ogre::FrameEvent &evt)
Called when a frame is about to begin rendering.
Definition: GameFrameListener.cpp:72
virtual void windowResized(Ogre::RenderWindow *rw)
Event triggered when the window changes it's size.
Definition: GameFrameListener.cpp:114
bool mouseReleased(const OIS::MouseEvent &e, OIS::MouseButtonID id)
Triggered when a mouse button is released.
Definition: GameFrameListener.cpp:155
OIS::InputManager * input_manager_
The input manager.
Definition: GameFrameListener.h:140
bool keyReleased(const OIS::KeyEvent &e)
Triggered when a key is released.
Definition: GameFrameListener.cpp:138
virtual void windowClosed(Ogre::RenderWindow *rw)
Event triggered when the window is closed.
Definition: GameFrameListener.cpp:126
GameFrameListener(Ogre::RenderWindow *win)
Constructor.
Definition: GameFrameListener.cpp:34
OIS::Keyboard * keyboard_
The keyboard.
Definition: GameFrameListener.h:145