X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Feffects%2Fscene-graph-material.cpp;h=90ae5fa973d0c32f9eec36e3bbc0997171745dd8;hb=9bfb55a7f4c165130f70e280ada5d54372840e47;hp=c0ee2ca1cc1b6baa917545f9ee0847f2c3cc5275;hpb=b2d687369c19f14d76be52ced7f1dcc30116d2c1;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/update/effects/scene-graph-material.cpp b/dali/internal/update/effects/scene-graph-material.cpp index c0ee2ca..90ae5fa 100644 --- a/dali/internal/update/effects/scene-graph-material.cpp +++ b/dali/internal/update/effects/scene-graph-material.cpp @@ -43,7 +43,7 @@ Material::~Material() { } -void Material::SetShader( const Shader* shader ) +void Material::SetShader( Shader* shader ) { mShader = shader; // Inform NewRenderer about this shader: (Will force a re-load of the @@ -54,42 +54,29 @@ void Material::SetShader( const Shader* shader ) Shader* Material::GetShader() const { // @todo - Fix this - move shader setup to the Renderer connect to stage... - return const_cast(mShader); + return mShader; } -void Material::AddSampler( const Sampler* sampler ) +void Material::AddSampler( Sampler* sampler ) { - const SamplerDataProvider* sdp = static_cast< const SamplerDataProvider*>( sampler ); - mSamplers.PushBack( sdp ); + mSamplers.PushBack( sampler ); - Sampler* mutableSampler = const_cast(sampler); - mutableSampler->AddConnectionObserver( *this ); - mutableSampler->AddUniformMapObserver( *this ); + sampler->AddConnectionObserver( *this ); + sampler->AddUniformMapObserver( *this ); mConnectionObservers.ConnectionsChanged(*this); } -void Material::RemoveSampler( const Sampler* sampler ) +void Material::RemoveSampler( Sampler* sampler ) { - const SamplerDataProvider* samplerDataProvider = sampler; - bool found = false; + Vector::Iterator match = std::find( mSamplers.Begin(), mSamplers.End(), sampler ); - RenderDataProvider::Samplers::Iterator iter = mSamplers.Begin(); - for( ; iter != mSamplers.End(); ++iter ) + DALI_ASSERT_DEBUG( mSamplers.End() != match ); + if( mSamplers.End() != match ) { - if( *iter == samplerDataProvider ) - { - found = true; - break; - } - } - - if( found ) - { - Sampler* mutableSampler = const_cast(sampler); - mutableSampler->RemoveConnectionObserver( *this ); - mutableSampler->RemoveUniformMapObserver( *this ); - mSamplers.Erase(iter); + sampler->RemoveConnectionObserver( *this ); + sampler->RemoveUniformMapObserver( *this ); + mSamplers.Erase( match ); mConnectionObservers.ConnectionsChanged(*this); } else @@ -98,7 +85,7 @@ void Material::RemoveSampler( const Sampler* sampler ) } } -const RenderDataProvider::Samplers& Material::GetSamplers() const +Vector& Material::GetSamplers() { return mSamplers; } @@ -111,12 +98,12 @@ void Material::DisconnectFromSceneGraph( SceneController& sceneController, Buffe { } -void Material::AddConnectionObserver( ConnectionObservers::Observer& observer ) +void Material::AddConnectionObserver( ConnectionChangePropagator::Observer& observer ) { mConnectionObservers.Add(observer); } -void Material::RemoveConnectionObserver( ConnectionObservers::Observer& observer ) +void Material::RemoveConnectionObserver( ConnectionChangePropagator::Observer& observer ) { mConnectionObservers.Remove(observer); }