X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=seaview.cpp;h=8b51b88bb0281c0c8419bf2d23fe83517d417d30;hb=68a2d00015d6d6d8a557de4c04d5f18ae2c22dc9;hp=1ea801b31df1be79a2617af6877859d980903f68;hpb=91fbdcfde625a51d4e0f6391b530e3bafafa8681;p=ghostsoverboard diff --git a/seaview.cpp b/seaview.cpp index 1ea801b..8b51b88 100644 --- a/seaview.cpp +++ b/seaview.cpp @@ -23,11 +23,36 @@ #include "seaview.h" #include +#include SeaView::SeaView(QWidget *parent) : QGraphicsView(parent) { + + setWindowTitle("Ghosts Overboard"); + + pScene_ = new SeaScene (); + + + setScene(pScene_); + + + connect(this,SIGNAL(screenTapped()),pScene_,SLOT(handleScreenTapped())); + connect(this,SIGNAL(goingBackgroung()),pScene_,SLOT(forcePause())); + connect(this,SIGNAL(goingForeground()),pScene_,SLOT(softContinue())); + + connect(pScene_,SIGNAL(minimizeRequested()),this,SLOT(showNormal())); + connect(pScene_,SIGNAL(fullscreenRequested()),this,SLOT(showFullScreen())); + + showFullScreen(); + + + + //the boundaries of the scene are set to match the size of the view window, which is not + //available in the constructor --> timer needed + QTimer::singleShot(100,this,SLOT(initializeBoundaries())); + } void SeaView::mousePressEvent(QMouseEvent *event) @@ -70,3 +95,26 @@ bool SeaView::event(QEvent *event) return QGraphicsView::event(event); } + + +void SeaView::initializeBoundaries() +{ + //the boundaries of the scene are set to match the size of the view window, and + //the view is set to show exactly the whole scene area + + //this occasionally gives a tiny scene, so using a fixed size fit for N900/Maemo5 until a fix is found + +// QPoint topleft (0,0); +// QSize windowsize = pView_->size(); +// QRectF rectangle (topleft,windowsize); + + QRectF rectangle(0,0,800,480); + + pScene_->setSceneRect(rectangle); + setSceneRect(rectangle); + +// qDebug() << "Initialized boundaries" << rectangle.right() << rectangle.bottom() << pView_->width() << pView_->height(); + + pScene_->restartLevel(); +} +