X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fimage-view%2Fimage-view-impl.cpp;h=3eb0144a036c8b3184b40f501bc5c797f6971814;hp=aecb8592813048bb78e55f1bf80e1b51c68cb307;hb=e9d852fcdacc5788785bfe0b617bd757794e8208;hpb=1ef48207a956ca5a78cad6f953074953fbcf9f60 diff --git a/dali-toolkit/internal/controls/image-view/image-view-impl.cpp b/dali-toolkit/internal/controls/image-view/image-view-impl.cpp index aecb859..3eb0144 100644 --- a/dali-toolkit/internal/controls/image-view/image-view-impl.cpp +++ b/dali-toolkit/internal/controls/image-view/image-view-impl.cpp @@ -12,7 +12,6 @@ // INTERNAL INCLUDES #include #include -#include namespace Dali { @@ -131,17 +130,13 @@ void ImageView::SetImage( const std::string& url, ImageDimensions size ) mUrl = url; - if( size.GetWidth() == 0u && size.GetHeight() == 0u ) - { - mImageSize = ResourceImage::GetImageSize( mUrl ); - } - else + if( size.GetWidth() != 0u && size.GetHeight() != 0u ) { mImageSize = size; } Actor self = Self(); - Toolkit::RendererFactory::Get().ResetRenderer( mRenderer, self, mUrl, mImageSize ); + Toolkit::RendererFactory::Get().ResetRenderer( mRenderer, self, mUrl, size ); RelayoutRequest(); } @@ -149,22 +144,19 @@ void ImageView::SetImage( const std::string& url, ImageDimensions size ) void ImageView::EnablePreMultipliedAlpha( bool preMultipled ) { - mPremultipledAlphaEnabled = preMultipled; - if( mRenderer ) { - ControlRenderer& rendererImpl = GetImplementation( mRenderer ); - if (&typeid( rendererImpl ) == &typeid(ImageRenderer) ) - { - ImageRenderer* imageRenderer = static_cast( &rendererImpl ); - imageRenderer->EnablePreMultipliedAlpha( preMultipled ); - } + GetImplementation( mRenderer ).EnablePreMultipliedAlpha( preMultipled ); } } bool ImageView::IsPreMultipliedAlphaEnabled() const { - return mPremultipledAlphaEnabled; + if( mRenderer ) + { + return GetImplementation( mRenderer ).IsPreMultipliedAlphaEnabled(); + } + return false; } void ImageView::SetDepthIndex( int depthIndex ) @@ -177,8 +169,14 @@ void ImageView::SetDepthIndex( int depthIndex ) Vector3 ImageView::GetNaturalSize() { - Vector3 size; + if( mRenderer ) + { + Vector2 rendererNaturalSize; + mRenderer.GetNaturalSize( rendererNaturalSize ); + return Vector3( rendererNaturalSize ); + } + Vector3 size; size.x = mImageSize.GetWidth(); size.y = mImageSize.GetHeight(); @@ -246,6 +244,17 @@ void ImageView::OnStageDisconnection() Control::OnStageDisconnection(); } +void ImageView::OnSizeSet( const Vector3& targetSize ) +{ + Control::OnSizeSet( targetSize ); + + if( mRenderer ) + { + Vector2 size( targetSize ); + mRenderer.SetSize( size ); + } +} + /////////////////////////////////////////////////////////// // // Properties