public static bool UntileCopyData( Array dstArray, Array srcArray, int width, int height, TileCopyFormat dxtFormat) { Contract.Requires(width > 0); Contract.Requires(height > 0); if (EditorUtilsDLL.EntryPointsNotFound) { return(false); } if (dstArray == null || srcArray == null) { return(false); } try { if (dstArray is byte[] && srcArray is byte[]) { return(UntileCopyData((byte[])dstArray, (byte[])srcArray, width, height, dxtFormat)); } if (dstArray is short[] && srcArray is short[]) { return(UntileCopyData((short[])dstArray, (short[])srcArray, width, height, dxtFormat)); } if (dstArray is uint[] && srcArray is uint[]) { return(UntileCopyData((uint[])dstArray, (uint[])srcArray, width, height, dxtFormat)); } } catch (EntryPointNotFoundException ex) { HandleEntryPointNotFound(ex); return(false); } Phoenix.Debug.Trace.Phoenix.TraceData(System.Diagnostics.TraceEventType.Critical, TypeExtensions.kNone, "EditorUtils.UntileCopyData called with a destination and/or source array type that is not supported", dstArray.GetType(), srcArray.GetType(), dxtFormat); return(false); }
static extern bool UntileCopyData( [Out] short[] dst, [In] short[] src, int width, int height, TileCopyFormat dxtFormat);
static extern bool UntileCopyData( [Out] uint[] dst, [In] uint[] src, int width, int height, TileCopyFormat dxtFormat = TileCopyFormat.R11G11B10);
static extern bool TileCopyData( [Out] byte[] dst, [In] byte[] src, int width, int height, TileCopyFormat dxtFormat);