[NUI] Save the cropMask value internally in ImageView (#3983)
authortscholb <scholb.kim@samsung.com>
Wed, 2 Mar 2022 07:10:36 +0000 (16:10 +0900)
committerGitHub <noreply@github.com>
Wed, 2 Mar 2022 07:10:36 +0000 (16:10 +0900)
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

index aa9311a..a1c11b5 100755 (executable)
@@ -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<string> resourceUrlSelector;
         private TriggerableSelector<Rectangle> 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);