diff options
author | rachytski <siarhei.rachytski@gmail.com> | 2011-11-20 16:24:19 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:28:23 +0300 |
commit | a62145cc1d2b58f020e099ce51301addfe2bfe15 (patch) | |
tree | 5ca465f27c572d871706b3fdc6a5e1cbe2801604 /skin_generator | |
parent | 47952293fa2fae0e38575a84b2664936d5409fb4 (diff) |
refactored SkinGenerator tool. updated scripts accordingly.
Diffstat (limited to 'skin_generator')
-rw-r--r-- | skin_generator/main.cpp | 11 | ||||
-rw-r--r-- | skin_generator/skin_generator.cpp | 14 | ||||
-rw-r--r-- | skin_generator/skin_generator.hpp | 5 |
3 files changed, 19 insertions, 11 deletions
diff --git a/skin_generator/main.cpp b/skin_generator/main.cpp index 4b1e182295..6530c821fb 100644 --- a/skin_generator/main.cpp +++ b/skin_generator/main.cpp @@ -13,9 +13,8 @@ DEFINE_string(symbolsFile, "../../data/results.unicode", "file with 2bytes symbo DEFINE_string(symbolsDir, "../../data/styles/symbols", "directory with svg symbol files"); DEFINE_int32(symbolWidth, 24, "width of the rendered symbol"); DEFINE_int32(symbolHeight, 24, "height of the rendered symbol"); -DEFINE_double(symbolScale, 1, "scale factor of the symbol"); -DEFINE_int32(fixedGlyphSize, 16, "height of the fixed font"); DEFINE_string(skinName, "../../data/basic", "prefix for the skin and skinImage file name"); +DEFINE_string(skinSuffix, "ldpi", "suffix for skinName<suffix>.skn and symbols<suffix>.png"); int main(int argc, char *argv[]) { @@ -27,13 +26,13 @@ int main(int argc, char *argv[]) std::vector<QSize> symbolSizes; symbolSizes.push_back(QSize(FLAGS_symbolWidth, FLAGS_symbolHeight)); - std::vector<double> symbolScales; - symbolScales.push_back(FLAGS_symbolScale); + std::vector<std::string> suffixes; + suffixes.push_back(FLAGS_skinSuffix); - gen.processSymbols(FLAGS_symbolsDir, FLAGS_skinName, symbolSizes, symbolScales); + gen.processSymbols(FLAGS_symbolsDir, FLAGS_skinName, symbolSizes, suffixes); gen.renderPages(); - gen.writeToFile(FLAGS_skinName); + gen.writeToFile(FLAGS_skinName + "_" + FLAGS_skinSuffix); return 0; } diff --git a/skin_generator/skin_generator.cpp b/skin_generator/skin_generator.cpp index 56ab063c24..67753a6d02 100644 --- a/skin_generator/skin_generator.cpp +++ b/skin_generator/skin_generator.cpp @@ -205,7 +205,10 @@ namespace tools } }; - void SkinGenerator::processSymbols(string const & svgDataDir, string const & skinName, std::vector<QSize> const & symbolSizes, std::vector<double> const & symbolScales) + void SkinGenerator::processSymbols(string const & svgDataDir, + string const & skinName, + vector<QSize> const & symbolSizes, + vector<string> const & suffixes) { for (int i = 0; i < symbolSizes.size(); ++i) { @@ -216,10 +219,9 @@ namespace tools m_pages.push_back(SkinPageInfo()); SkinPageInfo & page = m_pages.back(); - double symbolScale = symbolScales[i]; QSize symbolSize = symbolSizes[i]; - page.m_fileName = skinName.substr(0, skinName.find_last_of("/") + 1) + "symbols_" + QString("%1").arg(symbolSize.width()).toLocal8Bit().constData(); + page.m_fileName = skinName.substr(0, skinName.find_last_of("/") + 1) + "symbols_" + suffixes[i]; for (int i = 0; i < fileNames.size(); ++i) { @@ -232,7 +234,9 @@ namespace tools QRect viewBox = m_svgRenderer.viewBox(); QSize defaultSize = m_svgRenderer.defaultSize(); - QSize size = defaultSize * symbolScale; + QSize size = defaultSize * (symbolSize.width() / 24.0); + + /// fitting symbol into symbolSize, saving aspect ratio if (size.width() > symbolSize.width()) { @@ -510,6 +514,8 @@ namespace tools QFile file(QString((skinName + ".skn").c_str())); + LOG(LINFO, ("writing skin into ", skinName + ".skn")); + if (!file.open(QIODevice::ReadWrite)) throw std::exception(); QTextStream ts(&file); diff --git a/skin_generator/skin_generator.hpp b/skin_generator/skin_generator.hpp index 54e953bb2d..c0cec52a6c 100644 --- a/skin_generator/skin_generator.hpp +++ b/skin_generator/skin_generator.hpp @@ -94,7 +94,10 @@ namespace tools SkinGenerator(); void processFont(string const & fileName, string const & skinName, vector<int8_t> const & fontSizes, int symbolScale); - void processSymbols(string const & symbolsDir, string const & skinName, std::vector<QSize> const & symbolSizes, std::vector<double> const & symbolScales); + void processSymbols(string const & symbolsDir, + string const & skinName, + vector<QSize> const & symbolSizes, + vector<string> const & suffix); void renderPages(); bool writeToFile(string const & skinName); }; |