MCPcopy Create free account
hub / github.com/amakaseev/sprite-sheet-packer / read

Method read

SpriteSheetPacker/SpritePackerProjectFile.cpp:35–91  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

33
34
35bool SpritePackerProjectFile::read(const QString &fileName) {
36 QDir dir(QFileInfo(fileName).absolutePath());
37 QFile file(fileName);
38 file.open(QIODevice::ReadOnly);
39
40 QJsonObject json = QJsonDocument::fromJson(file.readAll()).object();
41
42 if (json.isEmpty()) {
43 return false;
44 }
45
46 if (json.contains("algorithm")) _algorithm = json["algorithm"].toString();
47 if (json.contains("trimMode")) _trimMode = json["trimMode"].toString();
48 if (json.contains("trimThreshold")) _trimThreshold = json["trimThreshold"].toInt();
49 if (json.contains("epsilon")) _epsilon = json["epsilon"].toDouble();
50 if (json.contains("heuristicMask")) _heuristicMask = json["heuristicMask"].toBool();
51 if (json.contains("textureBorder")) _textureBorder = json["textureBorder"].toInt();
52 if (json.contains("spriteBorder")) _spriteBorder = json["spriteBorder"].toInt();
53 if (json.contains("imageFormat")) _imageFormat = imageFormatFromString(json["imageFormat"].toString());
54 if (json.contains("pixelFormat")) _pixelFormat = pixelFormatFromString(json["pixelFormat"].toString());
55 if (json.contains("premultiplied")) _premultiplied = json["premultiplied"].toBool();
56 if (json.contains("pngOptMode")) _pngOptMode = json["pngOptMode"].toString();
57 if (json.contains("pngOptLevel")) _pngOptLevel = json["pngOptLevel"].toInt();
58 if (json.contains("webpQuality")) _webpQuality = json["webpQuality"].toInt();
59 if (json.contains("jpgQuality")) _jpgQuality = json["jpgQuality"].toInt();
60
61 _scalingVariants.clear();
62 QJsonArray scalingVariants = json["scalingVariants"].toArray();
63 for (int i=0; i<scalingVariants.size(); ++i) {
64 QJsonObject scalingVariantObject = scalingVariants[i].toObject();
65 ScalingVariant scalingVariant;
66 scalingVariant.name = scalingVariantObject["name"].toString();
67 scalingVariant.scale = scalingVariantObject["scale"].toDouble();
68 scalingVariant.maxTextureSize = scalingVariantObject.contains("maxTextureSize")? scalingVariantObject["maxTextureSize"].toInt() : 2048;
69 scalingVariant.pow2 = scalingVariantObject.contains("pow2")? scalingVariantObject["pow2"].toBool() : false;
70 scalingVariant.forceSquared = scalingVariantObject.contains("forceSquared")? scalingVariantObject["forceSquared"].toBool() : false;
71
72 _scalingVariants.push_back(scalingVariant);
73 }
74
75 if (json.contains("dataFormat")) _dataFormat = json["dataFormat"].toString();
76 if (json.contains("destPath")) _destPath = QDir(dir.absoluteFilePath(json["destPath"].toString())).canonicalPath();
77 if (json.contains("spriteSheetName")) _spriteSheetName = json["spriteSheetName"].toString();
78
79 _srcList.clear();
80 QJsonArray srcRelative = json["srcList"].toArray();
81 for (auto src: srcRelative) {
82 _srcList.push_back(dir.absoluteFilePath(src.toString()));
83 }
84
85 if (json.contains("trimSpriteNames")) _trimSpriteNames = json["trimSpriteNames"].toBool();
86 if (json.contains("prependSmartFolderName")) _prependSmartFolderName = json["prependSmartFolderName"].toBool();
87
88 if (json.contains("encryptionKey")) _encryptionKey = json["encryptionKey"].toString();
89
90 return true;
91}
92

Callers 3

commandLineFunction · 0.80
load_fileFunction · 0.80

Calls 2

imageFormatFromStringFunction · 0.85
pixelFormatFromStringFunction · 0.85

Tested by

no test coverage detected