/// <returns>A Color containing the result of the addition</returns>
public static Color operator +(Color arg1, Color arg2)
{
- return arg1.Add(arg2);
+ Color result = arg1.Add(arg2);
+ ValueCheck(result);
+ return result;
}
/// <summary>
/// <returns>A Color containing the result of the subtraction</returns>
public static Color operator -(Color arg1, Color arg2)
{
- return arg1.Subtract(arg2);
+ Color result = arg1.Subtract(arg2);
+ ValueCheck(result);
+ return result;
}
/// <summary>
/// <returns>A Color containg the negation</returns>
public static Color operator -(Color arg1)
{
- return arg1.Subtract();
+ Color result = arg1.Subtract();
+ ValueCheck(result);
+ return result;
}
/// <summary>
/// <returns>A Color containing the result of the multiplication</returns>
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;
}
/// <summary>
/// <returns>A Color containing the result of the division</returns>
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;
}
/// <summary>
/// <param name="a">alpha component</param>
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();
}
/// <param name="array">array Array of R,G,B,A</param>
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();
}
{
set
{
+ ValueCheck(ref value);
NDalicPINVOKE.Vector4_r_set(swigCPtr, value);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
{
set
{
+ ValueCheck(ref value);
NDalicPINVOKE.Vector4_g_set(swigCPtr, value);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
{
set
{
+ ValueCheck(ref value);
NDalicPINVOKE.Vector4_b_set(swigCPtr, value);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
{
set
{
+ ValueCheck(ref value);
NDalicPINVOKE.Vector4_a_set(swigCPtr, value);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
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].");
+ }
+ }
+
}
}