Final fix for maemo dependency and fix the release of keys in the Qt frontend

This commit is contained in:
Xawotihs
2010-12-18 19:37:16 +00:00
parent 9ea61766cd
commit 3459a04d2a
2 changed files with 36 additions and 71 deletions
+35 -70
View File
@@ -327,6 +327,16 @@ void JGEQtRenderer::mousePressEvent(QMouseEvent *event)
g_engine->LeftClicked((lastPos.x()*SCREEN_WIDTH)/actualWidth, (lastPos.y()*SCREEN_HEIGHT)/actualHeight); g_engine->LeftClicked((lastPos.x()*SCREEN_WIDTH)/actualWidth, (lastPos.y()*SCREEN_HEIGHT)/actualHeight);
event->accept(); event->accept();
} }
else if(event->button() == Qt::RightButton)
{ /* next phase please */
g_engine->HoldKey_NoRepeat(JGE_BTN_PREV);
event->accept();
}
else if(event->button() == Qt::MidButton)
{ /* interrupt please */
g_engine->HoldKey_NoRepeat(JGE_BTN_SEC);
event->accept();
}
else else
{ {
QGLWidget::mousePressEvent(event); QGLWidget::mousePressEvent(event);
@@ -341,12 +351,12 @@ void JGEQtRenderer::mouseReleaseEvent(QMouseEvent *event)
} }
else if(event->button() == Qt::RightButton) else if(event->button() == Qt::RightButton)
{ /* next phase please */ { /* next phase please */
g_engine->HoldKey_NoRepeat(JGE_BTN_PREV); g_engine->ReleaseKey(JGE_BTN_PREV);
event->accept(); event->accept();
} }
else if(event->button() == Qt::MidButton) else if(event->button() == Qt::MidButton)
{ /* interrupt please */ { /* interrupt please */
g_engine->HoldKey_NoRepeat(JGE_BTN_SEC); g_engine->ReleaseKey(JGE_BTN_SEC);
event->accept(); event->accept();
} }
else else
@@ -355,7 +365,6 @@ void JGEQtRenderer::mouseReleaseEvent(QMouseEvent *event)
} }
} }
void JGEQtRenderer::mouseMoveEvent(QMouseEvent *event) void JGEQtRenderer::mouseMoveEvent(QMouseEvent *event)
{ {
// this is intended to convert window coordinate into game coordinate. // this is intended to convert window coordinate into game coordinate.
@@ -367,63 +376,6 @@ void JGEQtRenderer::mouseMoveEvent(QMouseEvent *event)
event->accept(); event->accept();
} }
/*
void JGEQtRenderer::mousePressEvent(QMouseEvent *event)
{
if(event->button() == Qt::LeftButton)
{
lastPos = event->pos();
event->accept();
}
else
{
QGLWidget::mousePressEvent(event);
}
}
void JGEQtRenderer::mouseReleaseEvent(QMouseEvent *event)
{
if(event->button() == Qt::LeftButton)
{
QPoint currentPos = event->pos();
int dx = currentPos.x() - lastPos.x();
int dy = currentPos.y() - lastPos.y();
if(abs(dx) > abs(dy) && dx > 5)
{
g_engine->HoldKey_NoRepeat(JGE_BTN_RIGHT);
}
else if(abs(dx) > abs(dy) && dx < -5)
{
g_engine->HoldKey_NoRepeat(JGE_BTN_LEFT);
}
else if(abs(dx) < abs(dy) && dy < -5)
{
g_engine->HoldKey_NoRepeat(JGE_BTN_UP);
}
else if(abs(dx) < abs(dy) && dy > 5)
{
g_engine->HoldKey_NoRepeat(JGE_BTN_DOWN);
}
event->accept();
}
else if(event->button() == Qt::RightButton)
{
g_engine->HoldKey_NoRepeat(JGE_BTN_PREV);
event->accept();
}
else if(event->button() == Qt::MidButton)
{
g_engine->HoldKey_NoRepeat(JGE_BTN_SEC);
event->accept();
}
else
{
QGLWidget::mouseReleaseEvent(event);
}
}
*/
void JGEQtRenderer::mouseDoubleClickEvent(QMouseEvent *event) void JGEQtRenderer::mouseDoubleClickEvent(QMouseEvent *event)
{ {
if(event->button() == Qt::LeftButton) if(event->button() == Qt::LeftButton)
@@ -462,7 +414,6 @@ void JGEQtRenderer::wheelEvent(QWheelEvent *event)
event->accept(); event->accept();
} }
void JGEQtRenderer::keyPressEvent(QKeyEvent *event) void JGEQtRenderer::keyPressEvent(QKeyEvent *event)
{ {
switch(event->key()) switch(event->key())
@@ -488,6 +439,29 @@ void JGEQtRenderer::keyPressEvent(QKeyEvent *event)
return; return;
} }
void JGEQtRenderer::keyReleaseEvent(QKeyEvent *event)
{
switch(event->key())
{
#ifdef Q_WS_MAEMO_5
case Qt::Key_F7:
/* interrupt please */
g_engine->ReleaseKey(JGE_BTN_SEC);
break;
case Qt::Key_F8:
/* next phase please */
g_engine->ReleaseKey(JGE_BTN_PREV);
break;
#endif // Q_WS_MAEMO_5
default:
g_engine->ReleaseKey((LocalKeySym)event->key());
}
event->accept();
QWidget::keyReleaseEvent(event);
return;
}
void JGEQtRenderer::showEvent ( QShowEvent * event ) void JGEQtRenderer::showEvent ( QShowEvent * event )
{ {
if(!timerStarted) if(!timerStarted)
@@ -512,15 +486,6 @@ void JGEQtRenderer::hideEvent ( QHideEvent * event )
} }
} }
void JGEQtRenderer::keyReleaseEvent(QKeyEvent *event)
{
g_engine->ReleaseKey((LocalKeySym)event->key());
event->accept();
QWidget::keyReleaseEvent(event);
return;
}
int main(int argc, char* argv[]) int main(int argc, char* argv[])
{ {
QApplication a( argc, argv ); QApplication a( argc, argv );
+1 -1
View File
@@ -2,7 +2,7 @@ Source: wagic
Section: user/games Section: user/games
Priority: extra Priority: extra
Maintainer: xawotihs <xawotihs@gmail.com> Maintainer: xawotihs <xawotihs@gmail.com>
Build-Depends: debhelper (>= 5), libqt4-dev, zlib1g-dev Build-Depends: debhelper (>= 5), libqt4-dev, zlib1g-dev, libx11-dev, mce-dev
Standards-Version: 3.7.3 Standards-Version: 3.7.3
Homepage: http://wololo.net/wagic/ Homepage: http://wololo.net/wagic/
XSBC-Bugtracker: http://code.google.com/p/wagic/issues/list XSBC-Bugtracker: http://code.google.com/p/wagic/issues/list