private void DecodePressAndTapGesture(ref Win32.GESTUREINFO gestureInfo) { PressAndTapGestureEventArgs args = new PressAndTapGestureEventArgs(); switch (gestureInfo.dwFlags) { case Win32.GF_BEGIN: { args.state = GestureState.Begin; } break; case Win32.GF_END: { args.state = GestureState.End; } break; } // Nothing is being done here with the ULLArguments or the gestureInfo.ptsLocation, since Microsoft's // Documentation seems to be innacurate. The docs suggest that the ptsLocation contains the // position of the first finger, and the delta between it and the second( tapped ) finger is stored in // the ULLArgument... however it specifically says that it is stored as a POINT structure in the // lower 32 bits... but a points structure is 2 ints. So either their documents are wrong or they packed // it as two shorts knowing that delta screen space coords wouldn't blow that limit. We can find this out // with some testing }
private void DecodePressAndTapGesture(ref Win32.GESTUREINFO gestureInfo) { PressAndTapGestureEventArgs args = new PressAndTapGestureEventArgs(); switch (gestureInfo.dwFlags) { case 1: args.state = GestureState.Begin; return; case 4: args.state = GestureState.End; break; } }