From: Chihun Jeong <50663828+ANZ1217@users.noreply.github.com> Date: Tue, 13 May 2025 06:27:38 +0000 (+0900) Subject: [NUI] Introduce Conic Gradient (#6906) X-Git-Tag: submit/tizen/20250514.063913~1^2~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=132e8754fb51f2808f8b7e3d23e678d032bdb432;p=platform%2Fcore%2Fcsapi%2Ftizenfx.git [NUI] Introduce Conic Gradient (#6906) You can use conic gradient using Center and StartAngle. Co-authored-by: ANZ1217 --- diff --git a/src/Tizen.NUI/src/internal/Interop/Interop.GradientVisual.cs b/src/Tizen.NUI/src/internal/Interop/Interop.GradientVisual.cs index bc3ec5846..539f27849 100755 --- a/src/Tizen.NUI/src/internal/Interop/Interop.GradientVisual.cs +++ b/src/Tizen.NUI/src/internal/Interop/Interop.GradientVisual.cs @@ -46,6 +46,8 @@ namespace Tizen.NUI public static extern int GradientVisualSpreadMethodGet(); [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_GRADIENT_VISUAL_START_OFFSET_get")] public static extern int GradientVisualStartOffsetGet(); + [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_GRADIENT_VISUAL_START_ANGLE_get")] + public static extern int GradientVisualStartAngleGet(); } } } diff --git a/src/Tizen.NUI/src/internal/NativeBinding/NDalic.cs b/src/Tizen.NUI/src/internal/NativeBinding/NDalic.cs index 63cb73344..61501bc9a 100755 --- a/src/Tizen.NUI/src/internal/NativeBinding/NDalic.cs +++ b/src/Tizen.NUI/src/internal/NativeBinding/NDalic.cs @@ -368,6 +368,7 @@ namespace Tizen.NUI internal static readonly int GradientVisualUnits = Interop.NDalicGradientVisual.GradientVisualUnitsGet(); internal static readonly int GradientVisualSpreadMethod = Interop.NDalicGradientVisual.GradientVisualSpreadMethodGet(); internal static readonly int GradientVisualStartOffset = Interop.NDalicGradientVisual.GradientVisualStartOffsetGet(); + internal static readonly int GradientVisualStartAngle = Interop.NDalicGradientVisual.GradientVisualStartAngleGet(); internal static readonly int ImageVisualUrl = Interop.NDalicImageVisual.ImageVisualUrlGet(); internal static readonly int ImageVisualAlphaMaskUrl = Interop.NDalicImageVisual.ImageVisualAlphaMaskUrlGet(); diff --git a/src/Tizen.NUI/src/public/Visuals/GradientVisual.cs b/src/Tizen.NUI/src/public/Visuals/GradientVisual.cs index 95a0dedda..645fef4ac 100755 --- a/src/Tizen.NUI/src/public/Visuals/GradientVisual.cs +++ b/src/Tizen.NUI/src/public/Visuals/GradientVisual.cs @@ -34,6 +34,7 @@ namespace Tizen.NUI private GradientVisualUnitsType? _units; private GradientVisualSpreadMethodType? _spreadMethod; private float? _startOffset; + private float? _startAngle; /// /// Default constructor of GradientVisual. @@ -81,7 +82,7 @@ namespace Tizen.NUI /// /// Gets or sets the center point of a radial gradient.
- /// Mandatory for radial.
+ /// Mandatory for radial and conic.
///
/// 3 public Vector2 Center @@ -212,6 +213,25 @@ namespace Tizen.NUI } } + /// + /// Gets or sets the start angle of the conic gradient.
+ /// Mandatory for conic.
+ /// Optional. + ///
+ [EditorBrowsable(EditorBrowsableState.Never)] + public float StartAngle + { + get + { + return _startAngle ?? (0.0f); + } + set + { + _startAngle = value; + UpdateVisual(); + } + } + /// /// Compose the out visual map. /// diff --git a/src/Tizen.NUI/src/public/Visuals/VisualConstants.cs b/src/Tizen.NUI/src/public/Visuals/VisualConstants.cs index e8492afa3..cba688e1b 100755 --- a/src/Tizen.NUI/src/public/Visuals/VisualConstants.cs +++ b/src/Tizen.NUI/src/public/Visuals/VisualConstants.cs @@ -724,7 +724,7 @@ namespace Tizen.NUI /// 3 public static readonly int EndPosition = NDalic.GradientVisualEndPosition; /// - /// The center point of a radial gradient. + /// The center point of a radial and conic gradient. /// /// 3 public static readonly int Center = NDalic.GradientVisualCenter; @@ -758,6 +758,11 @@ namespace Tizen.NUI ///
[EditorBrowsable(EditorBrowsableState.Never)] public static readonly int StartOffset = NDalic.GradientVisualStartOffset; + /// + /// Sets the gradient's start angle of a conic gradiant. + /// + [EditorBrowsable(EditorBrowsableState.Never)] + public static readonly int StartAngle = NDalic.GradientVisualStartAngle; } ///