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=92cadd74b28249c47502df2f8e076a022785856a;hb=6fac6c064c9002b166b6292d0814fea8f16d7467;hpb=9049b8728f4512d382b790421b37a3ffb0adf9e4 diff --git a/dali-toolkit/internal/visuals/visual-base-impl.cpp b/dali-toolkit/internal/visuals/visual-base-impl.cpp index 92cadd7..0958afa 100644 --- a/dali-toolkit/internal/visuals/visual-base-impl.cpp +++ b/dali-toolkit/internal/visuals/visual-base-impl.cpp @@ -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 )