X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fimage%2Fimage-visual.cpp;h=5c8a00482684047ae5c5933b3bfb760a94503523;hp=fe7507b2ddc2d859be698fda4a04d86cb167c3fb;hb=1fbb87959f02b4526fd66d9b8b39e4f8241c23ee;hpb=df9206b56a50eafee07e57b6d6797060a8d5ccb3 diff --git a/dali-toolkit/internal/visuals/image/image-visual.cpp b/dali-toolkit/internal/visuals/image/image-visual.cpp index fe7507b..5c8a004 100644 --- a/dali-toolkit/internal/visuals/image/image-visual.cpp +++ b/dali-toolkit/internal/visuals/image/image-visual.cpp @@ -31,6 +31,7 @@ // INTERNAL HEADERS #include +#include #include #include #include @@ -58,6 +59,7 @@ const char * const IMAGE_SAMPLING_MODE( "samplingMode" ); const char * const IMAGE_DESIRED_WIDTH( "desiredWidth" ); const char * const IMAGE_DESIRED_HEIGHT( "desiredHeight" ); const char * const SYNCHRONOUS_LOADING( "synchronousLoading" ); +const char * const IMAGE_ATLASING("atlasing"); // fitting modes DALI_ENUM_TO_STRING_TABLE_BEGIN( FITTING_MODE ) @@ -257,7 +259,8 @@ ImageVisual::ImageVisual( VisualFactoryCache& factoryCache, mFittingMode( fittingMode ), mSamplingMode( samplingMode ), mWrapModeU( WrapMode::DEFAULT ), - mWrapModeV( WrapMode::DEFAULT ) + mWrapModeV( WrapMode::DEFAULT ), + mAttemptAtlasing( false ) { } @@ -272,7 +275,8 @@ ImageVisual::ImageVisual( VisualFactoryCache& factoryCache, const Image& image ) mFittingMode( FittingMode::DEFAULT ), mSamplingMode( SamplingMode::DEFAULT ), mWrapModeU( WrapMode::DEFAULT ), - mWrapModeV( WrapMode::DEFAULT ) + mWrapModeV( WrapMode::DEFAULT ), + mAttemptAtlasing( false ) { } @@ -324,10 +328,14 @@ void ImageVisual::DoSetProperties( const Property::Map& propertyMap ) { DoSetProperty( Toolkit::ImageVisual::Property::SYNCHRONOUS_LOADING, keyValue.second ); } + else if ( keyValue.first == IMAGE_ATLASING ) + { + DoSetProperty( Toolkit::DevelImageVisual::Property::ATLASING, keyValue.second ); + } } } - if( mImpl->mFlags & Impl::IS_SYNCHRONOUS_RESOURCE_LOADING && mImageUrl.IsValid() ) + if( ( mImpl->mFlags & Impl::IS_SYNCHRONOUS_RESOURCE_LOADING ) && mImageUrl.IsValid() ) { // if sync loading is required, the loading should start // immediately when new image url is set or the actor is off stage @@ -427,6 +435,12 @@ void ImageVisual::DoSetProperty( Property::Index index, const Property::Value& v mWrapModeV = Dali::WrapMode::Type( wrapMode ); break; } + + case Toolkit::DevelImageVisual::Property::ATLASING: + { + bool atlasing = false; + mAttemptAtlasing = value.Get( atlasing ); + } } } @@ -632,7 +646,7 @@ void ImageVisual::InitializeRenderer() Vector4 atlasRect; // texture set has to be created first as we need to know if atlasing succeeded or not // when selecting the shader - TextureSet textures = CreateTextureSet( atlasRect, IsSynchronousResourceLoading(), true ); + TextureSet textures = CreateTextureSet( atlasRect, IsSynchronousResourceLoading(), mAttemptAtlasing ); CreateRenderer( textures ); if( mImpl->mFlags & Impl::IS_ATLASING_APPLIED ) // the texture is packed inside atlas @@ -765,6 +779,8 @@ void ImageVisual::DoCreatePropertyMap( Property::Map& map ) const map.Insert( Toolkit::ImageVisual::Property::PIXEL_AREA, mPixelArea ); map.Insert( Toolkit::ImageVisual::Property::WRAP_MODE_U, mWrapModeU ); map.Insert( Toolkit::ImageVisual::Property::WRAP_MODE_V, mWrapModeV ); + + map.Insert( Toolkit::DevelImageVisual::Property::ATLASING, mAttemptAtlasing ); } void ImageVisual::DoCreateInstancePropertyMap( Property::Map& map ) const