diff --git a/Telegram/SourceFiles/history/view/history_view_group_call_bar.cpp b/Telegram/SourceFiles/history/view/history_view_group_call_bar.cpp index 41cf8dcd3a..75abbbd034 100644 --- a/Telegram/SourceFiles/history/view/history_view_group_call_bar.cpp +++ b/Telegram/SourceFiles/history/view/history_view_group_call_bar.cpp @@ -83,6 +83,25 @@ bool NeedRegenerateUserpics( return false; } +PreparedUserpicsInRow PrepareUserpicsInRow( + const std::vector> &peers, + const style::GroupCallUserpics &st, + int limit) { + auto rows = std::vector(); + rows.reserve(peers.size()); + for (const auto &peer : peers) { + rows.push_back({ .peer = peer }); + } + auto result = PreparedUserpicsInRow(); + if (!rows.empty()) { + GenerateUserpicsInRow(result.image, rows, st, limit); + } + result.width = result.image.isNull() + ? 0 + : (result.image.width() / style::DevicePixelRatio()); + return result; +} + rpl::producer GroupCallBarContentByCall( not_null call, int userpicSize) { diff --git a/Telegram/SourceFiles/history/view/history_view_group_call_bar.h b/Telegram/SourceFiles/history/view/history_view_group_call_bar.h index b00d94a1a6..d56a0a0c24 100644 --- a/Telegram/SourceFiles/history/view/history_view_group_call_bar.h +++ b/Telegram/SourceFiles/history/view/history_view_group_call_bar.h @@ -41,6 +41,16 @@ void GenerateUserpicsInRow( const QImage &image, const std::vector &list); +struct PreparedUserpicsInRow { + QImage image; + int width = 0; +}; + +[[nodiscard]] PreparedUserpicsInRow PrepareUserpicsInRow( + const std::vector> &peers, + const style::GroupCallUserpics &st, + int limit = 0); + [[nodiscard]] auto GroupCallBarContentByCall( not_null call, int userpicSize)