Update lua versions
[ryzomcore.git] / nel / samples / 3d / cegui / NeLDriver.h
blob1dd867536fb03041c4654fb3e5a8b3b9bdf29ca0
1 /**
2 * \file NeLDriver.cpp
3 * \date November 2004
4 * \author Matt Raykowski
5 * \author Henri Kuuste
6 */
8 // NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
9 // Copyright (C) 2010 Winch Gate Property Limited
11 // This program is free software: you can redistribute it and/or modify
12 // it under the terms of the GNU Affero General Public License as
13 // published by the Free Software Foundation, either version 3 of the
14 // License, or (at your option) any later version.
16 // This program is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 // GNU Affero General Public License for more details.
21 // You should have received a copy of the GNU Affero General Public License
22 // along with this program. If not, see <http://www.gnu.org/licenses/>.
24 #ifndef __NELDRIVER_H__
25 #define __NELDRIVER_H__
28 // NeL Includes
30 #include <nel/misc/value_smoother.h>
32 extern uint16 gScreenWidth;
33 extern uint16 gScreenHeight;
35 class NeLDriver {
36 public:
37 NeLDriver(NL3D::UDriver *driver):m_Driver(driver), m_TextContext(NULL), m_Scene(NULL) { }
38 virtual ~NeLDriver() { }
40 void init();
41 void update();
42 void render();
44 double getFps();
46 NL3D::UDriver &getDriver() const;
47 NL3D::UScene &getScene() const;
48 NL3D::UTextContext &getTextContext() const;
50 private:
51 // 3D
52 NL3D::UDriver *m_Driver;
53 NL3D::UTextContext *m_TextContext;
54 NL3D::UScene *m_Scene;
56 // TIME
57 NLMISC::CValueSmootherTemplate<double> m_DeltaTimeSmooth;
58 double m_DeltaTime;
59 double m_FirstTime;
60 double m_OldTime;
61 double m_Time;
65 #endif // __NELDRIVER_H__