Added getter for the shader in Material 54/40754/3
authorFerran Sole <ferran.sole@samsung.com>
Mon, 8 Jun 2015 16:54:23 +0000 (17:54 +0100)
committerFrancisco Santos <f1.santos@samsung.com>
Tue, 9 Jun 2015 10:02:19 +0000 (03:02 -0700)
Change-Id: I87cc41ad9a0a14cbfcaa18dd59c63626e855387c

dali/internal/event/effects/material-impl.cpp
dali/internal/event/effects/material-impl.h
dali/public-api/shader-effects/material.cpp
dali/public-api/shader-effects/material.h

index a769c1e..0ef7b95 100644 (file)
@@ -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;
index 7691a43..089d7e1 100644 (file)
@@ -65,6 +65,11 @@ public:
   void SetShader( Shader& shader );
 
   /**
+   * @copydoc Dali::Material::GetShader()
+   */
+  Shader* GetShader() const;
+
+  /**
    * @copydoc Dali::Material::AddSampler()
    */
   void AddSampler( Sampler& sampler );
index c5ac258..5a946b7 100644 (file)
@@ -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" );
index f5c21f7..74e59d8 100644 (file)
@@ -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