This repository has been archived on 2026-07-13. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
servicepoint-tanks/DisplayCommands/Internals/HeaderWindow.cs
2024-04-19 13:40:26 +02:00

29 lines
772 B
C#

using System.Buffers.Binary;
using System.Runtime.InteropServices;
namespace DisplayCommands.Internals;
[StructLayout(LayoutKind.Sequential, Pack = 16, Size = 10)]
internal struct HeaderWindow
{
public DisplayCommand Command;
public ushort PosX;
public ushort PosY;
public ushort Width;
public ushort Height;
public void ChangeToNetworkOrder()
{
if (!BitConverter.IsLittleEndian)
return;
Command = (DisplayCommand)BinaryPrimitives.ReverseEndianness((ushort)Command);
PosX = BinaryPrimitives.ReverseEndianness(PosX);
PosY = BinaryPrimitives.ReverseEndianness(PosY);
Width = BinaryPrimitives.ReverseEndianness(Width);
Height = BinaryPrimitives.ReverseEndianness(Height);
}
}