/// <summary> /// Read a print pause event /// </summary> /// <param name="from">Origin</param> /// <param name="filePosition">Position at which the print has been paused</param> /// <param name="reason">Reason why the print has been paused</param> /// <returns>Number of bytes read</returns> public static int ReadPrintPaused(ReadOnlySpan <byte> from, out uint filePosition, out PrintPausedReason reason) { PrintPaused header = MemoryMarshal.Cast <byte, PrintPaused>(from)[0]; filePosition = header.FilePosition; reason = (PrintPausedReason)header.PauseReason; return(Marshal.SizeOf(header)); }
/// <summary> /// Read a print pause event /// </summary> /// <param name="from">Origin</param> /// <param name="filePosition">Position at which the print has been paused</param> /// <param name="reason">Reason why the print has been paused</param> /// <returns>Number of bytes read</returns> public static int ReadPrintPaused(ReadOnlySpan <byte> from, out uint filePosition, out PrintPausedReason reason) { PrintPausedHeader header = MemoryMarshal.Read <PrintPausedHeader>(from); filePosition = header.FilePosition; reason = (PrintPausedReason)header.PauseReason; return(Marshal.SizeOf <PrintPausedHeader>()); }