예제 #1
0
        /// <summary>
        /// Initialise a System.Drawing.Color from a FREObject.
        /// </summary>
        /// <param name="inFre"></param>
        /// <param name="hasAlpha">Set to true when the AS3 uint is in ARGB format</param>
        /// <returns></returns>
        public static Color AsColor(this FREObject inFre, bool hasAlpha = false)
        {
            var rgb = FreSharpHelper.GetAsUInt(new FreObjectSharp(inFre).RawValue);

            if (hasAlpha)
            {
                return(Color.FromArgb(
                           Convert.ToByte((rgb >> 24) & 0xff),
                           Convert.ToByte((rgb >> 16) & 0xff),
                           Convert.ToByte((rgb >> 8) & 0xff),
                           Convert.ToByte((rgb >> 0) & 0xff)));
            }
            return(Color.FromArgb(
                       Convert.ToByte((rgb >> 16) & 0xff),
                       Convert.ToByte((rgb >> 8) & 0xff),
                       Convert.ToByte((rgb >> 0) & 0xff)));
        }
예제 #2
0
        /// <summary>
        /// Returns the FREArray as C# uint[].
        /// </summary>
        /// <returns></returns>
        public uint[] AsUIntArray()
        {
            var arr = new uint[Length];
            var len = Length;

            if (len <= 0)
            {
                return(arr);
            }
            for (uint i = 0; i < len; i++)
            {
                var itm = At(i);
                if (itm.Type() != FreObjectTypeSharp.Int)
                {
                    return(arr);
                }

                arr[i] = FreSharpHelper.GetAsUInt(itm);
            }

            return(arr);
        }
예제 #3
0
 /// <summary>
 /// Converts a FREObject to a C# uint
 /// </summary>
 /// <param name="inFre"></param>
 /// <returns></returns>
 public static uint AsUInt(this FREObject inFre) => FreSharpHelper.GetAsUInt(inFre);
예제 #4
0
 /// <summary>
 /// Converts a FREObject to a C# uint.
 /// </summary>
 /// <param name="freObject"></param>
 /// <returns></returns>
 public static uint AsUInt(this FREObject freObject) => FreSharpHelper.GetAsUInt(freObject);
예제 #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="inFre"></param>
 /// <returns></returns>
 public static uint AsUInt(this FreObjectSharp inFre) => FreSharpHelper.GetAsUInt(inFre.RawValue);