#include "pixmapitem.h" #include PixmapItem::PixmapItem(QGraphicsItem *parent) : QGraphicsObject(parent), m_x(0), m_y(0) { } PixmapItem::PixmapItem(const QString &fileName, QGraphicsItem *parent) : QGraphicsObject(parent), m_x(0), m_y(0) { m_pix = ":/" + fileName; m_width = m_pix.width(); m_height = m_pix.height(); } PixmapItem::PixmapItem(const QString &fileName, QGraphicsScene *scene) : QGraphicsObject(), m_x(0), m_y(0) { m_pix = ":/" + fileName; m_width = m_pix.width(); m_height = m_pix.height(); scene->addItem(this); } PixmapItem::PixmapItem(const QPixmap &pix, QGraphicsItem *parent) : QGraphicsObject(parent), m_pix(pix), m_x(0), m_y(0) { m_width = m_pix.width(); m_height = m_pix.height(); } PixmapItem::PixmapItem(const QPixmap &pix, QGraphicsScene *scene) : QGraphicsObject(), m_pix(pix), m_x(0), m_y(0) { m_width = m_pix.width(); m_height = m_pix.height(); scene->addItem(this); } void PixmapItem::setPixmap(const QPixmap &pix) { m_pix = pix; m_width = m_pix.width(); m_height = m_pix.height(); } void PixmapItem::setSprite(int x, int y, int width, int height) { m_x = x; m_y = y; m_width = width; m_height = height; } QSizeF PixmapItem::size() const { return QSizeF(m_width, m_height); } QRectF PixmapItem::boundingRect() const { return QRectF(QPointF(0, 0), size()); } void PixmapItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *) { painter->drawPixmap(QPoint(0, 0), m_pix, QRect(m_x, m_y, m_width, m_height)); }