1 #ifndef __DALI_INTERNAL_SCENE_GRAPH_SCENE_CONTROLLER_IMPL_H__
2 #define __DALI_INTERNAL_SCENE_GRAPH_SCENE_CONTROLLER_IMPL_H__
5 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
22 #include <dali/internal/update/controllers/scene-controller.h>
34 * concrete implementation of the scene controller interface
36 class SceneControllerImpl: public SceneController
43 * @param[in] context dali context
44 * @param[in] rendererDispatcher Used for passing ownership of renderers to the render-thread.
45 * @param[in] renderQueue The renderQueue
46 * @param[in] discardQueue The discardQueue
47 * @param[in] completeStatusTracker The resource complete status tracker
48 * @param[in] defaultShader to use for renderable attachments
50 SceneControllerImpl( RenderMessageDispatcher& renderMessageDispatcher,
51 RenderQueue& renderQueue,
52 DiscardQueue& discardQueue,
53 TextureCache& textureCache,
54 CompleteStatusManager& completeStatusManager );
59 virtual ~SceneControllerImpl();
61 public: // from SceneController
64 * @copydoc SceneController::GetRenderMessageDispatcher()
66 virtual RenderMessageDispatcher& GetRenderMessageDispatcher() { return mRenderMessageDispatcher; }
69 * @copydoc SceneController::GetRenderQueue()
71 virtual RenderQueue& GetRenderQueue() { return mRenderQueue; }
74 * @copydoc SceneController::GetDiscardQueue()
76 virtual DiscardQueue& GetDiscardQueue() { return mDiscardQueue; }
79 * @copydoc SceneController::GetTextureCache()
81 virtual TextureCache& GetTextureCache() { return mTextureCache; }
84 * @copydoc SceneController::GetCompleteStatusManager()
86 virtual CompleteStatusManager& GetCompleteStatusManager() { return mCompleteStatusManager; }
90 // Undefined copy constructor.
91 SceneControllerImpl( const SceneControllerImpl& );
93 // Undefined assignment operator.
94 SceneControllerImpl& operator=( const SceneControllerImpl& );
98 RenderMessageDispatcher& mRenderMessageDispatcher; ///< Used for passing messages to the render-thread
99 RenderQueue& mRenderQueue; ///< render queue
100 DiscardQueue& mDiscardQueue; ///< discard queue
101 TextureCache& mTextureCache; ///< texture cache
102 CompleteStatusManager& mCompleteStatusManager; ///< Complete Status manager
106 } // namespace SceneGraph
108 } // namespace Internal
112 #endif // __DALI_INTERNAL_SCENE_GRAPH_SCENE_CONTROLLER_IMPL_H__