| 91 | } |
| 92 | |
| 93 | bool SpritePackerProjectFile::write(const QString &fileName) { |
| 94 | QDir dir(QFileInfo(fileName).absolutePath()); |
| 95 | QJsonObject json; |
| 96 | |
| 97 | json["algorithm"] = _algorithm; |
| 98 | json["trimMode"] = _trimMode; |
| 99 | json["trimThreshold"] = _trimThreshold; |
| 100 | json["epsilon"] = _epsilon; |
| 101 | json["heuristicMask"] = _heuristicMask; |
| 102 | json["textureBorder"] = _textureBorder; |
| 103 | json["spriteBorder"] = _spriteBorder; |
| 104 | json["imageFormat"] = imageFormatToString(_imageFormat); |
| 105 | json["pixelFormat"] = pixelFormatToString(_pixelFormat); |
| 106 | json["premultiplied"] = _premultiplied; |
| 107 | json["pngOptMode"] = _pngOptMode; |
| 108 | json["pngOptLevel"] = _pngOptLevel; |
| 109 | json["webpQuality"] = _webpQuality; |
| 110 | json["jpgQuality"] = _jpgQuality; |
| 111 | |
| 112 | QJsonArray scalingVariants; |
| 113 | for (auto scalingVariant: _scalingVariants) { |
| 114 | QJsonObject scalingVariantObject; |
| 115 | scalingVariantObject["name"] = scalingVariant.name; |
| 116 | scalingVariantObject["scale"] = scalingVariant.scale; |
| 117 | scalingVariantObject["maxTextureSize"] = scalingVariant.maxTextureSize; |
| 118 | scalingVariantObject["pow2"] = scalingVariant.pow2; |
| 119 | scalingVariantObject["forceSquared"] = scalingVariant.forceSquared; |
| 120 | scalingVariants.append(scalingVariantObject); |
| 121 | } |
| 122 | json["scalingVariants"] = scalingVariants; |
| 123 | json["dataFormat"] = _dataFormat; |
| 124 | json["destPath"] = dir.relativeFilePath(_destPath); |
| 125 | json["spriteSheetName"] = _spriteSheetName; |
| 126 | QStringList srcRelative; |
| 127 | for (auto src: _srcList) { |
| 128 | srcRelative.push_back(dir.relativeFilePath(src)); |
| 129 | } |
| 130 | json["srcList"] = QJsonArray::fromStringList(srcRelative); |
| 131 | json["trimSpriteNames"] = _trimSpriteNames; |
| 132 | json["prependSmartFolderName"] = _prependSmartFolderName; |
| 133 | json["encryptionKey"] = _encryptionKey; |
| 134 | |
| 135 | QFile file(fileName); |
| 136 | file.open(QIODevice::WriteOnly | QIODevice::Text); |
| 137 | file.write(QJsonDocument(json).toJson()); |
| 138 | |
| 139 | return true; |
| 140 | } |
| 141 | |
| 142 | bool SpritePackerProjectFileTPS::read(const QString &fileName) { |
| 143 | QDir dir(QFileInfo(fileName).absolutePath()); |
no test coverage detected