This repository has been archived on 2024-07-22. You can view files and clone it, but cannot push or open issues or pull requests.
Doric/doric-Qt/example/doric/utils/DoricUtils.h
2021-07-21 19:03:29 +08:00

55 lines
1.3 KiB
C++

#ifndef UTILS_H
#define UTILS_H
#include <QColor>
#include <QFile>
#include <QResource>
#include <QString>
#include <QTextStream>
#include "DoricExport.h"
class DORIC_EXPORT DoricUtils {
public:
static QString readAssetFile(QString preffix, QString assetName) {
QResource resource(":" + preffix + "/" + assetName);
QFile *file = new QFile(resource.fileName());
file->open(QFile::ReadOnly | QFile::Text);
QTextStream in(file);
in.setCodec("UTF-8");
QString content = in.readAll();
file->close();
delete file;
return content;
}
static QString readAssetFile(QString resourcePath) {
QResource resource(":" + resourcePath);
QFile *file = new QFile(resource.fileName());
file->open(QFile::ReadOnly | QFile::Text);
QTextStream in(file);
in.setCodec("UTF-8");
QString content = in.readAll();
file->close();
delete file;
return content;
}
template <typename Base, typename T>
static inline bool instanceof (const T *) {
return std::is_base_of<Base, T>::value;
}
static QColor doricColor(long colorValue) {
float a = ((colorValue >> 24) & 0xff);
float r = ((colorValue >> 16) & 0xff);
float g = ((colorValue >> 8) & 0xff);
float b = ((colorValue >> 0) & 0xff);
return QColor(r, g, b, a);
}
};
#endif // UTILS_H