/* 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 */ #pragma once #include "ui/widgets/buttons.h" namespace Ui { class DynamicImage; class IconButton; } // namespace Ui namespace Dialogs { class TopBarSuggestionContent : public Ui::RippleButton { public: TopBarSuggestionContent(not_null); void setContent( TextWithEntities title, TextWithEntities description); [[nodiscard]] rpl::producer desiredHeightValue() const override; protected: void paintEvent(QPaintEvent *) override; private: void draw(QPainter &p); const style::TextStyle &_titleSt; const style::TextStyle &_contentTitleSt; const style::TextStyle &_contentTextSt; Ui::Text::String _contentTitle; Ui::Text::String _contentText; rpl::variable _lastPaintedContentLineAmount = 0; rpl::variable _lastPaintedContentTop = 0; base::unique_qptr _rightHide; std::shared_ptr _rightPhoto; QImage _rightPhotoImage; }; } // namespace Dialogs