-#ifndef __DALI_INTERNAL_SCENE_GRAPH_RENDER_MESSAGE_DISPATCHER_H__
-#define __DALI_INTERNAL_SCENE_GRAPH_RENDER_MESSAGE_DISPATCHER_H__
+#ifndef DALI_INTERNAL_SCENE_GRAPH_RENDER_MESSAGE_DISPATCHER_H
+#define DALI_INTERNAL_SCENE_GRAPH_RENDER_MESSAGE_DISPATCHER_H
/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*/
// INTERNAL INCLUDES
+#include <dali/internal/render/renderers/render-renderer.h>
#include <dali/internal/update/common/scene-graph-buffers.h>
namespace Dali
{
-
namespace Internal
{
class MessageBase;
+namespace Render
+{
+class RenderTracker;
+}
+
namespace SceneGraph
{
-class Renderer;
class RenderManager;
class RenderQueue;
-class RenderTracker;
/**
* A utility class for sending messages to the render-thread.
class RenderMessageDispatcher
{
public:
-
/**
* Constructor
*/
- RenderMessageDispatcher( RenderManager& renderManager, RenderQueue& renderQueue, const SceneGraphBuffers& buffers );
+ RenderMessageDispatcher(RenderManager& renderManager, RenderQueue& renderQueue, const SceneGraphBuffers& buffers);
/**
* Destructor
* @param[in] renderer The renderer to add.
* @post renderer ownership is transferred.
*/
- void AddRenderer( Renderer& renderer );
+ void AddRenderer(const Render::RendererKey& renderer);
/**
* Remove a Renderer.
- * @param[in] updateBufferIndex The current buffer index.
* @param[in] renderer The renderer to remove.
* @post renderer will be destroyed in the next Render.
*/
- void RemoveRenderer( Renderer& renderer );
+ void RemoveRenderer(const Render::RendererKey& renderer);
/**
* Add a Render tracker.
* @param[in] renderTracker The render tracker to add.
* @post ownership is transferred
*/
- void AddRenderTracker( RenderTracker& renderTracker );
+ void AddRenderTracker(Render::RenderTracker& renderTracker);
/**
* Remove a Render tracker.
* @param[in] renderTracker The render tracker to add.
* @post render tracker will be destroyed in the next Render pass.
*/
- void RemoveRenderTracker( RenderTracker& renderTracker );
+ void RemoveRenderTracker(Render::RenderTracker& renderTracker);
private:
-
RenderManager& mRenderManager;
- RenderQueue& mRenderQueue;
+ RenderQueue& mRenderQueue;
const SceneGraphBuffers& mBuffers;
};
} // namespace Dali
-#endif // __DALI_INTERNAL_SCENE_GRAPH_RENDERER_DISPATCHER_H__
+#endif // DALI_INTERNAL_SCENE_GRAPH_RENDER_MESSAGE_DISPATCHER_H