X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Frender%2Fdata-providers%2Frender-data-provider.h;h=aae42628a7de1fa38b07d930220d613537b24437;hb=4d75040ab200bd306ec5a48f2a617480062eef4c;hp=ef8a0ed43dd93ab83d118a7743c4aee2a2623ea4;hpb=956396a07f6ab262893ac0636119a5f3878da083;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/render/data-providers/render-data-provider.h b/dali/internal/render/data-providers/render-data-provider.h old mode 100644 new mode 100755 index ef8a0ed..aae4262 --- a/dali/internal/render/data-providers/render-data-provider.h +++ b/dali/internal/render/data-providers/render-data-provider.h @@ -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. @@ -18,11 +18,14 @@ * */ +#include +#include #include #include #include +#include #include -#include +#include namespace Dali { @@ -35,6 +38,7 @@ namespace SceneGraph { class PropertyBuffer; class Shader; +class Renderer; /** * Wraps all the data providers for the renderer. This allows the @@ -42,21 +46,19 @@ class Shader; * the current render. It essentially provides double buffering of the * provider accessor through the message system. It does not take ownership * of any objects. - * - * @todo - Add set of bools to state what changed (For improving performance) */ 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 @@ -89,16 +91,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 + */ + Samplers& GetSamplers(); + + /** + * Returns the list of Textures + * @return The list of Textures + */ + std::vector& GetTextures(); + + /** + * Get the opacity + * @return The opacity */ - Textures& GetTextures(); + float GetOpacity( BufferIndex bufferIndex ); private: - const UniformMapDataProvider* mUniformMapDataProvider; - Shader* mShader; - Textures mTextures; + const UniformMapDataProvider* mUniformMapDataProvider; + Shader* mShader; + std::vector mTextures; + Samplers mSamplers; + AnimatableProperty< float >& mOpacity; // Give Renderer access to our private data to reduce copying vectors on construction. friend class Renderer;