X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=orientationcontrolledgraphicspixmapobject.h;h=25baeb8bb5bdca8f8c07f59933d37891e9087714;hb=a0cc968103575fd4e64a4d8b080322c031b44e22;hp=22435c54bf112ac05e50eb0d1b09e78794e256a7;hpb=92e354841f1ce1f8acb5303953211c456cfcff7b;p=ghostsoverboard diff --git a/orientationcontrolledgraphicspixmapobject.h b/orientationcontrolledgraphicspixmapobject.h index 22435c5..25baeb8 100644 --- a/orientationcontrolledgraphicspixmapobject.h +++ b/orientationcontrolledgraphicspixmapobject.h @@ -1,3 +1,25 @@ +/************************************************************************** + Ghosts Overboard - a game for Maemo 5 + + Copyright (C) 2011 Heli Hyvättinen + + This file is part of Ghosts Overboard + + Ghosts Overboard is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +**************************************************************************/ + #ifndef ORIENTATIONCONTROLLEDGRAPHICSPIXMAPOBJECT_H #define ORIENTATIONCONTROLLEDGRAPHICSPIXMAPOBJECT_H @@ -11,6 +33,9 @@ QTM_USE_NAMESPACE class OrientationControlledGraphicsPixmapObject : public QObject, public QGraphicsPixmapItem { Q_OBJECT + + Q_PROPERTY(QPointF pos READ pos WRITE setPos) + public: // explicit OrientationControlledGraphicsPixmapObject(QGraphicsItem *parent = 0); explicit OrientationControlledGraphicsPixmapObject(QPixmap pixmap = 0, QGraphicsItem *parent = 0); @@ -21,23 +46,20 @@ public slots: void startMoving(); void stopMoving(); void readRotationSensor(); - void setBoundaries(QRectF boundaryrect); - /*! sets what QGraphicsItems to treat as obstacles not to move on top of - @param key The key to be used with QGraphicsItem::data() to find the correct value to compare - @param values The values received from QGraphicsItem::data() to treat as obstacles - */ - void setObstacles(int key, QList values); +protected: + /*! Returns true if the new position is to be maintained and false if a revert back to the old position is needed. + This stub always just returns true. Actual collision handling is left for subclasses to implement (by reimplementing this function). +*/ + virtual bool handleCollisions(); private: QRotationSensor rotationSensor_; - QRectF boundaryrect_; - int obstacleKey_; - QList obstacleValues_; + };