1 #ifndef __FRAMEWORK_H__
2 #define __FRAMEWORK_H__
3 
4 #include "shader.h"
5 
6 /**
7  * Framework class.
8  * The framework class offers methods to modify the current frame. This
9  * should be used to display bitmaps, shaders, etc. Framework can be used
10  * to display levelshots or levels previews, menu, etc.
11  * The framework is reserved to main program. The engine will not render
12  * it, and main program is responsible for rendering framework correctly.
13  * @todo Evaluate framework useness: the user can manually create and use a
14  *       shadermanager.
15  * @bug There is a bug at shutting if only one map has been loaded.
16  */
17 class FrameWork
18 {
19   public:
20     FrameWork();
21     ~FrameWork();
22 
23     void Init(void);
24     void Shut(void);
25 
26     /**
27      * Updates the framework shaders.
28      */
29     void Update(void);
30     void Render(void);
31 
32     void SetFont(int num, int chartype);
33     int GetFont(int chartype);
34 
35     ShaderManager shaders;
36 
37   private:
38     int chars_shader;
39     int propfont1_shader;
40     int propfont1_glow_shader;
41     int propfont2_shader;
42 };
43 
44 #endif  /* __FRAMEWORK_H__ */
45