credits_graphics.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*
  2. This file is part of Telegram Desktop,
  3. the official desktop application for the Telegram messaging service.
  4. For license and copyright information please follow this link:
  5. https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
  6. */
  7. #pragma once
  8. class PhotoData;
  9. class DocumentData;
  10. namespace Data {
  11. struct CreditsHistoryEntry;
  12. struct CreditsHistoryMedia;
  13. } // namespace Data
  14. namespace Main {
  15. class Session;
  16. } // namespace Main
  17. namespace Ui {
  18. class MaskedInputField;
  19. class RpWidget;
  20. class VerticalLayout;
  21. using PaintRoundImageCallback = Fn<void(
  22. Painter &p,
  23. int x,
  24. int y,
  25. int outerWidth,
  26. int size)>;
  27. [[nodiscard]] QImage GenerateStars(int height, int count);
  28. [[nodiscard]] not_null<Ui::RpWidget*> CreateSingleStarWidget(
  29. not_null<Ui::RpWidget*> parent,
  30. int height);
  31. [[nodiscard]] not_null<Ui::MaskedInputField*> AddInputFieldForCredits(
  32. not_null<Ui::VerticalLayout*> container,
  33. rpl::producer<StarsAmount> value);
  34. PaintRoundImageCallback GenerateCreditsPaintUserpicCallback(
  35. const Data::CreditsHistoryEntry &entry);
  36. PaintRoundImageCallback GenerateCreditsPaintEntryCallback(
  37. not_null<PhotoData*> photo,
  38. Fn<void()> update);
  39. PaintRoundImageCallback GenerateCreditsPaintEntryCallback(
  40. not_null<DocumentData*> video,
  41. Fn<void()> update);
  42. PaintRoundImageCallback GenerateCreditsPaintEntryCallback(
  43. not_null<Main::Session*> session,
  44. Data::CreditsHistoryMedia media,
  45. Fn<void()> update);
  46. PaintRoundImageCallback GeneratePaidMediaPaintCallback(
  47. not_null<PhotoData*> photo,
  48. PhotoData *second,
  49. int totalCount,
  50. Fn<void()> update);
  51. PaintRoundImageCallback GenerateGiftStickerUserpicCallback(
  52. not_null<Main::Session*> session,
  53. uint64 stickerId,
  54. Fn<void()> update);
  55. Fn<PaintRoundImageCallback(Fn<void()>)> PaintPreviewCallback(
  56. not_null<Main::Session*> session,
  57. const Data::CreditsHistoryEntry &entry);
  58. [[nodiscard]] TextWithEntities GenerateEntryName(
  59. const Data::CreditsHistoryEntry &entry);
  60. Fn<void(QPainter &)> PaintOutlinedColoredCreditsIconCallback(
  61. int size,
  62. float64 outlineRatio);
  63. [[nodiscard]] QImage CreditsWhiteDoubledIcon(int size, float64 outlineRatio);
  64. } // namespace Ui