You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
665 B
29 lines
665 B
#pragma once |
|
|
|
#include <QString> |
|
#include <QVector> |
|
#include <QHash> |
|
|
|
enum class EmojiType { Unicode, Image, Animation }; |
|
|
|
struct EmojiData { |
|
EmojiType type = EmojiType::Unicode; |
|
QString unicode; |
|
QString shortcode; |
|
QString imagePath; |
|
QString animPath; |
|
|
|
static EmojiData unicodeEmoji(const QString &u, const QString &s); |
|
static EmojiData animatedEmoji(const QString &u, const QString &s, const QString &animPath); |
|
}; |
|
|
|
struct EmojiCategory { |
|
QString name; |
|
QVector<EmojiData> items; |
|
}; |
|
|
|
QVector<EmojiCategory> builtinEmojiSet(); |
|
|
|
extern QHash<QString, QString> g_animatedEmojiMap; |
|
|
|
int detectEmojiOnly(const QString &text);
|
|
|