Add BuildPickingRay to devel api
[platform/core/uifw/dali-core.git] / dali / internal / update / manager / update-algorithms.h
index 62f2411..eeeb09e 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef __DALI_INTERNAL_SCENE_GRAPH_UPDATE_ALGORITHMS_H__
-#define __DALI_INTERNAL_SCENE_GRAPH_UPDATE_ALGORITHMS_H__
+#ifndef DALI_INTERNAL_SCENE_GRAPH_UPDATE_ALGORITHMS_H
+#define DALI_INTERNAL_SCENE_GRAPH_UPDATE_ALGORITHMS_H
 
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2021 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/common/buffer-index.h>
+#include <dali/internal/update/nodes/node-declarations.h>
 
 namespace Dali
 {
-
 namespace Internal
 {
-
 namespace SceneGraph
 {
-
 class Layer;
-class Node;
 class PropertyOwner;
 class RenderQueue;
 
@@ -40,7 +37,7 @@ class RenderQueue;
  * @param[in] propertyOwner The PropertyOwner to constrain
  * @param[in] updateBufferIndex The current update buffer index.
  */
-void ConstrainPropertyOwner( PropertyOwner& propertyOwner, BufferIndex updateBufferIndex );
+void ConstrainPropertyOwner(PropertyOwner& propertyOwner, BufferIndex updateBufferIndex);
 
 /**
  * Update a tree of nodes
@@ -50,9 +47,17 @@ void ConstrainPropertyOwner( PropertyOwner& propertyOwner, BufferIndex updateBuf
  * @param[in] renderQueue Used to query messages for the next Render.
  * @return The cumulative (ORed) dirty flags for the updated nodes
  */
-int UpdateNodeTree( Layer& rootNode,
-                    BufferIndex updateBufferIndex,
-                    RenderQueue& renderQueue );
+NodePropertyFlags UpdateNodeTree(Layer&       rootNode,
+                                 BufferIndex  updateBufferIndex,
+                                 RenderQueue& renderQueue);
+/**
+ * This updates all the sub-layer's reusability flags without affecting
+ * the root layer.
+ *
+ * @param layer The root layer
+ * @param updateBufferIndex The current buffer index
+ */
+void UpdateLayerTree(Layer& layer, BufferIndex updateBufferIndex);
 
 } // namespace SceneGraph
 
@@ -60,5 +65,4 @@ int UpdateNodeTree( Layer& rootNode,
 
 } // namespace Dali
 
-#endif // __DALI_INTERNAL_SCENE_GRAPH_UPDATE_ALGORITHMS_H__
-
+#endif // DALI_INTERNAL_SCENE_GRAPH_UPDATE_ALGORITHMS_H