Reuse swipe code of Android with Qt, associate "swipe left" to "other cards" in the shop.

This commit is contained in:
Xawotihs
2011-08-14 18:13:28 +00:00
parent c188b4d104
commit 2c34a88ff0
3 changed files with 14 additions and 12 deletions

View File

@@ -386,6 +386,7 @@ void JGEQtRenderer::timerEvent( QTimerEvent* )
{
if(this->isVisible()
#if (defined Q_WS_MAEMO_5) || (defined MEEGO_EDITION_HARMATTAN)
// This one is funny, this gives us 0% CPU when the app is in background for 1 line of code =)
&& this->isActiveWindow()
#endif
)
@@ -482,18 +483,8 @@ void JGEQtRenderer::mouseReleaseEvent(QMouseEvent *event)
}
}
else if (g_startTimer.elapsed() - mLastFingerDownTime >= kSwipeEventMinDuration)
{ // Swipe down is cancel or interrupt
if(abs(mMouseDownX - lastPos.x()) < kHitzonePliancy)
{
if(lastPos.y() - mMouseDownY >= kSwipeMinDistance)
{
g_engine->HoldKey_NoRepeat(JGE_BTN_SEC);
}
else if(mMouseDownY - lastPos.y()>= kSwipeMinDistance)
{
g_engine->HoldKey_NoRepeat(JGE_BTN_PREV);
}
}
{ // Let's swipe
g_engine->Scroll(lastPos.x()-mMouseDownX, lastPos.y()-mMouseDownY);
}
#else
//#if (!defined Q_WS_MAEMO_5) && (!defined MEEGO_EDITION_HARMATTAN)

View File

@@ -116,6 +116,7 @@ public:
virtual void Update(float dt);
virtual void Render();
virtual void ButtonPressed(int controllerId, int controlId);
virtual void OnScroll(int inXVelocity, int inYVelocity);
static float _x1[], _y1[], _x2[], _y2[], _x3[], _y3[], _x4[], _y4[];
};

View File

@@ -827,6 +827,16 @@ void GameStateShop::ButtonPressed(int controllerId, int controlId)
menu->Close();
}
void GameStateShop::OnScroll(int inXVelocity, int inYVelocity)
{
if (abs(inXVelocity) > 200)
{
bool flickLeft = (inXVelocity < 0);
if(!flickLeft)
mEngine->HoldKey_NoRepeat(JGE_BTN_PRI);
}
}
//ShopBooster
ShopBooster::ShopBooster()
{