Beta version 1.4.4: Fix emoji cache.

This commit is contained in:
John Preston 2018-10-17 16:04:13 +03:00
parent c5d20a21f7
commit 19e407532b

View file

@ -24,7 +24,7 @@ constexpr auto kUniversalSize = 72;
constexpr auto kImagesPerRow = 32; constexpr auto kImagesPerRow = 32;
constexpr auto kImageRowsPerSprite = 16; constexpr auto kImageRowsPerSprite = 16;
constexpr auto kVersion = 2; constexpr auto kVersion = 3;
class UniversalImages { class UniversalImages {
public: public:
@ -216,6 +216,9 @@ QImage UniversalImages::generate(int size, int index) const {
const auto rows = RowsCount(index); const auto rows = RowsCount(index);
const auto large = kUniversalSize; const auto large = kUniversalSize;
const auto &original = _sprites[index]; const auto &original = _sprites[index];
const auto data = original.bits();
const auto stride = original.bytesPerLine();
const auto format = original.format();
auto result = QImage( auto result = QImage(
size * kImagesPerRow, size * kImagesPerRow,
size * rows, size * rows,
@ -227,11 +230,11 @@ QImage UniversalImages::generate(int size, int index) const {
for (auto y = 0; y != rows; ++y) { for (auto y = 0; y != rows; ++y) {
for (auto x = 0; x != kImagesPerRow; ++x) { for (auto x = 0; x != kImagesPerRow; ++x) {
const auto single = QImage( const auto single = QImage(
original.bits() + x * large * 4, data + (y * kImagesPerRow * large + x) * large * 4,
large, large,
large, large,
original.bytesPerLine(), stride,
original.format() format
).scaled( ).scaled(
size, size,
size, size,