summaryrefslogtreecommitdiffstats
path: root/noatun/modules/winskin/waSkinModel.h
diff options
context:
space:
mode:
Diffstat (limited to 'noatun/modules/winskin/waSkinModel.h')
-rw-r--r--noatun/modules/winskin/waSkinModel.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/noatun/modules/winskin/waSkinModel.h b/noatun/modules/winskin/waSkinModel.h
new file mode 100644
index 00000000..9447f8ae
--- /dev/null
+++ b/noatun/modules/winskin/waSkinModel.h
@@ -0,0 +1,64 @@
+/*
+ Model for winamp skins
+ Copyright (C) 1999 Martin Vogt
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation.
+
+ For more information look at the file COPYRIGHT in this package
+
+ */
+
+#ifndef __WASKINMODEL_H
+#define __WASKINMODEL_H
+
+#include <qstring.h>
+#include <qobject.h>
+#include <qdir.h>
+
+#include "waSkins.h"
+
+enum skin_models { WA_MODEL_NORMAL, WA_MODEL_WINDOWSHADE };
+
+class QChar;
+class WaSkinModel;
+extern WaSkinModel *_waskinmodel_instance;
+
+class WaSkinModel : public QObject {
+ Q_OBJECT
+
+ public:
+ WaSkinModel();
+ ~WaSkinModel();
+
+ void getDigit(char number, QPaintDevice *dest, int x, int y);
+ void getText(char text, QPaintDevice *dest, int x, int y);
+
+ void bltTo(int id, QPaintDevice *dest, int x, int y);
+ void bltTo(int id, QPaintDevice *dest, int x, int y, int argument);
+
+ void paintBackgroundTo(int mapping, QPaintDevice *dest, int x, int y);
+
+ QRect getGeometry(int id);
+ QRect getMapGeometry(int id);
+
+ bool load(QString skinDir);
+
+ void setSkinModel(skin_models new_model);
+ static WaSkinModel *instance() { return _waskinmodel_instance; }
+
+ private:
+ void resetSkinModel();
+
+ QString findFile(const QDir &dir, const QString &filename);
+ QChar deaccent(QChar input);
+
+ int getPixmap(const QDir &dir, QString fname, QPixmap * target);
+ void loadColors(const QDir &dir);
+ void loadRegion(const QDir &dir);
+
+ signals:
+ void skinChanged();
+};
+#endif