File indexing completed on 2024-04-21 04:05:21

0001 /*
0002     SPDX-FileCopyrightText: 1997 Mathias Mueller <in5y158@public.uni-hamburg.de>
0003     SPDX-FileCopyrightText: 2006 Mauricio Piacentini <mauricio@tabuleiro.com>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #ifndef KMAHJONGGTILESET_H
0009 #define KMAHJONGGTILESET_H
0010 
0011 // Qt
0012 #include <QtClassHelperMacros> // Q_DECLARE_PRIVATE
0013 #include <QPixmap>
0014 #include <QString>
0015 // Std
0016 #include <memory>
0017 
0018 // LibKMahjongg
0019 #include <libkmahjongg_export.h>
0020 
0021 class KMahjonggTilesetPrivate;
0022 
0023 /**
0024  * @class KMahjonggTileset kmahjonggtileset.h <KMahjonggTileset>
0025  *
0026  * A tile set
0027  */
0028 class LIBKMAHJONGG_EXPORT KMahjonggTileset
0029 {
0030 public:
0031     KMahjonggTileset();
0032     ~KMahjonggTileset();
0033 
0034     bool loadDefault();
0035     bool loadTileset(const QString &tilesetPath);
0036     bool loadGraphics();
0037     bool reloadTileset(QSize newTilesize);
0038     QSize preferredTileSize(QSize boardsize, int horizontalCells, int verticalCells) const;
0039 
0040     QString name() const;
0041     QString description() const;
0042     QString license() const;
0043     QString copyrightText() const;
0044     QString version() const;
0045     QString website() const;
0046     QString bugReportUrl() const;
0047     QString authorName() const;
0048     QString authorEmailAddress() const;
0049 
0050     short width() const;
0051     short height() const;
0052     short levelOffsetX() const;
0053     short levelOffsetY() const;
0054     short qWidth() const;
0055     short qHeight() const;
0056     QString path() const;
0057 
0058     QPixmap selectedTile(int num) const;
0059     QPixmap unselectedTile(int num) const;
0060     QPixmap tileface(int num) const;
0061 
0062 private:
0063     friend class KMahjonggTilesetPrivate;
0064     std::unique_ptr<KMahjonggTilesetPrivate> const d_ptr;
0065     Q_DECLARE_PRIVATE(KMahjonggTileset)
0066     Q_DISABLE_COPY(KMahjonggTileset)
0067 };
0068 
0069 #endif // KMAHJONGGTILESET_H