diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/src/videoplaybackcontrolstestblocks.cpp --- a/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/src/videoplaybackcontrolstestblocks.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/src/videoplaybackcontrolstestblocks.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 9 % +// Version : %version: 10 % // [INCLUDE FILES] - do not remove @@ -541,18 +541,42 @@ { MPX_DEBUG(_L("CVideoPlaybackControlsTest::TapOnScreen()")); + MPX_DEBUG(_L(" aType = %d, aPosition = (%d,%d)"), aType, aPosition.iX, aPosition.iY); + + TPoint tapPoint( aPosition ); + +#if !defined(__WINS__) + + // + // On the hardware, the window server is performing a rotation. + // This calculation will adjust the points so the same touch point is received + // on both the emulator and hardware + // + // ix = ( ScreenWidth - 1 ) - oldPosition.iY - YOffset + // I am not sure why they subtract 1 from the screen width, but they do + // The YOffset can be read from the wsini.ini file + // + // iy = oldPosition.iX + // + tapPoint.iX = ( 360 - 1 ) - aPosition.iY - 12; + tapPoint.iY = aPosition.iX; + +#endif + + MPX_DEBUG(_L(" tapPosition = (%d,%d)"), tapPoint.iX, tapPoint.iY); + TRawEvent pointer; if ( aType == TPointerEvent::EButton1Down ) { - pointer.Set( TRawEvent::EButton1Down, aPosition.iX, aPosition.iY ); + pointer.Set( TRawEvent::EButton1Down, tapPoint.iX, tapPoint.iY ); iWsSession.SimulateRawEvent( pointer ); iWsSession.Flush(); } else if ( aType == TPointerEvent::EButton1Up ) { - pointer.Set( TRawEvent::EButton1Up, aPosition.iX, aPosition.iY ); + pointer.Set( TRawEvent::EButton1Up, tapPoint.iX, tapPoint.iY ); iWsSession.SimulateRawEvent( pointer ); iWsSession.Flush();