2018-11-22 21:57:21 +01:00
|
|
|
#ifndef SPRITES_H
|
|
|
|
#define SPRITES_H
|
|
|
|
|
|
|
|
#include <QRect>
|
|
|
|
#include <QMap>
|
|
|
|
#include <QImage>
|
2018-12-07 00:50:11 +01:00
|
|
|
#include <QString>
|
|
|
|
|
|
|
|
class QJsonObject;
|
2018-11-22 21:57:21 +01:00
|
|
|
|
|
|
|
class Sprites
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
bool load(const QString &jsonFile, const QString &imageFile);
|
|
|
|
|
2018-12-05 00:03:41 +01:00
|
|
|
bool isNull() const {return _imageFile.isNull();}
|
|
|
|
QImage icon(const QString &name) const;
|
2018-11-22 21:57:21 +01:00
|
|
|
|
|
|
|
private:
|
|
|
|
class Sprite {
|
|
|
|
public:
|
|
|
|
Sprite(const QJsonObject &json);
|
2018-12-05 00:03:41 +01:00
|
|
|
|
2018-11-22 21:57:21 +01:00
|
|
|
const QRect &rect() const {return _rect;}
|
2018-12-05 00:03:41 +01:00
|
|
|
qreal pixelRatio() const {return _pixelRatio;}
|
2018-11-22 21:57:21 +01:00
|
|
|
|
|
|
|
private:
|
|
|
|
QRect _rect;
|
2018-12-05 00:03:41 +01:00
|
|
|
qreal _pixelRatio;
|
2018-11-22 21:57:21 +01:00
|
|
|
};
|
|
|
|
|
2018-12-05 00:03:41 +01:00
|
|
|
QMap<QString, Sprite> _sprites;
|
|
|
|
QString _imageFile;
|
2018-11-22 21:57:21 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // SPRITES_H
|