ScreenDump: Renderers: add screenId in doScreenShot function
[profile/ivi/layer-management.git] / LayerManagerPlugins / Renderers / Base / include / BaseRenderer.h
index f342ba3..7886096 100644 (file)
 #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
     return NULL;
 }
 inline void BaseRenderer::setdebug(bool onoff)