Use modern construct 'using' instead of typedef.
[platform/core/uifw/dali-core.git] / dali / internal / render / data-providers / render-data-provider.h
index 3e3f5e2..8f61127 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef __DALI_INTERNAL_SCENE_GRAPH_RENDER_DATA_PROVIDER_H__
-#define __DALI_INTERNAL_SCENE_GRAPH_RENDER_DATA_PROVIDER_H__
+#ifndef DALI_INTERNAL_SCENE_GRAPH_RENDER_DATA_PROVIDER_H
+#define DALI_INTERNAL_SCENE_GRAPH_RENDER_DATA_PROVIDER_H
 
 /*
- * Copyright (c) 2016 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.
 #include <dali/public-api/common/vector-wrapper.h>
 #include <dali/public-api/rendering/renderer.h>
 #include <dali/internal/render/data-providers/node-data-provider.h>
-#include <dali/internal/render/data-providers/property-buffer-data-provider.h>
 #include <dali/internal/render/data-providers/uniform-map-data-provider.h>
 #include <dali/internal/render/renderers/render-sampler.h>
 #include <dali/internal/render/renderers/render-texture.h>
+#include <dali/internal/update/common/animatable-property.h>
 
 namespace Dali
 {
@@ -35,8 +35,8 @@ struct BlendingOptions;
 
 namespace SceneGraph
 {
-class PropertyBuffer;
 class Shader;
+class Renderer;
 
 /**
  * Wraps all the data providers for the renderer. This allows the
@@ -48,15 +48,14 @@ class Shader;
 class RenderDataProvider
 {
 public:
-  typedef Dali::Vector< const PropertyBufferDataProvider* > VertexBuffers;
-  typedef std::vector< Render::Sampler* > Samplers;
+  using Samplers = std::vector<Render::Sampler*>;
 
   /**
    * Constructor.
    * The RendererAttachment that creates this object will initialize the members
    * directly.
    */
-  RenderDataProvider();
+  RenderDataProvider( AnimatableProperty< float >& opacity );
 
   /**
    * Destructor
@@ -95,17 +94,24 @@ public:
   Samplers& GetSamplers();
 
   /**
-   * Returns the list of NewTextures
-   * @return The list of NewTextures
+   * Returns the list of Textures
+   * @return The list of Textures
    */
-  std::vector<Render::NewTexture*>& GetNewTextures();
+  std::vector<Render::Texture*>& GetTextures();
+
+  /**
+   * Get the opacity
+   * @return The opacity
+   */
+  float GetOpacity( BufferIndex bufferIndex );
 
 private:
 
-  const UniformMapDataProvider*       mUniformMapDataProvider;
-  Shader*                             mShader;
-  std::vector<Render::NewTexture*>    mNewTextures;
-  Samplers                            mSamplers;
+  const UniformMapDataProvider*    mUniformMapDataProvider;
+  Shader*                          mShader;
+  std::vector<Render::Texture*>    mTextures;
+  Samplers                         mSamplers;
+  AnimatableProperty< float >&     mOpacity;
 
   // Give Renderer access to our private data to reduce copying vectors on construction.
   friend class Renderer;
@@ -115,4 +121,4 @@ private:
 } // Internal
 } // Dali
 
-#endif // __DALI_INTERNAL_SCENE_GRAPH_RENDER_DATA_PROVIDER_H__
+#endif // DALI_INTERNAL_SCENE_GRAPH_RENDER_DATA_PROVIDER_H