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