Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
user_card_art_provider.h
Go to the documentation of this file.
1#ifndef COCKATRICE_USER_CARD_ART_PROVIDER_H
2#define COCKATRICE_USER_CARD_ART_PROVIDER_H
3
4#include <QList>
5#include <QMap>
6#include <QObject>
7#include <QPixmap>
8#include <QQueue>
9#include <QSet>
10#include <QString>
11#include <qtmetamacros.h>
12
13class ExactCard;
14
15class UserCardArtProvider : public QObject
16{
17 Q_OBJECT
18
19public:
20 explicit UserCardArtProvider(QObject *parent = nullptr);
21
22 void requestCardArt(const QString &userName, const QString &cardName, const QString &providerId);
23 const QMap<QString, QPixmap> &cache() const;
24 static QPixmap cropCardArt(const QPixmap &fullRes, const ExactCard &card);
25
26signals:
27 void cardArtUpdated(const QString &userName);
28
29public slots:
30 void onDatabaseReady();
31
32private:
33 bool dbReady = false;
34 static constexpr int MaxCacheEntries = 1024;
38 QQueue<QString> queue;
39
40 void processQueue();
41 void insertIntoCache(const QString &key, const QPixmap &pixmap);
42};
43
44#endif // COCKATRICE_USER_CARD_ART_PROVIDER_H
Represents a specific card instance, defined by its CardInfo and a particular printing.
Definition exact_card.h:24
Definition remote_connection_controller.h:20
Definition game.h:18
Definition dlg_manage_sets.h:29
QSet< QString > pending
Definition user_card_art_provider.h:37
QList< QString > cacheInsertionOrder
Definition user_card_art_provider.h:35
static constexpr int MaxCacheEntries
Definition user_card_art_provider.h:34
QQueue< QString > queue
Definition user_card_art_provider.h:38
QMap< QString, QPixmap > cardArtCache
Definition user_card_art_provider.h:36
const QMap< QString, QPixmap > & cache() const
Definition user_card_art_provider.cpp:43
void requestCardArt(const QString &userName, const QString &cardName, const QString &providerId)
Definition user_card_art_provider.cpp:48
static QPixmap cropCardArt(const QPixmap &fullRes, const ExactCard &card)
Definition user_card_art_provider.cpp:69
bool dbReady
Definition user_card_art_provider.h:33
void cardArtUpdated(const QString &userName)
void processQueue()
Definition user_card_art_provider.cpp:106
void insertIntoCache(const QString &key, const QPixmap &pixmap)
Definition user_card_art_provider.cpp:90
UserCardArtProvider(QObject *parent=nullptr)
Definition user_card_art_provider.cpp:27
void onDatabaseReady()
Definition user_card_art_provider.cpp:37