using System.Runtime.InteropServices; using UnityEngine.InputSystem.Utilities; namespace UnityEngine.InputSystem.LowLevel { /// /// Query dimensions of a device. /// /// /// This is usually used to query screen dimensions from pointer devices. /// [StructLayout(LayoutKind.Explicit, Size = kSize)] public struct QueryDimensionsCommand : IInputDeviceCommandInfo { public static FourCC Type { get { return new FourCC('D', 'I', 'M', 'S'); } } internal const int kSize = InputDeviceCommand.kBaseCommandSize + sizeof(float) * 2; [FieldOffset(0)] public InputDeviceCommand baseCommand; [FieldOffset(InputDeviceCommand.kBaseCommandSize)] public Vector2 outDimensions; public FourCC typeStatic { get { return Type; } } public static QueryDimensionsCommand Create() { return new QueryDimensionsCommand { baseCommand = new InputDeviceCommand(Type, kSize) }; } } }