projects
/
platform
/
core
/
uifw
/
dali-core.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
If a RenderTask's exclusive actor is destoryed, then ensure the RenderTaskList of...
[platform/core/uifw/dali-core.git]
/
dali
/
internal
/
event
/
render-tasks
/
render-task-list-impl.h
diff --git
a/dali/internal/event/render-tasks/render-task-list-impl.h
b/dali/internal/event/render-tasks/render-task-list-impl.h
index
6d351c2
..
068a42f
100644
(file)
--- a/
dali/internal/event/render-tasks/render-task-list-impl.h
+++ b/
dali/internal/event/render-tasks/render-task-list-impl.h
@@
-1,8
+1,8
@@
-#ifndef
__DALI_INTERNAL_RENDER_TASK_LIST_H__
-#define
__DALI_INTERNAL_RENDER_TASK_LIST_H__
+#ifndef
DALI_INTERNAL_RENDER_TASK_LIST_H
+#define
DALI_INTERNAL_RENDER_TASK_LIST_H
/*
/*
- * Copyright (c) 201
4
Samsung Electronics Co., Ltd.
+ * Copyright (c) 201
9
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.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@
-21,9
+21,10
@@
// INTERNAL INCLUDES
#include <dali/public-api/common/vector-wrapper.h>
#include <dali/public-api/object/base-object.h>
// INTERNAL INCLUDES
#include <dali/public-api/common/vector-wrapper.h>
#include <dali/public-api/object/base-object.h>
-#include <dali/public-api/render-tasks/render-task.h>
#include <dali/public-api/render-tasks/render-task-list.h>
#include <dali/internal/event/common/complete-notification-interface.h>
#include <dali/public-api/render-tasks/render-task-list.h>
#include <dali/internal/event/common/complete-notification-interface.h>
+#include <dali/internal/event/render-tasks/render-task-impl.h>
+#include <dali/internal/event/events/actor-observer.h>
namespace Dali
{
namespace Dali
{
@@
-36,8
+37,9
@@
class RenderTaskDefaults;
class Actor;
class CameraActor;
class Actor;
class CameraActor;
+using RenderTaskPtr = IntrusivePtr<RenderTask>;
class RenderTaskList;
class RenderTaskList;
-
typedef IntrusivePtr<RenderTaskList> RenderTaskListPtr
;
+
using RenderTaskListPtr = IntrusivePtr<RenderTaskList>
;
namespace SceneGraph
{
namespace SceneGraph
{
@@
-53,14
+55,16
@@
class RenderTaskList : public BaseObject, public CompleteNotificationInterface
{
public:
{
public:
-
typedef std::vector< Dali::RenderTask > RenderTaskContainer
;
+
using RenderTaskContainer = std::vector< RenderTaskPtr >
;
struct Exclusive
{
RenderTask* renderTaskPtr; ///< Pointer for comparison with current rendertask.
struct Exclusive
{
RenderTask* renderTaskPtr; ///< Pointer for comparison with current rendertask.
- Actor
* actorPtr; ///< Pointer f
or comparison with current actor.
+ Actor
Observer actor; ///< F
or comparison with current actor.
};
};
+ using ExclusivesContainer = std::vector< Exclusive >;
+
/**
* Create a RenderTaskList.
* @return A newly allocated RenderTaskList; the caller takes ownership.
/**
* Create a RenderTaskList.
* @return A newly allocated RenderTaskList; the caller takes ownership.
@@
-70,7
+74,7
@@
public:
/**
* @copydoc Dali::RenderTaskList::CreateTask()
*/
/**
* @copydoc Dali::RenderTaskList::CreateTask()
*/
-
Dali::RenderTask
CreateTask();
+
RenderTaskPtr
CreateTask();
/**
* @brief Creates a new RenderTask.
/**
* @brief Creates a new RenderTask.
@@
-81,12
+85,12
@@
public:
* @param[in] cameraActor The actor from which the scene is viewed for this render task.
* @return A valid handle to a new RenderTask
*/
* @param[in] cameraActor The actor from which the scene is viewed for this render task.
* @return A valid handle to a new RenderTask
*/
-
Dali::RenderTask
CreateTask( Actor* sourceActor, CameraActor* cameraActor);
+
RenderTaskPtr
CreateTask( Actor* sourceActor, CameraActor* cameraActor);
/**
* @copydoc Dali::RenderTaskList::RemoveTask()
*/
/**
* @copydoc Dali::RenderTaskList::RemoveTask()
*/
- void RemoveTask(
Dali::RenderTask
task );
+ void RemoveTask(
Internal::RenderTask&
task );
/**
* @copydoc Dali::RenderTaskList::GetTaskCount()
/**
* @copydoc Dali::RenderTaskList::GetTaskCount()
@@
-96,7
+100,7
@@
public:
/**
* @copydoc Dali::RenderTaskList::GetTask()
*/
/**
* @copydoc Dali::RenderTaskList::GetTask()
*/
-
Dali::RenderTask
GetTask( uint32_t index ) const;
+
RenderTaskPtr
GetTask( uint32_t index ) const;
/**
* Retrieve the container of render-tasks.
/**
* Retrieve the container of render-tasks.
@@
-120,7
+124,7
@@
public:
*
* @return [description]
*/
*
* @return [description]
*/
- const
Vector< Exclusive >
& GetExclusivesList() const
+ const
ExclusivesContainer
& GetExclusivesList() const
{
return mExclusives;
}
{
return mExclusives;
}
@@
-139,6
+143,12
@@
public:
*/
void RecoverFromContextLoss();
*/
void RecoverFromContextLoss();
+ /**
+ * Retrieve the SceneGraph::RenderTaskList object.
+ * @return The RenderTaskList.
+ */
+ const SceneGraph::RenderTaskList& GetSceneObject() const;
+
protected:
/**
protected:
/**
@@
-156,16
+166,6
@@
protected:
*/
void Initialize();
*/
void Initialize();
- /**
- * Helper to create a scene-graph render task list
- */
- void CreateSceneObject();
-
- /**
- * Helper to destroy a scene-graph render task list
- */
- void DestroySceneObject();
-
private: // from CompleteNotificationInterface
/**
private: // from CompleteNotificationInterface
/**
@@
-181,7
+181,7
@@
private:
SceneGraph::RenderTaskList* mSceneObject; ///< Raw-pointer to the scene-graph object; not owned.
RenderTaskContainer mTasks; ///< Reference counted render-tasks
SceneGraph::RenderTaskList* mSceneObject; ///< Raw-pointer to the scene-graph object; not owned.
RenderTaskContainer mTasks; ///< Reference counted render-tasks
-
Vector< Exclusive >
mExclusives; ///< List of rendertasks with exclusively owned source actors.
+
ExclusivesContainer
mExclusives; ///< List of rendertasks with exclusively owned source actors.
};
} // namespace Internal
};
} // namespace Internal
@@
-208,4
+208,4
@@
inline const Internal::RenderTaskList& GetImplementation(const Dali::RenderTaskL
} // namespace Dali
} // namespace Dali
-#endif //
__DALI_INTERNAL_RENDER_TASK_LIST_H__
+#endif //
DALI_INTERNAL_RENDER_TASK_LIST_H