]> granicus.if.org Git - nethack/commitdiff
*** empty log message ***
authorjwalz <jwalz>
Sat, 5 Jan 2002 21:06:02 +0000 (21:06 +0000)
committerjwalz <jwalz>
Sat, 5 Jan 2002 21:06:02 +0000 (21:06 +0000)
win/Qt/tileedit.h [new file with mode: 0644]

diff --git a/win/Qt/tileedit.h b/win/Qt/tileedit.h
new file mode 100644 (file)
index 0000000..e3cbf9b
--- /dev/null
@@ -0,0 +1,128 @@
+/*     SCCS Id: @(#)tileedit.h 3.3     1999/11/19      */
+/* Copyright (c) Warwick Allison, 1999. */
+/* NetHack may be freely redistributed.  See license for details. */
+#ifndef QNHTILEEDIT_H
+#define QNHTILEEDIT_H
+
+#include <qtabwidget.h>
+#include <qpixmap.h>
+#include <qimage.h>
+#include <qvbox.h>
+
+class TilePickerTab : public QWidget {
+    Q_OBJECT
+public:
+    TilePickerTab(const char* basename, int id, QWidget* parent);
+
+    bool save();
+    int numTiles();
+
+signals:
+    void pick(const QImage&);
+    void pickName(const QString&);
+
+public slots:
+    void setCurrent(const QImage&);
+
+protected:
+    void paintEvent( QPaintEvent* );
+    QSize sizeHint() const;
+    void mousePressEvent(QMouseEvent*);
+
+private:
+    QString filename;
+    int id;
+    int last_pick;
+    int num;
+    QPixmap pixmap;
+    QImage image;
+};
+
+class TilePicker : public QTabWidget {
+    Q_OBJECT
+public:
+    TilePicker(QWidget* parent);
+
+    void setTile(int tilenum, const QImage&);
+
+signals:
+    void pick(const QImage&);
+    void pickName(const QString&);
+
+public slots:
+    void setCurrent(const QImage&);
+    void save();
+};
+
+class TrivialTileEditor : public QWidget {
+    Q_OBJECT
+public:
+    TrivialTileEditor( QWidget* parent );
+    const QImage& image() const;
+
+signals:
+    void edited(const QImage&);
+    void pick(QRgb);
+
+public slots:
+    void setColor(QRgb);
+    void setImage( const QImage& );
+
+protected:
+    void paintEvent( QPaintEvent* );
+    void mousePressEvent(QMouseEvent*);
+    void mouseReleaseEvent(QMouseEvent*);
+    void mouseMoveEvent(QMouseEvent*);
+    QSize sizeHint() const;
+    QSize sizeForWidth(int) const;
+    QSizePolicy sizePolicy() const;
+
+private:
+    void fill(QPainter& painter, QPoint p, uchar from);
+    QImage img;
+    QColor pen;
+    int penpixel;
+    void paintPoint(QPainter& painter, QPoint p);
+    QPoint screenPoint(QPoint) const;
+    QPoint imagePoint(QPoint) const;
+};
+
+class TilePalette : public QWidget {
+    Q_OBJECT
+public:
+    TilePalette( QWidget* parent );
+    ~TilePalette();
+    void setFromImage( const QImage& );
+protected:
+    void paintEvent( QPaintEvent* );
+    void mousePressEvent(QMouseEvent*);
+    QSize sizeHint() const;
+    QSizePolicy sizePolicy() const;
+signals:
+    void pick(QRgb);
+public slots:
+    void setColor(QRgb);
+private:
+    int num;
+    QRgb *rgb;
+};
+
+class TileEditor : public QVBox {
+    Q_OBJECT
+public:
+    TileEditor(QWidget* parent);
+
+    const QImage& image() const;
+
+signals:
+    void edited(const QImage&);
+
+public slots:
+    void edit(const QImage&);
+
+private:
+    TrivialTileEditor editor;
+    TilePalette palette;
+};
+
+#endif