Sh3/grairobject.h
2025-07-02 07:45:34 +03:00

70 lines
1.7 KiB
C++

#ifndef GRAIROBJECT_H
#define GRAIROBJECT_H
#include <QGraphicsItem>
#include <QGraphicsColorizeEffect>
#include <QPainter>
#include <QPixmap>
#include <QBitmap>
#include <cmath>
enum grAirObjType {
targetUnknown=0,
targetEnemy,
targetOwn,
targetSpecial
};
class grAirObject : public QGraphicsItem
{
public:
grAirObject(QWidget *parent = 0);
QRectF boundingRect() const;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
qreal cX, cY, cH;
qreal lX, lY;
qreal v0, vX, vY;
qreal rX,rY,rH,rVx,rVy, rV0;
qreal oldLX, oldLY;
int alt, aType, gType;
QPixmap pic;
qreal scIndex;
qreal wid, hei;
bool exist;
int numb;
QGraphicsColorizeEffect *coler;
QPolygon altPoly[4];
int viewSettings;
int count;
void setCoord(qreal cx, qreal cy, qreal ch);
void setCoord(qreal cx, qreal cy);
void setSpeed(qreal vx, qreal vy);
void moveByTime(qreal time);
QPointF speeds(int d=0) { if (d) return QPointF(rVx, rVy); else return QPointF(vX, vY);}
QPointF coords(int d=0) { if (d) return QPointF(rX, rY); else return QPointF(cX, cY);}
QPointF coordsL() {return QPointF(lX, lY);} //äëÿ ãðàôèêè
void setInfoForRocket(qreal cX, qreal cY, qreal cH, qreal vx, qreal vy);
void setAType(int d);
void setGType(int d);
// void setWidth(qreal w) { if (wid!=w) {prepareGeometryChange();wid=w;}}
// void setHeight(qreal h) { if (hei!=h) {prepareGeometryChange();hei=h;}}
void setScaleIndex(qreal s);
void setNull();
public slots:
void setViewSettings(int d);
protected:
void setPic();
};
#endif // GRAIROBJECT_H