Files
aliendefender/aditem.h
2011-08-20 07:34:19 +04:00

39 lines
1.0 KiB
C++

#ifndef ADITEM_H
#define ADITEM_H
#include <QGraphicsItem>
class ADItem : public QGraphicsItem
{
public:
enum adType {Alien, Tower, Splash};
explicit ADItem(int id, adType type, QList<QImage *> *images, QRectF geometry = QRectF(), QGraphicsItem *parent = 0);
explicit ADItem(QPoint id, QImage * image, QRectF geometry = QRectF(), QGraphicsItem *parent = 0);
void setBarValue(float val) {barValue = val;}
void setBarVisible(bool visible = true) {hasBar = visible;}
void hideBar() {hasBar = false; setCacheMode(QGraphicsItem::ItemCoordinateCache);}
float value() {return barValue;}
bool isBarVisible() {return hasBar;}
void next(float step);
QPoint tid() {return m_tid;}
int id() {return m_id;}
adType itemType() {return m_type;}
private:
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
QRectF boundingRect() const;
QList<QImage *> * images;
QImage * img;
float anim;
adType m_type;
int m_id;
QPoint m_tid;
int animcount;
bool staticImage;
bool hasBar;
float barValue;
QRectF br;
};
#endif // ADITEM_H