2018-02-17 18:54:19 -05:00
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
2018-02-20 15:09:23 -05:00
|
|
|
|
namespace Ryujinx.Core
|
2018-02-17 18:54:19 -05:00
|
|
|
|
{
|
|
|
|
|
[StructLayout(LayoutKind.Sequential, Size = 0x28)]
|
|
|
|
|
public struct HidTouchScreenHeader
|
|
|
|
|
{
|
|
|
|
|
public ulong TimestampTicks;
|
|
|
|
|
public ulong NumEntries;
|
|
|
|
|
public ulong LatestEntry;
|
|
|
|
|
public ulong MaxEntryIndex;
|
|
|
|
|
public ulong Timestamp;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[StructLayout(LayoutKind.Sequential, Size = 0x10)]
|
|
|
|
|
public struct HidTouchScreenEntryHeader
|
|
|
|
|
{
|
|
|
|
|
public ulong Timestamp;
|
|
|
|
|
public ulong NumTouches;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[StructLayout(LayoutKind.Sequential, Size = 0x28)]
|
|
|
|
|
public struct HidTouchScreenEntryTouch
|
|
|
|
|
{
|
|
|
|
|
public ulong Timestamp;
|
|
|
|
|
public uint Padding;
|
|
|
|
|
public uint TouchIndex;
|
|
|
|
|
public uint X;
|
|
|
|
|
public uint Y;
|
|
|
|
|
public uint DiameterX;
|
|
|
|
|
public uint DiameterY;
|
|
|
|
|
public uint Angle;
|
|
|
|
|
public uint Padding_2;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[StructLayout(LayoutKind.Sequential, Size = 0x298)]
|
|
|
|
|
public struct HidTouchScreenEntry
|
|
|
|
|
{
|
|
|
|
|
public HidTouchScreenEntryHeader Header;
|
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
|
|
|
|
|
public HidTouchScreenEntryTouch[] Touches;
|
|
|
|
|
public ulong Unknown;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[StructLayout(LayoutKind.Sequential, Size = 0x3000)]
|
|
|
|
|
public struct HidTouchScreen
|
|
|
|
|
{
|
|
|
|
|
public HidTouchScreenHeader Header;
|
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 17)]
|
|
|
|
|
public HidTouchScreenEntry[] Entries;
|
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x3C0)]
|
|
|
|
|
public byte[] Padding;
|
|
|
|
|
}
|
|
|
|
|
}
|