Document explicitly what m-prefix does to each command
[aNetHack.git] / win / Qt / tileedit.h
blob550e65e033c7994d9d5c259156ca18e93f39b86a
1 /* NetHack 3.6 tileedit.h $NHDT-Date: 1432512809 2015/05/25 00:13:29 $ $NHDT-Branch: master $:$NHDT-Revision: 1.8 $ */
2 /* Copyright (c) Warwick Allison, 1999. */
3 /* NetHack may be freely redistributed. See license for details. */
4 #ifndef QNHTILEEDIT_H
5 #define QNHTILEEDIT_H
7 #include <qtabwidget.h>
8 #include <qpixmap.h>
9 #include <qimage.h>
10 #include <qvbox.h>
12 class TilePickerTab : public QWidget
14 Q_OBJECT
15 public:
16 TilePickerTab(const char *basename, int id, QWidget *parent);
18 bool save();
19 int numTiles();
21 signals:
22 void pick(const QImage &);
23 void pickName(const QString &);
25 public slots:
26 void setCurrent(const QImage &);
28 protected:
29 void paintEvent(QPaintEvent *);
30 QSize sizeHint() const;
31 void mousePressEvent(QMouseEvent *);
33 private:
34 QString filename;
35 int id;
36 int last_pick;
37 int num;
38 QPixmap pixmap;
39 QImage image;
42 class TilePicker : public QTabWidget
44 Q_OBJECT
45 public:
46 TilePicker(QWidget *parent);
48 void setTile(int tilenum, const QImage &);
50 signals:
51 void pick(const QImage &);
52 void pickName(const QString &);
54 public slots:
55 void setCurrent(const QImage &);
56 void save();
59 class TrivialTileEditor : public QWidget
61 Q_OBJECT
62 public:
63 TrivialTileEditor(QWidget *parent);
64 const QImage &image() const;
66 signals:
67 void edited(const QImage &);
68 void pick(QRgb);
70 public slots:
71 void setColor(QRgb);
72 void setImage(const QImage &);
74 protected:
75 void paintEvent(QPaintEvent *);
76 void mousePressEvent(QMouseEvent *);
77 void mouseReleaseEvent(QMouseEvent *);
78 void mouseMoveEvent(QMouseEvent *);
79 QSize sizeHint() const;
80 QSize sizeForWidth(int) const;
81 QSizePolicy sizePolicy() const;
83 private:
84 void fill(QPainter &painter, QPoint p, uchar from);
85 QImage img;
86 QColor pen;
87 int penpixel;
88 void paintPoint(QPainter &painter, QPoint p);
89 QPoint screenPoint(QPoint) const;
90 QPoint imagePoint(QPoint) const;
93 class TilePalette : public QWidget
95 Q_OBJECT
96 public:
97 TilePalette(QWidget *parent);
98 ~TilePalette();
99 void setFromImage(const QImage &);
101 protected:
102 void paintEvent(QPaintEvent *);
103 void mousePressEvent(QMouseEvent *);
104 QSize sizeHint() const;
105 QSizePolicy sizePolicy() const;
106 signals:
107 void pick(QRgb);
108 public slots:
109 void setColor(QRgb);
111 private:
112 int num;
113 QRgb *rgb;
116 class TileEditor : public QVBox
118 Q_OBJECT
119 public:
120 TileEditor(QWidget *parent);
122 const QImage &image() const;
124 signals:
125 void edited(const QImage &);
127 public slots:
128 void edit(const QImage &);
130 private:
131 TrivialTileEditor editor;
132 TilePalette palette;
135 #endif