From: Ferran Sole Date: Mon, 8 Jun 2015 16:54:23 +0000 (+0100) Subject: Added getter for the shader in Material X-Git-Tag: dali_1.0.47~8^2^2~15^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b03bb92346bb61f6ab5834285a53e942864b49ba;p=platform%2Fcore%2Fuifw%2Fdali-core.git Added getter for the shader in Material Change-Id: I87cc41ad9a0a14cbfcaa18dd59c63626e855387c --- diff --git a/dali/internal/event/effects/material-impl.cpp b/dali/internal/event/effects/material-impl.cpp index a769c1e..0ef7b95 100644 --- a/dali/internal/event/effects/material-impl.cpp +++ b/dali/internal/event/effects/material-impl.cpp @@ -70,6 +70,11 @@ void Material::SetShader( Shader& shader ) SceneGraph::SetShaderMessage( GetEventThreadServices(), *mSceneObject, sceneGraphShader ); } +Shader* Material::GetShader() const +{ + return mShaderConnector.Get().Get(); +} + void Material::AddSampler( Sampler& sampler ) { SamplerConnector connector; diff --git a/dali/internal/event/effects/material-impl.h b/dali/internal/event/effects/material-impl.h index 7691a43..089d7e1 100644 --- a/dali/internal/event/effects/material-impl.h +++ b/dali/internal/event/effects/material-impl.h @@ -65,6 +65,11 @@ public: void SetShader( Shader& shader ); /** + * @copydoc Dali::Material::GetShader() + */ + Shader* GetShader() const; + + /** * @copydoc Dali::Material::AddSampler() */ void AddSampler( Sampler& sampler ); diff --git a/dali/public-api/shader-effects/material.cpp b/dali/public-api/shader-effects/material.cpp index c5ac258..5a946b7 100644 --- a/dali/public-api/shader-effects/material.cpp +++ b/dali/public-api/shader-effects/material.cpp @@ -65,6 +65,12 @@ void Material::SetShader( Shader& shader ) GetImplementation(*this).SetShader( GetImplementation( shader ) ); } +Shader Material::GetShader() const +{ + Internal::Shader* shaderPtr( GetImplementation(*this).GetShader() ); + return Dali::Shader( shaderPtr ); +} + void Material::AddSampler( Sampler& sampler ) { DALI_ASSERT_ALWAYS( sampler && "Sampler handle is uninitialized" ); diff --git a/dali/public-api/shader-effects/material.h b/dali/public-api/shader-effects/material.h index f5c21f7..74e59d8 100644 --- a/dali/public-api/shader-effects/material.h +++ b/dali/public-api/shader-effects/material.h @@ -132,6 +132,13 @@ public: void SetShader( Shader& shader ); /** + * @brief Gets the shader used by this material + * + * @return The shader used by the material + */ + Shader GetShader() const; + + /** * @brief Add a sampler to this material * * param[in] sampler The sampler to add to this material