sync swipe motion in deck viewer act accordingly to a swipe/pan on corresponding platform (iOS vs everything else)

This commit is contained in:
techdragon.nguyen@gmail.com
2012-01-30 10:23:40 +00:00
parent b44f3088c2
commit fb43b9012b
2 changed files with 12 additions and 2 deletions

View File

@@ -419,7 +419,7 @@ static NSString *_MY_AD_WHIRL_APPLICATION_KEY_IPAD = @"2e70e3f3da40408588b9a3170
else
{
CGPoint v2 = [panGesture velocityInView: self];
g_engine->Scroll( 0 - static_cast<int>(v2.x), 0 - static_cast<int>(v2.y));
g_engine->Scroll( static_cast<int>(v2.x), static_cast<int>(v2.y));
[self performSelector: @selector(resetInput) withObject: nil afterDelay: 0.5];
}

View File

@@ -1769,14 +1769,24 @@ void GameStateDeckViewer::ButtonPressed(int controllerId, int controlId)
}
}
/*
to keep actions consistent across the different platforms, we need to branch the way swipes are interpreted. iOS5 changes
the way a swipe moves a document on the page. swipe down is to simulate dragging the page down instead of moving down
on a page.
*/
void GameStateDeckViewer::OnScroll(int inXVelocity, int inYVelocity)
{
int magnitude = static_cast<int>( sqrtf( (float )( (inXVelocity * inXVelocity) + (inXVelocity * inXVelocity))));
bool flickHorizontal = (abs(inXVelocity) > abs(inYVelocity));
#ifdef IOS
bool flickUp = !flickHorizontal && (inYVelocity > 0) ? true : false;
bool flickRight = flickHorizontal && (inXVelocity < 0) ? true : false;
#else
bool flickUp = !flickHorizontal && (inYVelocity < 0) ? true : false;
bool flickRight = flickHorizontal && (inXVelocity > 0) ? true : false;
#endif
if (mStage == STAGE_FILTERS)
{
if (flickHorizontal)