/* AppInterface.h Written by Matthew Fisher The AppInterface class serves as an interface between the God class and the current application. It contains a series of Control objects (when there is only one, I just call it MainControl.) Each Control object is a collection of all the meshes/textures/lights etc. associated with a given scene. The AppInterface decides which Control currently has focus and redirects all calls from the God class to the appopriate Control object. For example, if an application had an intro scene, a main menu, and a game window, all three might be seperate Control objects. */ class AppInterface { public: void Init(GraphicsDevice &GD, WindowManager &WM); //called only once, initalizes objects void ReInit(GraphicsDevice &GD, WindowManager &WM); //called whenever the device lost focus and now has it back void Render(GraphicsDevice &GD, WindowManager &WM); //called once each frame when rendering is expected void ResetAllDevices(GraphicsDevice &GD, WindowManager &WM); //called whenever devices might need to reset themselves void End(); //frees all local memory private: MainControl *c1; //the MainControl object (only one control object exists, so it always has rendering focus.) };