diff options
author | vng <viktor.govako@gmail.com> | 2013-05-03 23:16:25 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:54:27 +0300 |
commit | 8479287847b1df1d5906fab9bc3573d146b9527f (patch) | |
tree | 65ef6b6865101c9bd704459e868eed52bb846cbe /skin_generator | |
parent | 721e86a3c6b88a0a10e12091c3b3aa03fce4acd3 (diff) |
Increase size for "placemark-xxx" icons in skin_generator.
Diffstat (limited to 'skin_generator')
-rw-r--r-- | skin_generator/skin_generator.cpp | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/skin_generator/skin_generator.cpp b/skin_generator/skin_generator.cpp index caf402681c..db43071deb 100644 --- a/skin_generator/skin_generator.cpp +++ b/skin_generator/skin_generator.cpp @@ -283,12 +283,25 @@ namespace tools } } + void DoPatchSize(QString const & name, string const & skinName, QSize & size) + { + if (name.startsWith("placemark-") || name.startsWith("current-position")) + { + if (skinName.rfind("-mdpi") != string::npos) + size = QSize(24, 24); + else if (skinName.rfind("-hdpi") != string::npos) + size = QSize(36, 36); + else if (skinName.rfind("-xhdpi") != string::npos) + size = QSize(48, 48); + } + } + 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) + for (size_t j = 0; j < symbolSizes.size(); ++j) { QDir dir(QString(svgDataDir.c_str())); QStringList fileNames = dir.entryList(QDir::Files); @@ -297,23 +310,25 @@ namespace tools m_pages.push_back(SkinPageInfo()); SkinPageInfo & page = m_pages.back(); - QSize symbolSize = symbolSizes[i]; - page.m_dir = skinName.substr(0, skinName.find_last_of("/") + 1); - page.m_suffix = suffixes[i]; + page.m_suffix = suffixes[j]; page.m_fileName = page.m_dir + "symbols" + page.m_suffix; - for (int i = 0; i < fileNames.size(); ++i) + for (size_t i = 0; i < fileNames.size(); ++i) { - if (fileNames.at(i).endsWith(".svg")) + QString const & fileName = fileNames.at(i); + if (fileName.endsWith(".svg")) { - QString fullFileName = QString(svgDataDir.c_str()) + "/" + fileNames.at(i); - QString symbolID = fileNames.at(i).left(fileNames.at(i).lastIndexOf(".")); + QString fullFileName = QString(svgDataDir.c_str()) + "/" + fileName; + QString symbolID = fileName.left(fileName.lastIndexOf(".")); if (m_svgRenderer.load(fullFileName)) { QRect viewBox = m_svgRenderer.viewBox(); QSize defaultSize = m_svgRenderer.defaultSize(); + QSize symbolSize = symbolSizes[j]; + DoPatchSize(fileName, skinName, symbolSize); + QSize size = defaultSize * (symbolSize.width() / 24.0); /// fitting symbol into symbolSize, saving aspect ratio |