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>2012-03-04 13:15:20 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:36:21 +0300
commit7beb82d0aec7bff2448c2b01b46091eeca4679ed (patch)
tree2c9d1e068d15c100221f42f1180e557270268539 /skin_generator
parent0efb895a364703a5ca596bf2af0688da53c48f74 (diff)
fixed according to the code review.
Diffstat (limited to 'skin_generator')
-rw-r--r--skin_generator/skin_generator.cpp40
-rw-r--r--skin_generator/skin_generator.hpp2
2 files changed, 24 insertions, 18 deletions
diff --git a/skin_generator/skin_generator.cpp b/skin_generator/skin_generator.cpp
index 8e57066822..20289648f2 100644
--- a/skin_generator/skin_generator.cpp
+++ b/skin_generator/skin_generator.cpp
@@ -246,31 +246,35 @@ namespace tools
size.setHeight(searchIconHeight);
}
- gil::bgra8_image_t gilImage(size.width(), size.height());
- gil::fill_pixels(gil::view(gilImage), gil::rgba8_pixel_t(0, 0, 0, 0));
- QImage img((uchar*)&gil::view(gilImage)(0, 0), size.width(), size.height(), QImage::Format_ARGB32);
- QPainter painter(&img);
+ renderIcon(symbolsDir + "/" + icon + ".svg",
+ searchIconsPath + "/" + category + ".png",
+ size);
- m_svgRenderer.render(&painter, QRect(0, 0, size.width(), size.height()));
-
- img.save((searchIconsPath + "/" + category + ".png").c_str());
-
- {
- size *= 2;
- gil::bgra8_image_t gilImage(size.width(), size.height());
- gil::fill_pixels(gil::view(gilImage), gil::rgba8_pixel_t(0, 0, 0, 0));
- QImage img((uchar*)&gil::view(gilImage)(0, 0), size.width(), size.height(), QImage::Format_ARGB32);
- QPainter painter(&img);
-
- m_svgRenderer.render(&painter, QRect(0, 0, size.width(), size.height()));
- img.save((searchIconsPath + "/" + category + "@2x.png").c_str());
- }
+ renderIcon(symbolsDir + "/" + icon + ".svg",
+ searchIconsPath + "/" + category + "@2x.png",
+ size * 2);
}
else
LOG(LERROR, ("hasn't found icon", icon, "for category", category));
};
}
+ void SkinGenerator::renderIcon(string const & svgFile,
+ string const & pngFile,
+ QSize const & size)
+ {
+ if (m_svgRenderer.load(QString(svgFile.c_str())))
+ {
+ gil::bgra8_image_t gilImage(size.width(), size.height());
+ gil::fill_pixels(gil::view(gilImage), gil::rgba8_pixel_t(0, 0, 0, 0));
+ QImage img((uchar*)&gil::view(gilImage)(0, 0), size.width(), size.height(), QImage::Format_ARGB32);
+ QPainter painter(&img);
+
+ m_svgRenderer.render(&painter, QRect(0, 0, size.width(), size.height()));
+ img.save(pngFile.c_str());
+ }
+ }
+
void SkinGenerator::processSymbols(string const & svgDataDir,
string const & skinName,
vector<QSize> const & symbolSizes,
diff --git a/skin_generator/skin_generator.hpp b/skin_generator/skin_generator.hpp
index 96e81d428c..b8efc6f33c 100644
--- a/skin_generator/skin_generator.hpp
+++ b/skin_generator/skin_generator.hpp
@@ -90,6 +90,8 @@ namespace tools
bool m_overflowDetected;
void markOverflow();
+ void renderIcon(string const & svgFile, string const & pngFile, QSize const & size);
+
public:
SkinGenerator();