diff options
author | rachytski <siarhei.rachytski@gmail.com> | 2012-03-04 13:15:20 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:36:21 +0300 |
commit | 7beb82d0aec7bff2448c2b01b46091eeca4679ed (patch) | |
tree | 2c9d1e068d15c100221f42f1180e557270268539 /skin_generator | |
parent | 0efb895a364703a5ca596bf2af0688da53c48f74 (diff) |
fixed according to the code review.
Diffstat (limited to 'skin_generator')
-rw-r--r-- | skin_generator/skin_generator.cpp | 40 | ||||
-rw-r--r-- | skin_generator/skin_generator.hpp | 2 |
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(); |