#define __DALI_INTERNAL_SCENE_GRAPH_RENDER_DATA_PROVIDER_H__
/*
- * Copyright (c) 2016 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/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
{
{
class PropertyBuffer;
class Shader;
+class Renderer;
/**
* Wraps all the data providers for the renderer. This allows the
{
public:
typedef Dali::Vector< const PropertyBufferDataProvider* > VertexBuffers;
- typedef std::vector< Render::Texture > Textures;
typedef std::vector< Render::Sampler* > Samplers;
/**
* The RendererAttachment that creates this object will initialize the members
* directly.
*/
- RenderDataProvider();
+ RenderDataProvider( AnimatableProperty< float >& opacity );
/**
* Destructor
Shader& GetShader() const;
/**
- * Returns the list of textures
- * @return The list of textures
- */
- Textures& GetTextures();
-
- /**
* Returns the list of samplers
* @return The list of samplers
*/
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::Texture*>& GetTextures();
+
+ /**
+ * Get the opacity
+ * @return The opacity
*/
- std::vector<Render::NewTexture*>& GetNewTextures();
+ float GetOpacity( BufferIndex bufferIndex );
private:
- const UniformMapDataProvider* mUniformMapDataProvider;
- Shader* mShader;
- Textures mTextures;
- 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;