Making big emoji outline optional
This commit is contained in:
parent
b073e1e102
commit
7e6bc1b6b1
5 changed files with 14 additions and 12 deletions
|
|
@ -8,5 +8,6 @@
|
|||
// "semibold_is_bold": false,
|
||||
// "monospaced": "Consolas"
|
||||
// },
|
||||
// "sticker_height": 256
|
||||
// "sticker_height": 256,
|
||||
// "big_emoji_outline": true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -327,7 +327,7 @@ QImage EmojiImageLoader::prepare(EmojiPtr emoji) {
|
|||
auto tinted = QImage(
|
||||
QSize(st::largeEmojiSize, st::largeEmojiSize) * factor,
|
||||
QImage::Format_ARGB32_Premultiplied);
|
||||
tinted.fill(QColor(0, 0, 0, 0));
|
||||
tinted.fill(cBigEmojiOutline() ? Qt::white : QColor(0, 0, 0, 0));
|
||||
if (loaded) {
|
||||
QPainter p(&tinted);
|
||||
p.setCompositionMode(QPainter::CompositionMode_DestinationIn);
|
||||
|
|
|
|||
|
|
@ -158,10 +158,15 @@ bool Manager::readCustomFile() {
|
|||
const auto settingsStickerHeightIterator = settings.constFind(qsl("sticker_height"));
|
||||
if (settingsStickerHeightIterator != settingsFonts.constEnd()) {
|
||||
const auto settingsStickerHeight = (*settingsStickerHeightIterator).toInt();
|
||||
if (settingsStickerHeight > 0) {
|
||||
if (settingsStickerHeight >= 128 || settingsStickerHeight <= 256) {
|
||||
cSetStickerHeight(settingsStickerHeight);
|
||||
}
|
||||
}
|
||||
|
||||
const auto settingsBigEmojiOutlineIterator = settings.constFind(qsl("big_emoji_outline"));
|
||||
if (settingsBigEmojiOutlineIterator != settingsFonts.constEnd() && (*settingsBigEmojiOutlineIterator).isBool()) {
|
||||
cSetBigEmojiOutline((*settingsBigEmojiOutlineIterator).toBool());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -190,6 +195,7 @@ void Manager::writeDefaultFile() {
|
|||
settings.insert(qsl("fonts"), settingsFonts);
|
||||
|
||||
settings.insert(qsl("sticker_height"), cStickerHeight());
|
||||
settings.insert(qsl("big_emoji_outline"), cBigEmojiOutline());
|
||||
|
||||
auto document = QJsonDocument();
|
||||
document.setObject(settings);
|
||||
|
|
|
|||
|
|
@ -210,4 +210,5 @@ rpl::producer<> UpdatedRecentEmoji() {
|
|||
QString gMainFont, gSemiboldFont, gMonospaceFont;
|
||||
bool gSemiboldFontIsBold = false;
|
||||
|
||||
int gStickerHeight = 256;
|
||||
int gStickerHeight = 256;
|
||||
bool gBigEmojiOutline = true;
|
||||
|
|
@ -184,11 +184,5 @@ DeclareSetting(QString, SemiboldFont);
|
|||
DeclareSetting(bool, SemiboldFontIsBold);
|
||||
DeclareSetting(QString, MonospaceFont);
|
||||
|
||||
inline int cSetStickerHeight(int height) {
|
||||
gStickerHeight = (height > 256) ? 256 : (height < 128) ? 128 : height;
|
||||
}
|
||||
|
||||
inline int cStickerHeight() {
|
||||
return gStickerHeight;
|
||||
}
|
||||
|
||||
DeclareSetting(int, StickerHeight);
|
||||
DeclareSetting(bool, BigEmojiOutline);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue