#ifndef _BASERENDERER_H_
#define _BASERENDERER_H_
+#include "PluginBase.h"
#include "LayerType.h"
#include "Scene.h"
#include "IRenderer.h"
#include "WindowSystems/BaseWindowSystem.h"
-class BaseRenderer: public IRenderer
+class BaseRenderer : public IRenderer, public PluginBase
{
public:
- BaseRenderer(Scene* pScene);
+ BaseRenderer(ICommandExecutor& executor, Configuration& config);
virtual ~BaseRenderer();
- bool start(int, int, const char*) = 0;
+ bool start(int, int, const char*, int) = 0;
void stop() = 0;
void setdebug(bool onoff);
- virtual void doScreenShot(std::string fileToSave) = 0;
+ virtual void doScreenShot(std::string fileToSave, const uint screen_id) = 0;
virtual uint getLayerTypeCapabilities(LayerType layerType);
- virtual Shader* createShader(const string* vertexName, const string* fragmentName);
+ virtual InputManager* getInputManager() const
+ {
+ return m_pInputManager;
+ }
+ virtual Shader* createShader(const string* vertexName, const string* fragmentName);
+ virtual bool setOptimizationMode(unsigned int id, unsigned int mode)
+ {
+ (void)id;
+ (void)mode;
+ return false;
+ }
+ virtual bool getOptimizationMode(unsigned int id, unsigned int *mode)
+ {
+ (void)id;
+ (void)mode;
+ return false;
+ }
protected:
Scene* m_pScene;
+ InputManager* m_pInputManager;
private:
static bool debugMode;
};
-inline Shader* BaseRenderer::createShader(const string* vertexName, const string* fragmentName)
+inline Shader* BaseRenderer::createShader(const string* vertexName, const string* fragmentName)
{
- (void)vertexName; // TODO: removed, prevents warning
- (void)fragmentName; // TODO: removed, prevents warning
+ (void)vertexName; // TODO: removed, prevents warning
+ (void)fragmentName; // TODO: removed, prevents warning
return NULL;
}
inline void BaseRenderer::setdebug(bool onoff)