Fix stickers and emoji render.

This commit is contained in:
John Preston 2019-08-05 11:28:46 +01:00
parent 9da4bd671e
commit 51d350c356
2 changed files with 9 additions and 3 deletions

View File

@ -263,6 +263,7 @@ QImage EmojiImageLoader::prepare(const IsolatedEmoji &emoji) {
auto result = QImage(
CalculateSize(emoji),
QImage::Format_ARGB32_Premultiplied);
const auto factor = cIntRetinaFactor();
result.fill(Qt::transparent);
{
QPainter p(&result);
@ -275,9 +276,9 @@ QImage EmojiImageLoader::prepare(const IsolatedEmoji &emoji) {
_images->draw(
p,
single,
st::largeEmojiSize * cIntRetinaFactor(),
x,
y);
st::largeEmojiSize * factor,
x * factor,
y * factor);
x += st::largeEmojiSize + st::largeEmojiSkip;
}
}

View File

@ -14,6 +14,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "history/history_item.h"
#include "history/view/history_view_element.h"
#include "history/view/history_view_cursor_state.h"
#include "history/view/media/history_view_media_common.h"
#include "ui/image/image.h"
#include "ui/emoji_config.h"
#include "main/main_session.h"
@ -59,6 +60,10 @@ QSize Sticker::size() {
return int(size * st::maxStickerSize * zoom / kIdealStickerSize);
};
_size = QSize(convert(_size.width()), convert(_size.height()));
} else {
_size = DownscaledSize(
_size,
{ st::maxStickerSize, st::maxStickerSize });
}
return _size;
}