/* This file is part of Telegram Desktop, the official desktop application for the Telegram messaging service. For license and copyright information please follow this link: https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #include "ui/unread_badge.h" #include "dialogs/dialogs_layout.h" namespace Ui { void UnreadBadge::setText(const QString &text, bool active) { _text = text; _active = active; const auto st = Dialogs::Layout::UnreadBadgeStyle(); resize( std::max(st.font->width(text) + 2 * st.padding, st.size), st.size); update(); } int UnreadBadge::textBaseline() const { const auto st = Dialogs::Layout::UnreadBadgeStyle(); return ((st.size - st.font->height) / 2) + st.font->ascent; } void UnreadBadge::paintEvent(QPaintEvent *e) { if (_text.isEmpty()) { return; } Painter p(this); Dialogs::Layout::UnreadBadgeStyle unreadSt; unreadSt.muted = !_active; auto unreadRight = width(); auto unreadTop = 0; Dialogs::Layout::paintUnreadCount( p, _text, unreadRight, unreadTop, unreadSt); } } // namespace Ui