X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Frender-tasks%2Fscene-graph-render-task-list.h;h=50542eddd0f9952773ba6364ec5bee2fe6c03c06;hb=refs%2Ftags%2Faccepted%2Ftizen%2Fivi%2F20170314.074858;hp=ad40d2d520ef6ec1dc14e1737ddb683d213e8608;hpb=73c37a734c864d1098c86a44a064c9f35a2ed15d;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/update/render-tasks/scene-graph-render-task-list.h b/dali/internal/update/render-tasks/scene-graph-render-task-list.h index ad40d2d..50542ed 100644 --- a/dali/internal/update/render-tasks/scene-graph-render-task-list.h +++ b/dali/internal/update/render-tasks/scene-graph-render-task-list.h @@ -2,7 +2,7 @@ #define __DALI_INTERNAL_SCENE_GRAPH_RENDER_TASK_LIST_H__ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2015 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. @@ -19,8 +19,8 @@ */ // INTERNAL INCLUDES +#include #include -#include #include namespace Dali @@ -28,12 +28,12 @@ namespace Dali namespace Internal { -class CompleteStatusManager; + class CompleteNotificationInterface; namespace SceneGraph { - +class RenderMessageDispatcher; class RenderTask; /** @@ -47,8 +47,9 @@ public: /** * Constructor + * @param renderMessageDispatcher to send messages */ - RenderTaskList( CompleteStatusManager& completeStatusManager ); + RenderTaskList( RenderMessageDispatcher& renderMessageDispatcher ); /** * Destructor @@ -101,8 +102,8 @@ private: private: CompleteNotificationInterface* mNotificationObject; ///< object to pass in to the complete notification + RenderMessageDispatcher& mRenderMessageDispatcher; ///< for sending messages to render thread RenderTaskContainer mRenderTasks; ///< A container of owned RenderTasks - CompleteStatusManager& mCompleteStatusManager; ///< The complete status tracker (render tasks need this) }; @@ -110,7 +111,8 @@ private: inline void AddTaskMessage( EventThreadServices& eventThreadServices, RenderTaskList& list, RenderTask& task ) { - typedef MessageValue1< RenderTaskList, RenderTask* > LocalType; + // Message has ownership of the RenderTask while in transit from event -> update + typedef MessageValue1< RenderTaskList, OwnerPointer< RenderTask > > LocalType; // Reserve some memory inside the message queue unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) );