OpenPolygon  1.0.0
OpenPolygon is a Rendering Engine
rendermanager.h
1 /*
2  Copyright (C) 2014 - 2016 Mutzii
3 
4  This program is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program. If not, see <http://www.gnu.org/licenses/>.
16 
17 */
18 #ifndef RENDERMANAGER_H
19 #define RENDERMANAGER_H
20 
21 #include "index.h"
22 #include "framelistener.h"
23 #include "tickmanager.h"
24 #include "systemmanager.h"
25 
26 namespace Engine
27 {
43  {
44  /* List of FrameListener */
45  using FrameAbonnentenList = std::list< FrameListener *>;
46 
47  private:
48 
49  static RenderManager * ptrInstance;
50  static TickManager * m_tick_manager;
51  static SystemManager * m_system_manager;
52 
53  RenderManager();
54  RenderManager( const RenderManager & ){}
55  void operator=( const RenderManager &) {}
56 
57  public:
63  static RenderManager * getSingletonPtr(void);
64  void finish(void);
65 
66  void setSystemManager( SystemManager * systemmanager );
67  void setTickManager( TickManager * tickmanager );
68 
69  SystemManager * getSystemManager(void);
70  TickManager * getTickManager(void);
71 
77  void addFrameListener( FrameListener * frame_listener );
78 
84  void remove( FrameListener * listener );
85 
90  void initFrameListeners( OpenPolygonDisplay * display );
91 
97  void RenderLogic( float time );
98 
103  void RenderFrame( OpenPolygonDisplay * display );
104 
105  private:
106 
107  FrameAbonnentenList mInitListener;
108  FrameAbonnentenList mListener;
109  };
110 
111 }
112 
113 #endif // RENDERMANAGER_H
void RenderLogic(float time)
RenderLogic ( 1 / getLPS )
Definition: RenderManager.cpp:95
Definition: systemmanager.h:29
void initFrameListeners(OpenPolygonDisplay *display)
initFrameListeners
Definition: RenderManager.cpp:82
static RenderManager * getSingletonPtr(void)
getSingletonPtr
Definition: RenderManager.cpp:28
Definition: element.h:23
void RenderFrame(OpenPolygonDisplay *display)
RenderFrame.
Definition: RenderManager.cpp:63
The FrameListener - Interface class.
Definition: framelistener.h:29
The RenderManager class.
Definition: rendermanager.h:42
Definition: tickmanager.h:37
void addFrameListener(FrameListener *frame_listener)
addFrameListener
Definition: RenderManager.cpp:71
The OpenPolygonDisplay - display abstract class.
Definition: display.h:55