Merge changes I7066e6c1,I3f0c228e into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / visuals / visual-base-impl.cpp
index 0abe256..0958afa 100644 (file)
@@ -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 )