mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-09-29 09:22:18 -07:00
[Playmats] Add fixed override and configurable fallbacks to settings.
Took 29 minutes Took 43 seconds
This commit is contained in:
parent
92c8f1a1a1
commit
fa669544d3
19 changed files with 845 additions and 16 deletions
|
|
@ -1,9 +1,30 @@
|
|||
#ifndef COCKATRICE_INTERFACE_INTERFACE_SETTINGS_PROVIDER_H
|
||||
#define COCKATRICE_INTERFACE_INTERFACE_SETTINGS_PROVIDER_H
|
||||
|
||||
#include <QList>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
|
||||
/**
|
||||
* @struct StoredPlaymat
|
||||
* @brief A user-level playmat entry as stored in the settings, independent of
|
||||
* any deck. Mirrors a deck-configured playmat (card + parameters).
|
||||
*/
|
||||
struct StoredPlaymat
|
||||
{
|
||||
QString name; ///< Card name whose art is used as playmat.
|
||||
QString providerId; ///< Printing provider id (uuid); may be empty.
|
||||
double marginPctL = 0.07; ///< Left margin as fraction of card width (0.0-0.95).
|
||||
double marginPctR = 0.07; ///< Right margin as fraction of card width (0.0-0.95).
|
||||
double verticalOffset = 0.33; ///< Vertical position within card (0.0=top, 1.0=bottom).
|
||||
double zoom = 1.0; ///< Scale factor (0.1-4.0).
|
||||
|
||||
bool isEmpty() const
|
||||
{
|
||||
return name.isEmpty();
|
||||
}
|
||||
};
|
||||
|
||||
class IInterfaceSettingsProvider
|
||||
{
|
||||
public:
|
||||
|
|
@ -44,6 +65,15 @@ public:
|
|||
[[nodiscard]] virtual bool getBattlefieldFlashEnabled() const = 0;
|
||||
[[nodiscard]] virtual QStringList getUserListExpandedSections() const = 0;
|
||||
[[nodiscard]] virtual int getPlaymatVisibility() const = 0;
|
||||
|
||||
/** @brief User-level fallback playmats, used when a deck has none configured. */
|
||||
[[nodiscard]] virtual QList<StoredPlaymat> getPlaymatFallbackList() const = 0;
|
||||
|
||||
/** @brief User-level override playmat applied to all decks, or empty to disable. */
|
||||
[[nodiscard]] virtual StoredPlaymat getPlaymatOverride() const = 0;
|
||||
|
||||
/** @brief How the fallback list is consulted (0 Fixed, 1 Round-robin, 2 Random). */
|
||||
[[nodiscard]] virtual int getPlaymatFallbackMode() const = 0;
|
||||
};
|
||||
|
||||
#endif // COCKATRICE_INTERFACE_INTERFACE_SETTINGS_PROVIDER_H
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue