Download raw (2.0 KB)
#ifndef COMMAND_H #define COMMAND_H #include <QObject> #include <QPainter> #include <QMap> #include <QString> #include <QStringList> #include <QVariantList> #include <QPainterPath> #include <QTime> #include <QImage> #include <QPointF> #include <QList> #include <QTransform> #include <QFileSystemWatcher> class Command : public QObject { Q_OBJECT enum ColorComponent { NoColorComponent, Red, Green, Blue, Hue, Saturation, Lightness }; static Command * instance; Command(); QPainter * painter; QPainterPath painterPath; QPainterPath * highlightPath; bool coordAbsolute; QTime tDbg; QList<QTransform> transforms; QFileSystemWatcher imgWatcher; QMap<QString, QImage> imgCache; bool skipImages; QMap<QString, int> commands; QMap<QString, QString> alias; bool checkVars(const QVariantList& vars); QMap<QString, double> varMap; void highlightPre(QPointF& point); void highlightPost(QPointF& point); public: static Command * getInstance(); void clearAlias(); void clearImageCache(); void setPainter(QPainter * p){painter = p;} void setPP(QPainterPath& pp){painterPath = pp;} QPainterPath& PP(){return painterPath;} double number(QVariant v) const; void setHighlightPP(QPainterPath *pp){highlightPath = pp;} void Draw(const QVariantList& vars, bool higlight = false); // void GraphicState(const QVariantList& vars); const QMap<QString, QString>& getAliases() const{return alias;} QString getFromAlias(const QString& a) const; void setAlias(const QString& key, const QString& val); void setSkipImages(bool b){skipImages = b;} void insertVar(const QString& var, double value) { varMap.insert(var, value); } void clearTrans(){transforms.clear();} QList<QTransform> getTrans(){return transforms;} void clearVars() {varMap.clear();} void resetAbsolute(){coordAbsolute = true;} void endDraw(); public slots: void updateImgCache(const QString& fn); signals: void namesChanged(); void imageChanged(); void changeSceneRect(double, double); }; #endif // COMMAND_H