/* 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 class PhotoData; class DocumentData; namespace Data { struct CreditsHistoryEntry; struct CreditsHistoryMedia; } // namespace Data namespace Main { class Session; } // namespace Main namespace Ui { class MaskedInputField; class RpWidget; class VerticalLayout; using PaintRoundImageCallback = Fn; [[nodiscard]] QImage GenerateStars(int height, int count); [[nodiscard]] not_null CreateSingleStarWidget( not_null parent, int height); [[nodiscard]] not_null AddInputFieldForCredits( not_null container, rpl::producer value); PaintRoundImageCallback GenerateCreditsPaintUserpicCallback( const Data::CreditsHistoryEntry &entry); PaintRoundImageCallback GenerateCreditsPaintEntryCallback( not_null photo, Fn update); PaintRoundImageCallback GenerateCreditsPaintEntryCallback( not_null video, Fn update); PaintRoundImageCallback GenerateCreditsPaintEntryCallback( not_null session, Data::CreditsHistoryMedia media, Fn update); PaintRoundImageCallback GeneratePaidMediaPaintCallback( not_null photo, PhotoData *second, int totalCount, Fn update); Fn)> PaintPreviewCallback( not_null session, const Data::CreditsHistoryEntry &entry); [[nodiscard]] TextWithEntities GenerateEntryName( const Data::CreditsHistoryEntry &entry); Fn PaintOutlinedColoredCreditsIconCallback( int size, float64 outlineRatio); [[nodiscard]] QImage CreditsWhiteDoubledIcon(int size, float64 outlineRatio); } // namespace Ui