X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=plugins%2Fdali-swig%2Fmanual%2Fcsharp%2FSize.cs;h=d238d3664c6a7dfaa61ebec5da2615716c1baaa1;hb=01bb79ad3a163f47b5b98ee2a89cbde8ddca9d3c;hp=07934ff71b905ef6a1f86391d39b78388558d76d;hpb=8c0b17fb124c735b31c441873da4d7ffc4b15eb5;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/plugins/dali-swig/manual/csharp/Size.cs b/plugins/dali-swig/manual/csharp/Size.cs index 07934ff..d238d36 100644 --- a/plugins/dali-swig/manual/csharp/Size.cs +++ b/plugins/dali-swig/manual/csharp/Size.cs @@ -1,160 +1,306 @@ -namespace Dali { - -using System; - -public class Size : Vector2 - { - - /** - * @brief constructor - * - * @since 1.0.0 - * @param [in] a Width value . - * @param [in] b Height value. - */ - public Size(float a, float b) - : base(a, b) - { - } - /** - * @brief default constructor - * - * @since 1.0.0 - */ - public Size() - : base() - { - } - - /** - * @brief constructor with base class object - * - * @since 1.0.0 - * @param [in] o The Vector2 with Width, Height values. - */ - public Size(Vector2 o) - : base(o.x, o.y) - { - - } - - /** - * @brief Copy constructor - * - * @since 1.0.0 - * @param [in] o The Size having Width & Y. - */ - public Size(Size a) - : base(a.width, a.height) - { - } - - ///< name "W", type float (Size Width value) - //@since 1.0.0 - public float W - { - get { return width; } - set { width = value; } - } - - ///< name "H", type float (Size Height value) - //@since 1.0.0 - public float H - { - get { return height; } - set { height = value; } - } - - /** - * @brief operator+ - * - * @since 1.0.0 - * @param [in] l The Size to add. - * @param [in] r The Size to add - * @return A reference to this - */ - public static Size operator +(Size l, Size r) - { - return new Size(l.W + r.W, l.H + r.H); - } - - /** - * @brief operator- - * - * @since 1.0.0 - * @param [in] l The Size to substract. - * @param [in] r The Size to substract - * @return A reference to this - */ - public static Size operator -(Size l, Size r) - { - return new Size(l.W - r.W, l.H - r.H); - } - - /** - * @brief operator* - * - * @since 1.0.0 - * @param [in] a The Size to multiply - * @param [in] b The Size to multiply - * @return A reference to this - */ - public static Size operator *(Size a, double b) - { - return new Size((int)(a.W * b), (int)(a.H * b)); - } - - /** - * @brief operator/ - * - * @since 1.0.0 - * @param [in] a The Size to divide. - * @param [in] b The Size to divide - * @return float of the size division - */ - public static float operator /(Size a, Size b) - { - return (float)System.Math.Sqrt((a.W / b.W) * (a.H / b.H)); - } - - /** - * @brief Equals - * - * @since 1.0.0 - * @param [in] obj The Size object to compare. - * @return bool, whether object equal or not - */ - public override bool Equals(object obj) - { - Size that = obj as Size; - if (that == null) - { - return false; - } - return this.W == that.W && this.H == that.H; - } - - /** - * @brief GetHashCode - * - * @since 1.0.0 - * @return int, hascode of Size - */ - public override int GetHashCode() - { - return (int)(W + H); - } - - /** - * @brief Clone - * - * @since 1.0.0 - * @return returns a copy of Size object - */ - public Size Clone() - { - Size copy = new Size(W, H); - return copy; - } - } +namespace Dali +{ + using System; + + public class Size + { + private float width; + private float height; + + /** + * @brief constructor + * + * @since 1.0.0 + * @param [in] a Width value . + * @param [in] b Height value. + */ + public Size(float a, float b) + { + width = a; + height = b; + } + /** + * @brief default constructor + * + * @since 1.0.0 + */ + public Size() + { + width = 0.0f; + height = 0.0f; + } + + /** + * @brief constructor with base class object + * + * @since 1.0.0 + * @param [in] o The Vector2 with Width, Height values. + */ + public Size(Vector2 o) + { + width = o.X; + height = o.Y; + } + + /** + * @brief Copy constructor + * + * @since 1.0.0 + * @param [in] o The Size having Width & Y. + */ + public Size(Size a) + { + width = a.width; + height = a.height; + } + + ///< name "W", type float (Size Width value) + //@since 1.0.0 + public float W + { + get { return width; } + set { width = value; } + } + + ///< name "H", type float (Size Height value) + //@since 1.0.0 + public float H + { + get { return height; } + set { height = value; } + } + + public float Width + { + get { return width; } + set { width = value; } + } + + public float Height + { + get { return height; } + set { height = value; } + } + + /** + * @brief operator+ + * + * @since 1.0.0 + * @param [in] l The Size to add. + * @param [in] r The Size to add + * @return A reference to this + */ + public static Size operator +(Size l, Size r) + { + return new Size(l.W + r.W, l.H + r.H); + } + + /** + * @brief operator- + * + * @since 1.0.0 + * @param [in] l The Size to substract. + * @param [in] r The Size to substract + * @return A reference to this + */ + public static Size operator -(Size l, Size r) + { + return new Size(l.W - r.W, l.H - r.H); + } + + /** + * @brief operator* + * + * @since 1.0.0 + * @param [in] a The Size to multiply + * @param [in] b The constant to multiply of type double. + * @return A reference to this + */ + public static Size operator *(Size a, double b) + { + return new Size((float)(a.W * b), (float)(a.H * b)); + } + + /** + * @brief operator/ + * + * @since 1.0.0 + * @param [in] a The Size to divide. + * @param [in] b The Size to divide + * @return float of the size division + */ + public static float operator /(Size a, Size b) + { + return (float)System.Math.Sqrt((a.W / b.W) * (a.H / b.H)); + } + + /** + * @brief Operator == + * + * @since 1.0.0 + * @param [in] a The Size object to compare. + * @param [in] b The Size object to compare. + * @return bool, whether Size are equal or not + */ + public static bool operator == (Size a, Size b) + { + return a.W == b.W && a.H == b.H ; + } + + /** + * @brief Operator != + * + * @since 1.0.0 + * @param [in] a The Size object to compare. + * @param [in] b The Size object to compare. + * @return bool, whether Size are equal or not + */ + public static bool operator != (Size a, Size b) + { + return a.W != b.W || a.H != b.H; + } + + /** + * @brief GetHashCode + * + * @since 1.0.0 + * @return int, hascode of Size + */ + public override int GetHashCode() + { + return (int)(W + H); + } + + /** + * @brief Clone + * + * @since 1.0.0 + * @return returns a copy of Size object + */ + public Size Clone() + { + Size copy = new Size(W, H); + return copy; + } + + // User-defined conversion from Position to Vector2 + public static implicit operator Vector2(Size size) + { + return new Vector2(size.width, size.height); + } + + public static implicit operator Size(Vector2 vec) + { + return new Size(vec.X, vec.Y); + } + } + + public class Size3D + { + private float width; + private float height; + private float depth; + + public Size3D(float a, float b, float c) + { + width = a; + height = b; + depth = c; + } + + public Size3D() + { + width = 0.0f; + height = 0.0f; + depth = 0.0f; + } + + public Size3D(Vector3 o) + { + width = o.X; + height = o.Y; + depth = o.Z; + } + + public Size3D(Vector2 o) + { + width = o.X; + height = o.Y; + depth = 0.0f; + } + + public Size3D(Size3D a) + { + width = a.width; + height = a.height; + depth = a.depth; + } + + public float W + { + get { return width; } + set { width = value; } + } + + public float H + { + get { return height; } + set { height = value; } + } + + public float D + { + get { return depth; } + set { depth = value; } + } + + public float Width + { + get { return width; } + set { width = value; } + } + + public float Height + { + get { return height; } + set { height = value; } + } + + public float Depth + { + get { return depth; } + set { depth = value; } + } + + public float X + { + get { return width; } + set { width = value; } + } + + public float Y + { + get { return height; } + set { height = value; } + } + + public float Z + { + get { return depth; } + set { depth = value; } + } + + // User-defined conversion from Position to Vector3 + public static implicit operator Vector3(Size3D size) + { + return new Vector3(size.width, size.height, size.depth); + } + + public static implicit operator Size3D(Vector3 vec) + { + return new Size3D(vec.X, vec.Y, vec.Z); + } + + } + }