Пример #1
0
        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());
            }
        }
Пример #2
0
 public InputDeviceTouchRIMLegacy()
 {
     if (!InternalNativeMethodsLegacy.InitializeTouchInjection(contactCount: 256U, visualMode: TOUCH_FEEDBACK.INDIRECT))
     {
         throw new Win32Exception(error: Marshal.GetLastWin32Error());
     }
 }
Пример #3
0
        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());
            }
        }