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