#ifndef SPARROWRENDERER_H #define SPARROWRENDERER_H #include #include #include "camera.h" class Module; class SparrowRenderer { public: // main methods void initGL(int width, int height); void destroyGL(); void resize(int width, int height); void render(); // modules methods void addModule(Module* myModule, std::string name); int getNbModules(); // camera methods Camera* getCamera(); protected: typedef struct s_moduleNode{ Module* module; std::string name; bool isEnabled; s_moduleNode(Module* myModule, const std::string &myName) : module(myModule), name(myName), isEnabled(true) {} } ModuleNode; Camera camera; std::list modules; std::list::iterator getModuleNode(std::string name); }; #endif // SPARROWRENDERER_H