From bff594921f6570d34dc7d4001d09e95ebbf6fc3f Mon Sep 17 00:00:00 2001 From: Sunghyun Kim Date: Tue, 6 Apr 2021 16:41:56 +0900 Subject: [PATCH] [NUI] Keep the previously set FittingMode value FittingMode should be applied even if Url is set later. so ImageView need to keep the previsouly set fittingMode value. --- src/Tizen.NUI/src/public/BaseComponents/ImageView.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Tizen.NUI/src/public/BaseComponents/ImageView.cs b/src/Tizen.NUI/src/public/BaseComponents/ImageView.cs index f0a5b1c..a251914 100755 --- a/src/Tizen.NUI/src/public/BaseComponents/ImageView.cs +++ b/src/Tizen.NUI/src/public/BaseComponents/ImageView.cs @@ -266,6 +266,7 @@ namespace Tizen.NUI.BaseComponents private string _alphaMaskUrl = null; private int _desired_width = -1; private int _desired_height = -1; + private VisualFittingModeType _fittingMode = VisualFittingModeType.Fill; private readonly TriggerableSelector resourceUrlSelector = new TriggerableSelector(ResourceUrlProperty); private readonly TriggerableSelector borderSelector = new TriggerableSelector(BorderProperty); @@ -889,12 +890,13 @@ namespace Tizen.NUI.BaseComponents { get { - int ret = (int)VisualFittingModeType.Fill; + int ret = (int)_fittingMode; PropertyMap imageMap = new PropertyMap(); PropertyValue image = Tizen.NUI.Object.GetProperty(SwigCPtr, ImageView.Property.IMAGE); image?.Get(imageMap); PropertyValue fittingMode = imageMap?.Find(Visual.Property.VisualFittingMode); fittingMode?.Get(out ret); + _fittingMode = (VisualFittingModeType)ret; imageMap?.Dispose(); image?.Dispose(); @@ -905,6 +907,7 @@ namespace Tizen.NUI.BaseComponents set { VisualFittingModeType ret = CovertFittingModetoVisualFittingMode(value); + _fittingMode = ret; PropertyValue setValue = new PropertyValue((int)ret); UpdateImage(Visual.Property.VisualFittingMode, setValue); setValue?.Dispose(); @@ -1223,6 +1226,13 @@ namespace Tizen.NUI.BaseComponents border?.Dispose(); } + if(key != Visual.Property.VisualFittingMode && _fittingMode != VisualFittingModeType.Fill) + { + PropertyValue fittingMode = new PropertyValue((int)_fittingMode); + imageMap?.Insert(Visual.Property.VisualFittingMode, fittingMode); + fittingMode?.Dispose(); + } + PropertyValue synchronosLoading = new PropertyValue(_synchronosLoading); imageMap?.Insert(NpatchImageVisualProperty.SynchronousLoading, synchronosLoading); synchronosLoading?.Dispose(); -- 2.7.4