#ifndef EMOTES_H #define EMOTES_H #include "concurrentmap.h" #include "messages/lazyloadedimage.h" #include "twitchemotevalue.h" #include #include namespace chatterino { class Emotes { public: static ConcurrentMap & getTwitchEmotes() { return twitchEmotes; } static ConcurrentMap & getBttvEmotes() { return bttvEmotes; } static ConcurrentMap & getFfzEmotes() { return ffzEmotes; } static ConcurrentMap & getChatterinoEmotes() { return chatterinoEmotes; } static ConcurrentMap & getBttvChannelEmoteFromCaches() { return bttvChannelEmoteFromCaches; } static ConcurrentMap & getFfzChannelEmoteFromCaches() { return ffzChannelEmoteFromCaches; } static ConcurrentMap & getTwitchEmoteFromCache() { return twitchEmoteFromCache; } static ConcurrentMap & getMiscImageFromCache() { return miscImageFromCache; } static void loadGlobalEmotes(); static messages::LazyLoadedImage *getCheerImage(long long int amount, bool animated); static messages::LazyLoadedImage *getCheerBadge(long long int amount); static messages::LazyLoadedImage *getTwitchEmoteById(const QString &name, long int id); static int getGeneration() { return generation; } static void incGeneration() { generation++; } private: Emotes(); static QString twitchEmoteTemplate; static ConcurrentMap twitchEmotes; static ConcurrentMap bttvEmotes; static ConcurrentMap ffzEmotes; static ConcurrentMap chatterinoEmotes; static ConcurrentMap bttvChannelEmoteFromCaches; static ConcurrentMap ffzChannelEmoteFromCaches; static ConcurrentMap twitchEmoteFromCache; static ConcurrentMap miscImageFromCache; static QString getTwitchEmoteLink(long id, qreal &scale); static void loadFfzEmotes(); static void loadBttvEmotes(); static int generation; }; } #endif // EMOTES_H