Revert "[Tizen] Add codes for Dali Windows Backend"
[platform/core/uifw/dali-core.git] / dali / internal / render / data-providers / render-data-provider.h
index d73f70c..478718e 100644 (file)
@@ -2,7 +2,7 @@
 #define __DALI_INTERNAL_SCENE_GRAPH_RENDER_DATA_PROVIDER_H__
 
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 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/devel-api/rendering/renderer.h>
+#include <dali/internal/update/common/animatable-property.h>
 
 namespace Dali
 {
@@ -47,14 +50,14 @@ class RenderDataProvider
 {
 public:
   typedef Dali::Vector< const PropertyBufferDataProvider* > VertexBuffers;
-  typedef std::vector< Render::Texture > Textures;
+  typedef std::vector< Render::Sampler* > Samplers;
 
   /**
    * Constructor.
    * The RendererAttachment that creates this object will initialize the members
    * directly.
    */
-  RenderDataProvider();
+  RenderDataProvider( AnimatableProperty< float >& opacity );
 
   /**
    * Destructor
@@ -87,16 +90,30 @@ public:
   Shader& GetShader() const;
 
   /**
-   * Returns the list of textures
-   * @return The list of textures
+   * Returns the list of samplers
+   * @return The list of samplers
    */
-  Textures& GetTextures();
+  Samplers& GetSamplers();
+
+  /**
+   * Returns the list of Textures
+   * @return The list of Textures
+   */
+  std::vector<Render::Texture*>& GetTextures();
+
+  /**
+   * Get the opacity
+   * @return The opacity
+   */
+  float GetOpacity( BufferIndex bufferIndex );
 
 private:
 
-  const UniformMapDataProvider*       mUniformMapDataProvider;
-  Shader*                             mShader;
-  Textures                            mTextures;
+  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;