Support internal static custom emoji.
This commit is contained in:
parent
1ae65d2cba
commit
3c645c8ea0
2 changed files with 46 additions and 0 deletions
|
|
@ -858,4 +858,33 @@ void Object::repaint() {
|
|||
_repaint();
|
||||
}
|
||||
|
||||
Internal::Internal(QString entityData, QImage image, bool colored)
|
||||
: _entityData(std::move(entityData))
|
||||
, _image(std::move(image))
|
||||
, _colored(colored) {
|
||||
}
|
||||
|
||||
QString Internal::entityData() {
|
||||
return _entityData;
|
||||
}
|
||||
|
||||
void Internal::paint(QPainter &p, const Context &context) {
|
||||
context.internal.colorized = _colored;
|
||||
|
||||
const auto size = _image.size() / style::DevicePixelRatio();
|
||||
const auto rect = QRect(context.position, size);
|
||||
PaintScaledImage(p, rect, { &_image }, context);
|
||||
}
|
||||
|
||||
void Internal::unload() {
|
||||
}
|
||||
|
||||
bool Internal::ready() {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Internal::readyInDefaultState() {
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace Ui::CustomEmoji
|
||||
|
|
|
|||
|
|
@ -273,4 +273,21 @@ private:
|
|||
|
||||
};
|
||||
|
||||
class Internal final : public Ui::Text::CustomEmoji {
|
||||
public:
|
||||
Internal(QString entityData, QImage image, bool colored);
|
||||
|
||||
QString entityData() override;
|
||||
void paint(QPainter &p, const Context &context) override;
|
||||
void unload() override;
|
||||
bool ready() override;
|
||||
bool readyInDefaultState() override;
|
||||
|
||||
private:
|
||||
const QString _entityData;
|
||||
const QImage _image;
|
||||
const bool _colored = false;
|
||||
|
||||
};
|
||||
|
||||
} // namespace Ui::CustomEmoji
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue