- Merged QWidget and QML Qt frontends, just define QT_WIDGET to select the QWidget one

- Coded a resource package download GUI based on QWidget
- Removed compilation warning on unused variable
- Updated Maemo desktop file to start directly the binary
- Updated .pro file
- Updated version macros to be able to compose the resource package file
- Updated QML interface for Android
- Updated QML interface to not contain the name of the resource package
- Updated the file downloader class to be able to get the resource package hash from the google code server
- Updated the file downloaded class to verify the resource package hash from the remote server at each startup to be able to perform automatic update
- Defined several JGE operation as static to clean up the wagic wrapper
This commit is contained in:
Xawotihs
2012-01-15 18:50:38 +00:00
parent 9d99309b13
commit 12a431ff8c
13 changed files with 546 additions and 738 deletions
+51 -8
View File
@@ -2,8 +2,11 @@
#define COREWRAPPER_H
#include <QObject>
#include <QElapsedTimer>
#ifndef QT_WIDGET
#include <QtDeclarative>
#include <QGraphicsItem>
#endif //QT_WIDGET
#include "../include/JGE.h"
#include "../include/JTypes.h"
#include "../include/JApp.h"
@@ -11,23 +14,31 @@
#include "../include/JRenderer.h"
#include "../include/JGameLauncher.h"
#ifdef QT_WIDGET
class WagicCore : public QGLWidget
#else
class WagicCore : public QDeclarativeItem
#endif
{
private:
#ifdef QT_WIDGET
typedef QGLWidget super;
#else
typedef QDeclarativeItem super;
#endif //QT_WIDGET
public:
Q_OBJECT
Q_PROPERTY(int nominalWidth READ getNominalWidth CONSTANT)
Q_PROPERTY(int nominalHeight READ getNominalHeight CONSTANT)
Q_PROPERTY(float nominalRatio READ getNominalRatio CONSTANT)
Q_PROPERTY(bool active READ getActive WRITE setActive NOTIFY activeChanged)
public:
explicit WagicCore(QDeclarativeItem *parent = 0);
explicit WagicCore(super *parent = 0);
virtual ~WagicCore();
void initApp();
void render(){
if(m_engine)
m_engine->Render();
};
Q_INVOKABLE void doOK() {
doAndEnqueue(JGE_BTN_OK);
@@ -60,11 +71,34 @@ public:
float getNominalRatio() { return ((float)SCREEN_WIDTH / (float)SCREEN_HEIGHT);};
bool getActive() { return m_active; };
void setActive(bool active);
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
void resize ( const QRectF &rect);
void keyPressEvent(QKeyEvent *event);
void keyReleaseEvent(QKeyEvent *event);
void initializeGL();
void resizeGL(int width, int height);
void paintGL();
static char* getApplicationName() {
return JGameLauncher::GetName();
};
#ifdef QT_WIDGET
void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
void tapAndHoldTriggered(QTapAndHoldGesture* gesture);
void showEvent(QShowEvent *event);
void hideEvent(QHideEvent *event);
bool gestureEvent(QGestureEvent* event);
bool event(QEvent *event);
void wheelEvent(QWheelEvent *event);
#else
void wheelEvent ( QGraphicsSceneWheelEvent * event);
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
#endif
#ifdef QT_WIDGET
public slots:
void start(int);
#endif
signals:
void activeChanged();
@@ -90,7 +124,16 @@ private:
int m_timerId;
bool m_active;
QRect m_viewPort;
#ifdef QT_WIDGET
#if (defined Q_WS_MAEMO_5) || (defined MEEGO_EDITION_HARMATTAN) || (defined Q_WS_ANDROID)
int mMouseDownX;
int mMouseDownY;
qint64 mLastFingerDownTime;
#endif //Q_WS_MAEMO_5
#endif //QT_WIDGET
};
#ifndef QT_WIDGET
QML_DECLARE_TYPE(WagicCore)
#endif //QT_WIDGET
#endif // COREWRAPPER_H