END_TEST;
}
-int UtcDaliTextureGetTextureCount0(void)
+int UtcDaliTextureSetGetTextureCount0(void)
{
TestApplication application;
TextureSetImage( textureSet, 1u, image );
DALI_TEST_EQUALS( textureSet.GetTextureCount(), 2u, TEST_LOCATION );
- textureSet.SetSampler( 2u, Sampler::New() );
+ Sampler sampler = Sampler::New();
+ sampler.SetFilterMode( FilterMode::NEAREST, FilterMode::NEAREST );
+ textureSet.SetSampler( 2u, sampler );
+ DALI_TEST_EQUALS( textureSet.GetTextureCount(), 2u, TEST_LOCATION );
+
+ TextureSetImage( textureSet, 2u, image );
DALI_TEST_EQUALS( textureSet.GetTextureCount(), 3u, TEST_LOCATION );
+ DALI_TEST_EQUALS( textureSet.GetSampler(2u), sampler, TEST_LOCATION );
END_TEST;
}
-int UtcDaliTextureGetTextureCount1(void)
+int UtcDaliTextureSetGetTextureCount1(void)
{
TestApplication application;
textureSet.SetTexture( 1u, texture );
DALI_TEST_EQUALS( textureSet.GetTextureCount(), 2u, TEST_LOCATION );
- textureSet.SetSampler( 2u, Sampler::New() );
+ Sampler sampler = Sampler::New();
+ sampler.SetFilterMode( FilterMode::NEAREST, FilterMode::NEAREST );
+ textureSet.SetSampler( 2u, sampler );
+ DALI_TEST_EQUALS( textureSet.GetTextureCount(), 2u, TEST_LOCATION );
+
+ textureSet.SetTexture( 2u, texture );
DALI_TEST_EQUALS( textureSet.GetTextureCount(), 3u, TEST_LOCATION );
+ DALI_TEST_EQUALS( textureSet.GetSampler(2u), sampler, TEST_LOCATION );
+
END_TEST;
}
else
{
mImages.resize(index + 1);
+
+ bool samplerExist = true;
+ if( mSamplers.size() < index + 1 )
+ {
+ mSamplers.resize( index + 1 );
+ samplerExist = false;
+ }
+
mSamplers.resize(index + 1);
for( size_t i(textureCount); i<=index; ++i )
{
mImages[i] = NULL;
- mSamplers[i] = NULL;
+
+ if( !samplerExist )
+ {
+ mSamplers[i] = NULL;
+ }
}
}
mImages[index] = image;
if( index >= textureCount )
{
mNewTextures.resize(index + 1);
- mSamplers.resize(index + 1);
+
+ bool samplerExist = true;
+ if( mSamplers.size() < index + 1 )
+ {
+ mSamplers.resize( index + 1 );
+ samplerExist = false;
+ }
+
for( size_t i(textureCount); i<=index; ++i )
{
mNewTextures[i] = NULL;
- mSamplers[i] = NULL;
+
+ if( !samplerExist )
+ {
+ mSamplers[i] = NULL;
+ }
}
}
if( samplerCount < index + 1 )
{
mSamplers.resize( index + 1 );
- mNewTextures.resize( index + 1 );
- mImages.resize( index + 1 );
for( size_t i(samplerCount); i<=index; ++i )
{
- mImages[i] = NULL;
mSamplers[i] = NULL;
- mNewTextures[i] = NULL;
}
}
size_t TextureSet::GetTextureCount() const
{
- return mSamplers.size();
+ return mImages.size() + mNewTextures.size();
}
const SceneGraph::TextureSet* TextureSet::GetTextureSetSceneObject() const
if( textureCount < index + 1 )
{
mTextureId.Resize( index + 1 );
- mSamplers.Resize( index + 1 );
+
+ bool samplerExist = true;
+ if( mSamplers.Size() < index + 1 )
+ {
+ mSamplers.Resize( index + 1 );
+ samplerExist = false;
+ }
+
for( size_t i(textureCount); i<=index; ++i )
{
mTextureId[i] = Integration::InvalidResourceId;
- mSamplers[i] = NULL;
+ if( !samplerExist )
+ {
+ mSamplers[i] = NULL;
+ }
}
}
if( samplerCount < index + 1 )
{
mSamplers.Resize( index + 1 );
- mTextureId.Resize( index + 1 );
for( size_t i(samplerCount); i<=index; ++i )
{
- mTextureId[i] = Integration::InvalidResourceId;
mSamplers[i] = NULL;
}
}
if( textureCount < index + 1 )
{
mTextures.Resize( index + 1 );
- mSamplers.Resize( index + 1 );
+
+ bool samplerExist = true;
+ if( mSamplers.Size() < index + 1 )
+ {
+ mSamplers.Resize( index + 1 );
+ samplerExist = false;
+ }
for( size_t i(textureCount); i<=index; ++i )
{
mTextures[i] = 0;
- mSamplers[i] = 0;
+
+ if( !samplerExist )
+ {
+ mSamplers[i] = 0;
+ }
}
}