From: Feng Jin Date: Wed, 14 Jun 2017 11:59:39 +0000 (+0800) Subject: [Tizen] Add value check to color. X-Git-Tag: preview1-00180^2~244 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c7cd2d9b8ed0defba2bfc99cb29e879f6f42c992;p=platform%2Fcore%2Fcsapi%2Ftizenfx.git [Tizen] Add value check to color. Fix some build error for NUI project. Conflicts: Tizen.NUI/Tizen.NUI.csproj Change-Id: Ib9f18b26db4f03c56dc42a5f610c2126155ba33b Signed-off-by: Feng Jin --- diff --git a/src/Tizen.NUI/src/public/Color.cs b/src/Tizen.NUI/src/public/Color.cs index 505feb6..9170658 100755 --- a/src/Tizen.NUI/src/public/Color.cs +++ b/src/Tizen.NUI/src/public/Color.cs @@ -116,7 +116,9 @@ namespace Tizen.NUI /// A Color containing the result of the addition public static Color operator +(Color arg1, Color arg2) { - return arg1.Add(arg2); + Color result = arg1.Add(arg2); + ValueCheck(result); + return result; } /// @@ -127,7 +129,9 @@ namespace Tizen.NUI /// A Color containing the result of the subtraction public static Color operator -(Color arg1, Color arg2) { - return arg1.Subtract(arg2); + Color result = arg1.Subtract(arg2); + ValueCheck(result); + return result; } /// @@ -137,7 +141,9 @@ namespace Tizen.NUI /// A Color containg the negation public static Color operator -(Color arg1) { - return arg1.Subtract(); + Color result = arg1.Subtract(); + ValueCheck(result); + return result; } /// @@ -148,12 +154,16 @@ namespace Tizen.NUI /// A Color containing the result of the multiplication public static Color operator *(Color arg1, Color arg2) { - return arg1.Multiply(arg2); + Color result = arg1.Multiply(arg2); + ValueCheck(result); + return result; } public static Color operator*(Color arg1, float arg2) { - return arg1.Multiply(arg2); + Color result = arg1.Multiply(arg2); + ValueCheck(result); + return result; } /// @@ -164,12 +174,16 @@ namespace Tizen.NUI /// A Color containing the result of the division public static Color operator /(Color arg1, Color arg2) { - return arg1.Divide(arg2); + Color result = arg1.Divide(arg2); + ValueCheck(result); + return result; } public static Color operator/(Color arg1, float arg2) { - return arg1.Divide(arg2); + Color result = arg1.Divide(arg2); + ValueCheck(result); + return result; } /// @@ -210,6 +224,10 @@ namespace Tizen.NUI /// alpha component public Color(float r, float g, float b, float a) : this(NDalicPINVOKE.new_Vector4__SWIG_1(r, g, b, a), true) { + ValueCheck(ref r); + ValueCheck(ref g); + ValueCheck(ref b); + ValueCheck(ref a); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } @@ -219,6 +237,10 @@ namespace Tizen.NUI /// array Array of R,G,B,A public Color(float[] array) : this(NDalicPINVOKE.new_Vector4__SWIG_2(array), true) { + ValueCheck(ref array[0]); + ValueCheck(ref array[1]); + ValueCheck(ref array[2]); + ValueCheck(ref array[3]); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } @@ -355,6 +377,7 @@ namespace Tizen.NUI { set { + ValueCheck(ref value); NDalicPINVOKE.Vector4_r_set(swigCPtr, value); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } @@ -373,6 +396,7 @@ namespace Tizen.NUI { set { + ValueCheck(ref value); NDalicPINVOKE.Vector4_g_set(swigCPtr, value); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } @@ -391,6 +415,7 @@ namespace Tizen.NUI { set { + ValueCheck(ref value); NDalicPINVOKE.Vector4_b_set(swigCPtr, value); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } @@ -409,6 +434,7 @@ namespace Tizen.NUI { set { + ValueCheck(ref value); NDalicPINVOKE.Vector4_a_set(swigCPtr, value); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } @@ -564,6 +590,64 @@ namespace Tizen.NUI return new Color(vec.R, vec.G, vec.B, vec.A); } + internal static void ValueCheck(Color color) + { + if (color.R < 0.0f) + { + color.R = 0.0f; + Tizen.Log.Fatal("NUI", "The value of Result is invalid! Should be between [0, 1]."); + } + else if (color.R > 1.0f) + { + color.R = 1.0f; + Tizen.Log.Fatal("NUI", "The value of Result is invalid! Should be between [0, 1]."); + } + if (color.G < 0.0f) + { + color.G = 0.0f; + Tizen.Log.Fatal("NUI", "The value of Result is invalid! Should be between [0, 1]."); + } + else if (color.G > 1.0f) + { + color.G = 1.0f; + Tizen.Log.Fatal("NUI", "The value of Result is invalid! Should be between [0, 1]."); + } + if (color.B < 0.0f) + { + color.B = 0.0f; + Tizen.Log.Fatal("NUI", "The value of Result is invalid! Should be between [0, 1]."); + } + else if (color.B > 1.0f) + { + color.B = 1.0f; + Tizen.Log.Fatal("NUI", "The value of Result is invalid! Should be between [0, 1]."); + } + if (color.A < 0.0f) + { + color.A = 0.0f; + Tizen.Log.Fatal("NUI", "The value of Result is invalid! Should be between [0, 1]."); + } + else if (color.A > 1.0f) + { + color.A = 1.0f; + Tizen.Log.Fatal("NUI", "The value of Result is invalid! Should be between [0, 1]."); + } + } + + internal static void ValueCheck(ref float value) + { + if (value < 0.0f) + { + value = 0.0f; + Tizen.Log.Fatal("NUI", "The value of Parameters is invalid! Should be between [0, 1]."); + } + else if (value > 1.0f) + { + value = 1.0f; + Tizen.Log.Fatal("NUI", "The value of Parameters is invalid! Should be between [0, 1]."); + } + } + } }