/// <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))); }
/// <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); }
/// <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);
/// <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);
/// <summary> /// /// </summary> /// <param name="inFre"></param> /// <returns></returns> public static uint AsUInt(this FreObjectSharp inFre) => FreSharpHelper.GetAsUInt(inFre.RawValue);