Merge "[NUI] Add Extents type Padding in View"
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / VisualMaps.cs
index 0ff2a39..2368c55 100755 (executable)
  * limitations under the License.
  *
  */
-
+using System.Text;
+using System.Collections.Generic;
+using Tizen.NUI.BaseComponents;
+using System.ComponentModel;
 
 namespace Tizen.NUI
 {
-    using System.Text;
-    using System.Collections.Generic;
-    using Tizen.NUI.BaseComponents;
-
     /// <summary>
     /// A class encapsulating the transform map of the visual.
     /// </summary>
+    /// <since_tizen> 3 </since_tizen>
     public class VisualMap
     {
         private Vector2 _visualSize = null;
@@ -65,6 +65,7 @@ namespace Tizen.NUI
         /// <summary>
         /// Constructor.
         /// </summary>
+        /// <since_tizen> 3 </since_tizen>
         public VisualMap()
         {
         }
@@ -610,6 +611,7 @@ namespace Tizen.NUI
     /// <summary>
     /// A class encapsulating the property map of the image visual.
     /// </summary>
+    /// <since_tizen> 3 </since_tizen>
     public class ImageVisual : VisualMap
     {
         /// <summary>
@@ -633,6 +635,9 @@ namespace Tizen.NUI
         private WrapModeType? _wrapModeV = null;
         private float? _maskContentScale = null;
         private bool? _cropToMask = null;
+        private ReleasePolicyType? _releasePolicy = null;
+        private LoadPolicyType? _loadPolicy = null;
+        private bool? _orientationCorrection = true;
 
         /// <summary>
         /// Gets or sets the URL of the image.<br />
@@ -890,6 +895,65 @@ namespace Tizen.NUI
             }
         }
 
+
+        /// <summary>
+        /// Get or set the Image Visual release policy<br />
+        /// It decides if a texture should be released from the cache or kept to reduce loading time <br />
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public ReleasePolicyType ReleasePolicy
+        {
+            get
+            {
+                return _releasePolicy ?? (ReleasePolicyType.Destroyed );
+            }
+            set
+            {
+                _releasePolicy = value;
+                UpdateVisual();
+            }
+        }
+
+
+        /// <summary>
+        /// Get or set the Image Visual image loading policy<br />
+        /// It decides if a texture should be loaded immediately after source set or only after visual is added to window <br />
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public LoadPolicyType LoadPolicy
+        {
+            get
+            {
+                return _loadPolicy ?? (LoadPolicyType.Attached);
+            }
+            set
+            {
+                _loadPolicy = value;
+                UpdateVisual();
+            }
+        }
+
+        /// <summary>
+        /// Get or set whether to automatically correct the orientation based on exif data.<br />
+        /// If not specified, the default is true.<br />
+        /// For JPEG images only.<br />
+        /// Optional.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public bool OrientationCorrection
+        {
+            get
+            {
+                return _orientationCorrection ?? (true);
+            }
+            set
+            {
+                _orientationCorrection = value;
+                UpdateVisual();
+            }
+        }
+
+
         /// <summary>
         /// Compose the out visual map.
         /// </summary>
@@ -917,6 +981,9 @@ namespace Tizen.NUI
                 if (_opacity != null) { _outputVisualMap.Add((int)Visual.Property.Opacity, new PropertyValue((float)_opacity)); }
                 if (_maskContentScale != null) { _outputVisualMap.Add((int)ImageVisualProperty.MaskContentScale, new PropertyValue((float)_maskContentScale)); }
                 if (_cropToMask != null) { _outputVisualMap.Add((int)ImageVisualProperty.CropToMask, new PropertyValue((bool)_cropToMask)); }
+                if (_releasePolicy != null) { _outputVisualMap.Add( ImageVisualProperty.ReleasePolicy , new PropertyValue((int)_releasePolicy)); }
+                if (_loadPolicy != null) { _outputVisualMap.Add( ImageVisualProperty.LoadPolicy, new PropertyValue((int)_loadPolicy)); }
+                if (_orientationCorrection != null) { _outputVisualMap.Add( ImageVisualProperty.OrientationCorrection, new PropertyValue((bool)_orientationCorrection)); }
             }
         }
     }
@@ -924,6 +991,7 @@ namespace Tizen.NUI
     /// <summary>
     /// A class encapsulating the property map of the text visual.
     /// </summary>
+    /// <since_tizen> 3 </since_tizen>
     public class TextVisual : VisualMap
     {
         /// <summary>
@@ -1203,6 +1271,7 @@ namespace Tizen.NUI
     /// <summary>
     /// A class encapsulating the property map of the border visual.
     /// </summary>
+    /// <since_tizen> 3 </since_tizen>
     public class BorderVisual : VisualMap
     {
         /// <summary>
@@ -1296,6 +1365,7 @@ namespace Tizen.NUI
     /// <summary>
     /// A class encapsulating the property map of the color visual.
     /// </summary>
+    /// <since_tizen> 3 </since_tizen>
     public class ColorVisual : VisualMap
     {
         /// <summary>
@@ -1347,6 +1417,7 @@ namespace Tizen.NUI
     /// <summary>
     /// A class encapsulating the property map of the gradient visual.
     /// </summary>
+    /// <since_tizen> 3 </since_tizen>
     public class GradientVisual : VisualMap
     {
         /// <summary>
@@ -1545,6 +1616,7 @@ namespace Tizen.NUI
     /// <summary>
     /// A class encapsulating the property map of the mesh visual.
     /// </summary>
+    /// <since_tizen> 3 </since_tizen>
     public class MeshVisual : VisualMap
     {
         /// <summary>
@@ -1724,6 +1796,7 @@ namespace Tizen.NUI
     /// <summary>
     /// A class encapsulating the property map of the primetive visual.
     /// </summary>
+    /// <since_tizen> 3 </since_tizen>
     public class PrimitiveVisual : VisualMap
     {
         /// <summary>
@@ -2037,6 +2110,7 @@ namespace Tizen.NUI
     /// <summary>
     /// A class encapsulating the property map of the n-patch image visual.
     /// </summary>
+    /// <since_tizen> 3 </since_tizen>
     public class NPatchVisual : VisualMap
     {
         /// <summary>
@@ -2132,6 +2206,7 @@ namespace Tizen.NUI
     /// <summary>
     /// A class encapsulating the property map of the SVG visual.
     /// </summary>
+    /// <since_tizen> 3 </since_tizen>
     public class SVGVisual : VisualMap
     {
         /// <summary>
@@ -2183,6 +2258,7 @@ namespace Tizen.NUI
     /// <summary>
     /// A class encapsulating the property map of the animated image (AGIF) visual.
     /// </summary>
+    /// <since_tizen> 3 </since_tizen>
     public class AnimatedImageVisual : VisualMap
     {
         /// <summary>
@@ -2201,7 +2277,7 @@ namespace Tizen.NUI
         /// <summary>
         /// Gets and Sets the url in the AnimatedImageVisual.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
+        /// <since_tizen> 3 </since_tizen>
         public string URL
         {
             get
@@ -2337,6 +2413,7 @@ namespace Tizen.NUI
     /// <summary>
     /// A class encapsulating the property map of the transition data.
     /// </summary>
+    /// <since_tizen> 3 </since_tizen>
     public class VisualAnimator : VisualMap
     {
         /// <summary>
@@ -2585,4 +2662,4 @@ namespace Tizen.NUI
 
 
 
-}
\ No newline at end of file
+}