From: jwalz Date: Sat, 5 Jan 2002 21:06:02 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: MOVE2GIT~3554 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f752a442bee76915bc1daaa66fbca672fa67ce01;p=nethack *** empty log message *** --- diff --git a/win/Qt/tileedit.h b/win/Qt/tileedit.h new file mode 100644 index 000000000..e3cbf9bc6 --- /dev/null +++ b/win/Qt/tileedit.h @@ -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 +#include +#include +#include + +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