public override void InjectPointer(PointerData[] pointerData) { if (pointerData.Length > 256) { throw new ArgumentOutOfRangeException(paramName: string.Format(format: "The maximum number of simultaneous touch points is {0}.", arg0: 256U)); } if (Log.OutImplementation != null) { foreach (var pointerData1 in pointerData) { Log.Out(msg: "Inject Pointer: {0}", (object)pointerData1.ToString()); } } var pointerTouchInfo = new PointerTouchInfo[pointerData.Length]; for (var index = 0; index < pointerData.Length; ++index) { pointerTouchInfo[index] = TransformPointer(pointerData: pointerData[index], inputType: POINTER_INPUT_TYPE.TOUCH).data.touchInfo; PrunePointerFlags(pointerFlags: ref pointerTouchInfo[index].pointerInfo.pointerFlags); } if (!InternalNativeMethodsLegacy.InjectTouchInput(count: (uint)pointerTouchInfo.Length, pointerTouchInfo: pointerTouchInfo)) { throw new Win32Exception(error: Marshal.GetLastWin32Error()); } }
public InputDeviceTouchRIMLegacy() { if (!InternalNativeMethodsLegacy.InitializeTouchInjection(contactCount: 256U, visualMode: TOUCH_FEEDBACK.INDIRECT)) { throw new Win32Exception(error: Marshal.GetLastWin32Error()); } }
public override void InjectPointer(PointerData pointerData) { Log.Out(msg: "Inject Pointer: {0}", (object)pointerData.ToString()); var pointerTouchInfo = new PointerTouchInfo[1] { new PointerTypeInfo[1] { TransformPointer(pointerData: pointerData, inputType: POINTER_INPUT_TYPE.TOUCH) }[0].data.touchInfo }; PrunePointerFlags(pointerFlags: ref pointerTouchInfo[0].pointerInfo.pointerFlags); if (!InternalNativeMethodsLegacy.InjectTouchInput(count: (uint)pointerTouchInfo.Length, pointerTouchInfo: pointerTouchInfo)) { throw new Win32Exception(error: Marshal.GetLastWin32Error()); } }