Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrachytski <siarhei.rachytski@gmail.com>2011-11-20 16:24:19 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:28:23 +0300
commita62145cc1d2b58f020e099ce51301addfe2bfe15 (patch)
tree5ca465f27c572d871706b3fdc6a5e1cbe2801604 /skin_generator
parent47952293fa2fae0e38575a84b2664936d5409fb4 (diff)
refactored SkinGenerator tool. updated scripts accordingly.
Diffstat (limited to 'skin_generator')
-rw-r--r--skin_generator/main.cpp11
-rw-r--r--skin_generator/skin_generator.cpp14
-rw-r--r--skin_generator/skin_generator.hpp5
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);
};