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=a8ae21ce5f170d80ac6acad46f917f6ad6798d18;hp=0abe25651123ed1348320a1dc7ad6134341739b0;hb=cb93c3930ba6271ae4b93a46fbb518833d580651;hpb=43be5a22e9cf512ed1d4e464a68dc91e58a23dfb diff --git a/dali-toolkit/internal/visuals/visual-base-impl.cpp b/dali-toolkit/internal/visuals/visual-base-impl.cpp index 0abe256..a8ae21c 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 )