Moved out Type of ministars from class to separated enum class.

This commit is contained in:
23rd 2025-07-02 09:55:50 +03:00
parent b0971601b1
commit f2f5ffd861
10 changed files with 23 additions and 19 deletions

View file

@ -327,7 +327,7 @@ void SendCreditsBox(
const auto ministars = box->lifetime().make_state<MiniStars>(
ministarsContainer,
false,
Ui::Premium::MiniStars::Type::BiStars);
Ui::Premium::MiniStarsType::BiStars);
ministars->setColorOverride(Ui::Premium::CreditsIconGradientStops());
ministarsContainer->paintRequest(

View file

@ -107,7 +107,7 @@ ServiceBox::ServiceBox(
if (_content->buttonMinistars()) {
_button.stars = std::make_unique<Ui::Premium::ColoredMiniStars>(
[=](const QRect &) { repaint(); },
Ui::Premium::MiniStars::Type::SlowStars);
Ui::Premium::MiniStarsType::SlowStars);
_button.lastFg = std::make_unique<QColor>();
}
}

View file

@ -99,7 +99,7 @@ ButtonPart::ButtonPart(
, _link(std::move(link))
, _stars([=](const QRect &) {
repaint();
}, Ui::Premium::MiniStars::Type::SlowStars)
}, Ui::Premium::MiniStarsType::SlowStars)
, _repaint(std::move(repaint)) {
}

View file

@ -92,7 +92,7 @@ void GiftButton::setDescriptor(const GiftDescriptor &descriptor, Mode mode) {
return;
}
auto player = base::take(_player);
const auto starsType = Ui::Premium::MiniStars::Type::SlowStars;
const auto starsType = Ui::Premium::MiniStarsType::SlowStars;
_mediaLifetime.destroy();
unsubscribe();

View file

@ -443,7 +443,7 @@ void AddMiniStars(
const auto stars = widget->lifetime().make_state<ColoredMiniStars>(
widget,
false,
Ui::Premium::MiniStars::Type::BiStars);
Ui::Premium::MiniStarsType::BiStars);
stars->setColorOverride(Ui::Premium::CreditsIconGradientStops());
widget->resize(boxWidth - photoSize, photoSize * heightRatio);
content->sizeValue(

View file

@ -14,9 +14,13 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
namespace Ui {
namespace Premium {
namespace {
using Type = MiniStarsType;
constexpr auto kDeformationMax = 0.1;
} // namespace
MiniStars::MiniStars(
Fn<void(const QRect &r)> updateCallback,
bool opaque,

View file

@ -14,19 +14,19 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
namespace Ui {
namespace Premium {
enum class MiniStarsType {
MonoStars,
BiStars,
SlowStars,
DiamondStars,
};
class MiniStars final {
public:
enum class Type {
MonoStars,
BiStars,
SlowStars,
DiamondStars,
};
MiniStars(
Fn<void(const QRect &r)> updateCallback,
bool opaque = false,
Type type = Type::MonoStars);
MiniStarsType type = MiniStarsType::MonoStars);
void paint(QPainter &p, const QRectF &rect);
void setPaused(bool paused);

View file

@ -226,7 +226,7 @@ bool CollectibleEmoji::readyInDefaultState() {
ColoredMiniStars::ColoredMiniStars(
not_null<Ui::RpWidget*> parent,
bool optimizeUpdate,
MiniStars::Type type)
MiniStarsType type)
: _ministars(
optimizeUpdate
? Fn<void(const QRect &)>([=](const QRect &r) {
@ -239,7 +239,7 @@ ColoredMiniStars::ColoredMiniStars(
ColoredMiniStars::ColoredMiniStars(
Fn<void(const QRect &)> update,
MiniStars::Type type)
MiniStarsType type)
: _ministars(update, true, type) {
}

View file

@ -25,8 +25,8 @@ public:
ColoredMiniStars(
not_null<Ui::RpWidget*> parent,
bool optimizeUpdate,
MiniStars::Type type = MiniStars::Type::MonoStars);
ColoredMiniStars(Fn<void(const QRect &)> update, MiniStars::Type type);
MiniStarsType type = MiniStarsType::MonoStars);
ColoredMiniStars(Fn<void(const QRect &)> update, MiniStarsType type);
void setSize(const QSize &size);
void setPosition(QPoint position);

View file

@ -116,8 +116,8 @@ TopBar::TopBar(
this,
descriptor.optimizeMinistars,
(_logo == u"diamond"_q)
? MiniStars::Type::DiamondStars
: MiniStars::Type::BiStars) {
? MiniStarsType::DiamondStars
: MiniStarsType::BiStars) {
std::move(
descriptor.title
) | rpl::start_with_next([=](QString text) {