X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fvisual-base-impl.cpp;h=0958afad58e62f22cddf9c15a26ebe09e2c9199d;hp=0abe25651123ed1348320a1dc7ad6134341739b0;hb=6fac6c064c9002b166b6292d0814fea8f16d7467;hpb=45ecb0b3535fc8588ae5d95d2a846c90422c3a4d diff --git a/dali-toolkit/internal/visuals/visual-base-impl.cpp b/dali-toolkit/internal/visuals/visual-base-impl.cpp index 0abe256..0958afa 100644 --- a/dali-toolkit/internal/visuals/visual-base-impl.cpp +++ b/dali-toolkit/internal/visuals/visual-base-impl.cpp @@ -90,7 +90,7 @@ void Visual::Base::SetProperties( const Property::Map& propertyMap ) case DevelVisual::Property::PREMULTIPLIED_ALPHA: { - bool premultipliedAlpha( premultipliedAlpha ); + bool premultipliedAlpha = false; if( value.Get( premultipliedAlpha ) ) { EnablePreMultipliedAlpha( premultipliedAlpha ); @@ -120,9 +120,28 @@ const std::string& Visual::Base::GetName() return mImpl->mName; } -float Visual::Base::GetHeightForWidth( float width ) const +float Visual::Base::GetHeightForWidth( float width ) { - return 0.f; + float aspectCorrectedHeight = 0.f; + Vector2 naturalSize; + GetNaturalSize( naturalSize ); + if( naturalSize.width ) + { + aspectCorrectedHeight = naturalSize.height * width / naturalSize.width; + } + return aspectCorrectedHeight; +} + +float Visual::Base::GetWidthForHeight( float height ) +{ + float aspectCorrectedWidth = 0.f; + Vector2 naturalSize; + GetNaturalSize( naturalSize ); + if( naturalSize.height > 0.0f ) + { + aspectCorrectedWidth = naturalSize.width * height / naturalSize.height; + } + return aspectCorrectedWidth; } void Visual::Base::GetNaturalSize( Vector2& naturalSize )