Use modern construct 'using' instead of typedef.
[platform/core/uifw/dali-core.git] / dali / internal / event / actors / layer-list.cpp
index 740cdbb..8364a33 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -24,7 +24,6 @@
 // INTERNAL INCLUDES
 #include <dali/integration-api/debug.h>
 #include <dali/internal/event/actors/layer-impl.h>
-#include <dali/internal/event/common/stage-impl.h>
 #include <dali/internal/update/manager/update-manager.h>
 
 namespace Dali
@@ -33,14 +32,12 @@ namespace Dali
 namespace Internal
 {
 
-
-
 namespace // unnamed namespace
 {
 
 typedef std::vector<Layer*> LayerContainer;
-typedef LayerContainer::iterator LayerIter;
-typedef LayerContainer::reverse_iterator ReverseLayerIter;
+using LayerIter        = LayerContainer::iterator;
+using ReverseLayerIter = LayerContainer::reverse_iterator;
 
 /**
  * A private helper template to return an iterator to the layer passed in.
@@ -63,30 +60,30 @@ template<class InputIterator> InputIterator Find( InputIterator first, InputIter
 
 } // unnamed namespace
 
-LayerList* LayerList::New( Stage& stage, bool systemLevel )
+LayerList* LayerList::New( SceneGraph::UpdateManager& updateManager )
 {
-  return new LayerList( stage, systemLevel );
+  return new LayerList( updateManager );
 }
 
 LayerList::~LayerList()
 {
 }
 
-unsigned int LayerList::GetLayerCount() const
+uint32_t LayerList::GetLayerCount() const
 {
-  return mLayers.size();
+  return static_cast<uint32_t>( mLayers.size() ); //  // only 4,294,967,295 layers supported
 }
 
-Layer* LayerList::GetLayer( unsigned int depth ) const
+Layer* LayerList::GetLayer( uint32_t depth ) const
 {
   DALI_ASSERT_ALWAYS( depth < mLayers.size() );
 
   return mLayers[ depth ];
 }
 
-unsigned int LayerList::GetDepth( const Layer* layer ) const
+uint32_t LayerList::GetDepth( const Layer* layer ) const
 {
-  for( unsigned int count = 0; count < mLayers.size(); ++count )
+  for( uint32_t count = 0; count < mLayers.size(); ++count )
   {
     if( layer == mLayers[ count ] )
     {
@@ -237,9 +234,9 @@ void LayerList::MoveLayerBelow( const Layer& layer, const Layer& target )
   }
 }
 
-LayerList::LayerList( Stage& stage, bool systemLevel )
-: mStage( stage ),
-  mIsSystemLevel( systemLevel )
+LayerList::LayerList( SceneGraph::UpdateManager& updateManager )
+: mUpdateManager( updateManager ),
+  mRoot( NULL )
 {
 }
 
@@ -253,12 +250,19 @@ void LayerList::SetLayerDepths()
   // Set the layers (possibly) new depth
   for (LayerIter iter = mLayers.begin(); iter != mLayers.end(); ++iter)
   {
-    SceneGraph::Layer* layerPtr = const_cast< SceneGraph::Layer* >( &( (*iter)->GetSceneLayerOnStage() ) );
+    SceneGraph::Layer* layerPtr = const_cast< SceneGraph::Layer* >( &( (*iter)->GetSceneGraphLayer() ) );
     layers.push_back( layerPtr );
   }
 
   // Layers are being used in a separate thread; queue a message to set order
-  SetLayerDepthsMessage( mStage.GetUpdateManager(), layers, mIsSystemLevel );
+  SetLayerDepthsMessage( mUpdateManager, layers, &( mRoot->GetSceneGraphLayer() ) );
+}
+
+void LayerList::SetRootLayer(Layer* rootLayer)
+{
+  mRoot = rootLayer;
+
+  SetLayerDepths();
 }
 
 } // namespace Internal