From 6e4e4284fcdd18ad2cd436acabcd4ed09f4f9660 Mon Sep 17 00:00:00 2001 From: tscholb Date: Wed, 2 Mar 2022 16:10:36 +0900 Subject: [PATCH] [NUI] Save the cropMask value internally in ImageView (#3983) Regardless of the cropToMask setting order, the value has been modified to apply properly. In the existing code, the appclication set the cropToMask first and setting url later, there was an issue that the set cropToMask value was not applied properly. To solve this issue, it has been modified to save this value at the ImageView. --- 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 aa9311a..a1c11b5 100755 --- a/src/Tizen.NUI/src/public/BaseComponents/ImageView.cs +++ b/src/Tizen.NUI/src/public/BaseComponents/ImageView.cs @@ -268,6 +268,7 @@ namespace Tizen.NUI.BaseComponents private string _alphaMaskUrl = null; private int _desired_width = -1; private int _desired_height = -1; + private bool _cropToMask = false; private VisualFittingModeType _fittingMode = VisualFittingModeType.Fill; private TriggerableSelector resourceUrlSelector; private TriggerableSelector borderSelector; @@ -853,12 +854,13 @@ namespace Tizen.NUI.BaseComponents { get { - bool ret = false; + bool ret = _cropToMask; PropertyMap imageMap = new PropertyMap(); PropertyValue image = Tizen.NUI.Object.GetProperty(SwigCPtr, ImageView.Property.IMAGE); image?.Get(imageMap); PropertyValue cropUrl = imageMap?.Find(ImageVisualProperty.CropToMask); cropUrl?.Get(out ret); + _cropToMask = ret; imageMap?.Dispose(); image?.Dispose(); @@ -868,6 +870,7 @@ namespace Tizen.NUI.BaseComponents } set { + _cropToMask = value; PropertyValue setValue = new PropertyValue(value); UpdateImage(ImageVisualProperty.CropToMask, setValue); setValue.Dispose(); @@ -1349,6 +1352,13 @@ namespace Tizen.NUI.BaseComponents alphaMaskUrl?.Dispose(); } + if(key != ImageVisualProperty.CropToMask) + { + PropertyValue cropToMask = new PropertyValue(_cropToMask); + imageMap?.Insert(ImageVisualProperty.CropToMask, cropToMask); + cropToMask?.Dispose(); + } + if (string.IsNullOrEmpty(_resourceUrl)) { PropertyValue resourceUrl = new PropertyValue(_resourceUrl); -- 2.7.4